#Nyaux

1 messages ยท Page 42 of 1

molten grotto
#

you don't have to do anything on the router for that to work

flat nymph
#

My router already uses dnsmasq

surreal path
flat nymph
surreal path
#

okay i blame the way im doing the method

#

well

#

same way obos does it

flat nymph
#

print what you're giving it?

surreal path
#

kk

flat nymph
#

Ok I'm in mood of setting that up...

flat nymph
surreal path
#

how do i get uacpi to print all methods of a node

#

i will also strlen

molten grotto
#

uacpi_namespace_for_each_child with depth 1 (and type mask of UACPI_OBJECT_METHOD_BIT if you want only actual methods ig, or just UACPI_OBJECT_ANY_BIT if you want all child regardless if its a property or a method)

surreal path
#

maybe theres an invalid character?

#

okay thanks qwinci

flat nymph
#

#1236769772805554206 message

flat nymph
flat nymph
surreal path
#

uacpi

#

i swear to god

flat nymph
surreal path
#

still tho

molten grotto
#

uacpi_namespace_node_name

surreal path
#

why is it a incomplete type chat

molten grotto
#

there are accessor functions you are supposed to use

surreal path
#

oohhhh

kind root
surreal path
#

okay

kind root
#

Yes

surreal path
molten grotto
#

that's a leak of the string returned from generate path KEKW but ig it doesn't matter as its not permanent (hopefully)

surreal path
#

how do i fix that

#

wdym leak of the string

molten grotto
#

uacpi_free_absolute_path

surreal path
#

ohhhh

#

so it allocates a string

#

MY BAD

#

sorry chat

#

๐Ÿ˜ญ

molten grotto
#

yeah

#

not that it matters for this temporary code tho

finite summit
#

isn't it just uacpi_kernel_free

#

?

molten grotto
#

yes but might as well use the function made specifically for paths

surreal path
edgy pilot
flat nymph
#

I'm reading about iPXE

#

And how can I make it boot ISOs from a dir on my server

#

But I think I'll need to write a custom script or something for it to do that

#

I'm tired of having to rewrite my USB drive

molten grotto
#

I haven't bothered booting isos with pxe, I just put the raw files to a folder and as basically all of them use limine I just have a limine conf and some folders with files for different os's

flat nymph
surreal path
#

is there no methods on ec node??

flat nymph
surreal path
#

okay

#

reflash

molten grotto
#

which means it probably doesn't match anything

flat nymph
flat nymph
#

To load userspace

#

servers

surreal path
#

are there no methods

#

????

molten grotto
#

did you change the type mask

flat nymph
surreal path
#

wdym

#

the type mask is 0

molten grotto
#

yes which means it doesn't match anything lol

surreal path
#

oh

#

how do i make it match everything related to methods

molten grotto
#

you have to pass it what UACPI_OBJECT_*_BIT you want

#

there is one for actual methods for an example

#

or you can just pass UACPI_OBJECT_ANY_BIT to get everything

surreal path
#

i found it

flat nymph
#

Ok this is the last time I'm trying it

#

I have to use my laptop

surreal path
#

okay

flat nymph
#

there's like a bunch of stuff

#

Ask @kind root he has AML dump of my laptop

surreal path
#

@kind root whats going on

#

theres no _Q09 method

surreal path
flat nymph
#

Which implies USB

thorn bramble
#

usb is nice

#

or, well, at least xhci is

flat nymph
#

Since my laptop doesn't have built in ethernet

#

And my PC has 2.5G NIC

thorn bramble
#

usb networking is piss easy

flat nymph
#

But I need

#
  1. USB
  2. Networking
  3. USB network driver
thorn bramble
#

the arguably hard part here would be the network stack

#

and that probably isnt ev entoo hard

#

but it='s literally yeeting ethernet frames over a usb endpoint

#

so as i said it's REALLY easy

flat nymph
#

Is it universal?

thorn bramble
#

and xhcci is like 500 lines of code on its own

#

yeah pretty much

#

as long as your usb nic is somewhat standard

flat nymph
#

Because why do Android boxes only support some of the nics

thorn bramble
#

aka works under linux without any special setup

molten grotto
#

except with rndis you have additional headers but its still pretty easy

flat nymph
#

Like I have two USB NICs, one works on Nintendo Switch but doesn't on Xiaomi Android box, and another one is the opposite

#

I don't think it's just Linux stupidity

#

https://www.olimex.com/Products/USB-Modules/USB-GIGABIT/resources/rtl8153.pdf

The RTL8153 supports two networking configurations; ECM (Ethernet Control Model) configuration and
in-house configuration. The ECM configuration complies with CDC-ECM, and is a general Ethernet
networking model that enables network communication without installing additional vendor specific
drivers. The in-house configuration requires a vendor specific driver to support enhanced features and
optimized performance.

#

Nice

#

So I just implement USB CDC and automatically support all USB NICs?

molten grotto
#

well there is rndis which for an example a lot of slightly older phones use for usb tethering (which is basically cdc with extra headers on top)

flat nymph
#

Wait, XHCI is both USB 2.0 and 3.0? (according to chatgpt)

surreal path
tawdry mirage
flat nymph
#

Your terminal is not fullscreen

tawdry mirage
#

well, excluding usb 4 ig but that's thunderbolt in disguise meme

flat nymph
#

And I have a thunderbolt 3 laptop from 2017

tawdry mirage
#

for usb 4 ig the usb3 part of it is wired to xhci and the pcie part goes somewhere else?

flat nymph
#

And a thunderbolt 2 laptop

surreal path
#

no margin

flat nymph
surreal path
#

okkk

flat nymph
#

Give it more ram

thorn bramble
#

cdc ncm is easy too

surreal path
flat nymph
flat nymph
tawdry mirage
molten grotto
#

lol

flat nymph
#

my pc is my property

#

so not public

kind root
#

I dont have my pc rn

surreal path
tawdry mirage
#

inb4 its missing because some kernel api is unimplemented

surreal path
#

bump allocator

surreal path
tawdry mirage
#

and the evaluation for it's definition fails

surreal path
flat nymph
flat nymph
#

Which was expensive

surreal path
#

bru

#

๐Ÿ’€

#

im not gonna touch ur windows key

#

i jsut want the fuckin

#

dump about the ec

molten grotto
#

just transfer it from some garbage laptop

surreal path
# flat nymph

mr @kind root can u ask him very nicely for the dump

kind root
#

You can ask him nicely to just strip the msdm table

flat nymph
surreal path
#

yea mishkavo do that

flat nymph
kind root
flat nymph
#

Only that?

molten grotto
#

and maybe its not even there to begin with if you bought it separately

kind root
kind root
surreal path
#

inb4 @tawdry mirage i am a cookie

flat nymph
flat nymph
#

Like you can't have it and no OS

surreal path
#

(real)

surreal path
#

/j

flat nymph
surreal path
#

thanksss

#

ill run this through iasl

kind root
#

I have a pin

#

On how to use that dump

surreal path
#

where

kind root
#

In uacpi

surreal path
#

okok

plush hearth
#

How is EC stuff going

surreal path
#

we are getting closer

plush hearth
#

Have you managed to get events yet

surreal path
#

yes

plush hearth
#

Nice

#

I can test on my laptop if you want

flat nymph
#

You can also try this

surreal path
#

which table file can i find the ec methods

kind root
surreal path
plush hearth
#

Ah

#

That is an improvement

flat nymph
surreal path
finite summit
#

dsdt

surreal path
#

kk

flat nymph
#

use grep

kind root
surreal path
#

not on linux

flat nymph
#

Use WSL

surreal path
#

doesnt exist

flat nymph
#

๐Ÿ‘€

surreal path
#

very interesting i see

flat nymph
#

"pmOS works fine on my laptop"

plush hearth
kind root
surreal path
kind root
#

There are multiple ssdts tho

plush hearth
#

oh

kind root
#

U can look at those

plush hearth
#

I know my laptop has 12 AML blobs

kind root
#

Yeah 1 dsdt and 11 ssdts

#

Ls /sys/firmware/acpi/tables

surreal path
#

soooo

#

is _Q09 supposed to be in the dsdt

kind root
surreal path
#

kkk

kind root
plush hearth
#

even if it supposed to be, doesn't mean the firmware dev put it there

flat nymph
#

@plush hearth if you're in mood for testing stuff, could you also try pmOS?

plush hearth
#

Can you send an ISO

#

oh nvm

surreal path
#

can u test nyaux first

#

@kind root ive checked all ssdts

#

no _Q09

kind root
#

Yeah bogus number then

surreal path
#

lets just have frosty test it

#

if its also bogus

#

problem with my code

#

if not

#

thats an issue to investigate

plush hearth
#

ending with a panic

surreal path
#

whats the panic

#

tell me

plush hearth
#

"failed to evaulate aml because of not found" (that is not how you spell evaluate)

flat nymph
#

๐Ÿ’€

surreal path
#

๐Ÿ’€

#

what was the method

plush hearth
#

A lot got printed, but the last was \_SB_.PCI0.LPCB.EC0_.HWNP

surreal path
#

no i mean

plush hearth
#

panic doesn't say

surreal path
#

method im trying to give bro

plush hearth
#

I didn't see it

#

must of scrolled it off the screen

surreal path
#

i see

plush hearth
#

maybe if you disable the printing of node found in ec_node, name is ...

#

then I should be able to see it

surreal path
#

i js did

plush hearth
#

ok

#
got ec event
in eccoolnes: ec status reg: 101000
in ec_querytime: ec status reg: 11000
attempting to handle ec eml
method im trying to give bro: _Q25, length is 4
failed to evaulate aml because of not found
NYAUX Panic! Reason: failed
surreal path
#

i see

kind root
#

Nyaux always gets non existent numbers ๐Ÿ’€

plush hearth
#

oh, there was some unimplemented errors from uacpi

surreal path
plush hearth
#
uacpi called kernel schedule work
uacpi: unable to schedule GPE(0F) for execution: unimplemented
surreal path
#

when did i call schedule work

#

huh

kind root
#

Thats a different type of event

plush hearth
#

attempting to execute uacpi irq method

surreal path
kind root
#

Exactly why u should implement it

surreal path
#

ill js

#

run the executed thing

#

that it wants to schedule

kind root
#

Yeah

surreal path
#

not in my scheduler

#

ill js straight up run it

flat nymph
#

Does pmOS work? pepepray

plush hearth
surreal path
finite summit
plush hearth
#

thanks

finite summit
#

it's 9M now because it has mlibc ๐Ÿ˜Ž

plush hearth
finite summit
#

try power button

plush hearth
finite summit
#

in pmos

plush hearth
#

power button causes the laptop to turn off instantly, which means that it is not in acpi mode

finite summit
#

yeah he should have a three-second timeout

#

iirc

kind root
#

Yeah

finite summit
#

he said that "there should be a three second timeout then it shuts down"

kind root
#

How is pmos so skill issued with framebuffers

finite summit
#

for every hobby os, there is a curse

plush hearth
#

my laptop is weird with its framebuffer

kind root
#

Nah its a theme with pmos

finite summit
#

^

flat nymph
#

It has been broken on 3 or 4 laptops

#

All of which are not mine

#

I'm hoping it will get fixed when uDRM drops

plush hearth
#

OBOS gets stuck after printing about running as uniprocessor

flat nymph
#

What's your GPU?

#

Also, I had an older image which had framebuffer in kernel

plush hearth
#

does print the correct CPU model name though

flat nymph
#

My intel UHD laptop died ๐Ÿ˜ฆ

finite summit
plush hearth
#

power button is instant shutdown

#

which means no ACPI mode

flat nymph
plush hearth
flat nymph
#

It doesn't have userspace framebuffer at all

#

But does have the kernel one

surreal path
flat nymph
#

For some reason, my fork isn't working on RISC-V with recent commits, because the stuff is calling exit with random error codes

#

Maybe it's the same problem

plush hearth
flat nymph
#

Does you PC have PIC?

plush hearth
#

idk

flat nymph
#

I'm just assuming it

surreal path
flat nymph
plush hearth
surreal path
#

^^

flat nymph
#

It probably doesn't

#

That's fun

#

Time has come to implement other calibration mechanisms

plush hearth
#

because I think it doesn't

#

not properly anyway

flat nymph
#

Yeah

#

That

plush hearth
#

or invariant TSC

flat nymph
#

I'm only using it for LAPIC calibration

plush hearth
flat nymph
#

It's something that I wrote two years ago and didn't touch since then

plush hearth
#

probably battery related

surreal path
plush hearth
#

yes

surreal path
#

logs

#

what itd panic about same thing? no more unimpl'd stuff tho right?

plush hearth
#

same as before, except no uacpi complaints

flat nymph
#

Since it's a newer laptop, I think I can use LAPIC frequency MSR...

surreal path
#

ill try mishkavos way of extracting the query method

flat nymph
#

Just stolen from managram KEKW

surreal path
flat nymph
#

Though it should be the same as sprintf

plush hearth
flat nymph
#

Unless the implementation is broken

surreal path
plush hearth
surreal path
flat nymph
#

How do I calibrate against TSC?

surreal path
#

try this

plush hearth
surreal path
#

its good dw

#

just try the iso

plush hearth
#

same

surreal path
#

damn

#

that is so fucking weird

plush hearth
#

it prints _Q25, which I have confirmed is not in the dsdt or ssdts

tawdry mirage
#

what's the current iso

plush hearth
surreal path
#

this

#

show these 2 logs pls

tawdry mirage
#

need a little break from procrastinating on writing php

surreal path
#

fair

tawdry mirage
#

so i'll test nyaux

surreal path
#

๐Ÿ˜ญ

plush hearth
#

idx 37, method num 36 from ec

surreal path
#

interesting

flat nymph
#

Bruh Linux TSC calibration stuff is horrible

plush hearth
tawdry mirage
surreal path
#

seems like something happened

#

between that

#

will add another print

#

let me know of that log

tawdry mirage
#

_Q03 does not exist on my laptop

plush hearth
surreal path
#

0???

#

oh wait 0 makes sense

plush hearth
#

yep

surreal path
#

i just realized why

#

I PUT THE FUCKING GPE IDX

#

IN THE EVULATE METHOD

#

try now should work

plush hearth
flat nymph
tawdry mirage
surreal path
plush hearth
surreal path
#

oh damn

plush hearth
#

I'll see if my laptops AML has _Q24

#

it does not

surreal path
#

that should be correct

plush hearth
tawdry mirage
#

seems to work, i pressed the brightness up key combo and it triggered the notification for it

#

but it works only once, no notifies happen after that

surreal path
#

okay thats cool

#

i see.

#

should i do a renable after i handle a ec event

#

i think i need to

#

yea that makes sense

surreal path
#

wtf

#

reflash and try

tawdry mirage
#

still stuck after one query

surreal path
surreal path
tawdry mirage
#

lets see what is _Q8A

finite summit
#

it's handled automatically

surreal path
#

oh

plush hearth
surreal path
#

thats good

#

but its stuck after one query right

plush hearth
#

yeah

surreal path
#

i see

flat nymph
surreal path
#

now

#

if i was uacpi

#

why would i get stuck

#

i will enable trace

finite summit
#

because you forgot to send an eoi

#

try that

surreal path
#

wait ur supposed to send an eoi to the ec???

finite summit
#

no

#

but if you don't send it to the lapic

#

you won't get interrupts after that one

#

(you knew that, right?)

surreal path
#

oh yeha

surreal path
#

my bad

#

now i send an eoi

flat nymph
#

Oh god, C++

surreal path
tawdry mirage
surreal path
#

๐Ÿ’€

tawdry mirage
#

but for some reason it did not fire the notification

flat nymph
#

(\s)

surreal path
plush hearth
surreal path
#

it SHOULD fire now

surreal path
plush hearth
#

I'll try take a photo

surreal path
#

okok

#

thats crazy

tawdry mirage
#

btw @kind root you were wondering what Notify(\_TZ_.THRM, 0x80) was, and apparently it's the temperature change notification for thermal zones

surreal path
#

all at the same time

molten grotto
#

@tawdry mirage btw do you mind testing my kernel at some point too? KEKW mostly to just see if the ec + power button works on qacpi, didn't it have some issues on uacpi or am I misremembering infy saying something about that?

tawdry mirage
#

Thermal zone-wide temperature sensor hardware that supports asynchronous temperature change notifications does so using an SCI. The AML code that responds to this SCI must execute a Notify(thermal_zone, 0x80) statement to inform OSPM that a meaningful change in temperature has occurred. Alternatively, devices with embedded temperature sensors may signal their associated device drivers and the drivers may use an OS-specific interface to signal OSPMโ€™s thermal policy driver. A device driver may also invoke a device specific control method that executes a Notify(thermal_zone, 0x80) statement.

tawdry mirage
surreal path
plush hearth
molten grotto
surreal path
#

bro i didnt fucking disappear

flat nymph
tawdry mirage
#

he has a driver for it in pmos

surreal path
tawdry mirage
#

i'd guess its the same on most new amd laptops?

surreal path
#

can u test ur laptop qookie

plush hearth
flat nymph
#

Idk I only have one

flat nymph
surreal path
#

how did i ghost the EC

#

left the EC on read

molten grotto
#

my aml interpreter written in c++

plush hearth
flat nymph
#

Wow, that's cool I guess

flat nymph
tawdry mirage
#

i'd guess on a write to ec ram

surreal path
#

whats exactly happening

plush hearth
flat nymph
tawdry mirage
# surreal path explain

your code prints that it's invoking _Q8A but the notification that the aml method does never happens, and the aml looks like this ```
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
Field (ERAM, ByteAcc, Lock, Preserve)
{
...
Offset (0x4E),
LIDE, 1,
Offset (0x52),
LIDS, 1,
...
}
...
Method (_Q8A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
LIDE = Zero
Notify (LID, 0x80) // Status Change
}

#

so i am assuming it's stuck on LIDE = Zero

#

so on an ec write (or read)

#

the notification never happens and no events happen after it

flat nymph
edgy pilot
#

haven't needed it yet

#

I'll write that single function whenever I get around to making a scheduler

flat nymph
#

What do you do in QEMU with no tsc invariant bit?

edgy pilot
#

kvm timer, hpet or pit

#

or acpi pmtimer

flat nymph
#

But what do you use for scheduling?

edgy pilot
flat nymph
#

Oh

surreal path
#

???

surreal path
#

runs on a lot of hw now

plush hearth
surreal path
#

im trying my best to make nyaux stable

surreal path
#

ive installed the address space handler

edgy pilot
#

is lapic timer frequency the same as invariant tsc one

surreal path
#

it should be able

plush hearth
#

idk

flat nymph
edgy pilot
#

could be tbh

flat nymph
#

At least in QEMU

plush hearth
surreal path
#

does anyone have the slightest idea why its stuck at lide 0

flat nymph
surreal path
#

@tawdry mirage after it gets "stuck" with the lid close event, does it still print birghtness change events

flat nymph
#

and write

surreal path
surreal path
tawdry mirage
#

it only prints your message, nothing from uacpi

tawdry mirage
surreal path
#

hold on ill put prints

#

SORRY QWINCI ACCIDENTAL PING

#

@tawdry mirage

kind root
surreal path
#

??

kind root
#

I guess u aren't

surreal path
#

no?

silver yarrow
#

lol

kind root
#

Show your submodule git log

surreal path
#

kk

#

(how do i do that)

kind root
#

CD there and type git log or show

tawdry mirage
surreal path
surreal path
kind root
surreal path
kind root
#

Git pull

surreal path
#

k

#

done

#

will run it in a few

#

currentl;y playing roblox lol

kind root
# tawdry mirage

I mean I would expect it to die tbh, because he evaluates callbacks right away in an irq handler without scheduling them

#

If they do anything non trivial he will go up in flames

surreal path
#

what do u want me to use my scheduler or smt

silver yarrow
kind root
surreal path
tawdry mirage
surreal path
#

make clean solves nothing

tawdry mirage
#

oh yeah i should update uacpi in managarm

kind root
#

So it hangs obviously

thorn bramble
silver yarrow
#

lol

thorn bramble
#

reading with comprehension left the chat

tawdry mirage
surreal path
#

hold on im playing roblox

tawdry mirage
#

like brightness up/down

kind root
tawdry mirage
#

hm now i wonder if LIDE = Zero is what turns off the backlight or something

kind root
#

Just a guess

tawdry mirage
#

LIDE is a register in the ec ram

kind root
#

Where does lid read its current status from?

#

If u look at the lid object

tawdry mirage
#

LIDS

#

which is a few bits after LIDE

kind root
#

Interesting

tawdry mirage
#

LIDS is also from ec ram and is never written to in aml

kind root
#

Yeah who knows what that black box does lmao

tawdry mirage
#

wonder if i could extract the ec firmware from the bios update

#

and disassemble it

kind root
#

Usually they do bytes

tawdry mirage
kind root
#

Never seen that, cool

tawdry mirage
#

there are bytes too

#

and one 256 bit field

kind root
#

Is it preserve id hope?

tawdry mirage
#

yeah the ec ram field is Preserve

kind root
#

Makes sense

kind root
#

Whats it called

tawdry mirage
#

SMD0

kind root
#

System management data?

surreal path
#

does uacpi scheduling require things like

#

thread blocking

#

??

tawdry mirage
#

SMRD and SMWR methods

#

SMRD is called from ```
Method (GBIF, 1, NotSerialized)
{
Debug = "HP WMI Command 0x7 (BIOS Read)"

#

SMWR is never called

kind root
#

Oh yeah looks like its indeed system management stuff

flat nymph
kind root
#

What else would bios read mean

surreal path
#

but i mean

#

thread blocking

#

how

#

do i need it

#

for uacp

#

upaci

#

uacpi*

kind root
tawdry mirage
#

hm SMRD is also called from a method that's called from _BIX

#

which is battery information extended

kind root
#

Ye

flat nymph
kind root
#

Interesting

tawdry mirage
#

and if it doesn't go into the method that talks to the EC it returns static data instead: ```

        Method (IVBX, 0, NotSerialized)
        {
            PBIX [0x02] = Ones
            PBIX [0x03] = Ones
            PBIX [0x05] = Ones
            PBIX [0x06] = 0x19B4
            PBIX [0x07] = 0x1086
            PBIX [0x08] = 0x01A7
            PBIX [0x09] = 0x75
            PBIX [0x0A] = Ones
            PBIX [0x0C] = Ones
            PBIX [0x0D] = Ones
            PBIX [0x10] = "Bad"
            PBIX [0x11] = "      "
            PBIX [0x12] = "Bad"
            PBIX [0x13] = "Bad"
        }
surreal path
#

do i need to cast device

surreal path
#

im scared

surreal path
flat nymph
#

Bruh

#

Have a queue

#

And a counter

surreal path
#

i have a queue

flat nymph
#

Slap a spinlock on it

tawdry mirage
#

yeah it calls SMRD then based on the data from that it fills in the fields

kind root
#

Thanks firmware devs

surreal path
#

where the queue is?

flat nymph
#

Yes

surreal path
#

like

flat nymph
#

That is your mutex

surreal path
#

a number

#

oh

flat nymph
#

Yes

surreal path
#

u mean a spinlock

flat nymph
#

A number

#

No

tawdry mirage
#

hmm i still have all the crap the bios updater dumped in the efi system partition

flat nymph
#

A number protected by spinlock

surreal path
#

okay

kind root
surreal path
#

and what do i do

#

if i want to block a thread

flat nymph
#

If number++ == 0 you take the lock

#

If it's not, you push the thread onto the lock and schedule another one

tawdry mirage
kind root
#

Nice

surreal path
flat nymph
flat nymph
surreal path
tawdry mirage
surreal path
#

what is that

flat nymph
#

Or not pthread

#

Just kernel mutex idk

surreal path
#

like what is device

#

why is it a handle now

elder shoal
#

you decide what it is

#

in my impl for pci open I literally just malloc some memory and memcpy the address there (too lazy to do anything else)

surreal path
#

so now i cant even get the bus device or function

flat nymph
elder shoal
surreal path
flat nymph
#

If you're going to RISC-V, then you have to support ecam

#

It's the same as on x86

#

Like exactly

surreal path
#

please dont through things on me i dont understand yet

#

and are far off

#

im just trying to get by with fixing this ec driver already

#

๐Ÿ˜ญ

flat nymph
#

Alternatively, call sched yield in your spinlocks

surreal path
#

i dont understand

#

just

#

let me fix my uacpi kernel api first

flat nymph
#

Like idk have kernel threads that run kernel code instead of user code

surreal path
#

i already have that

flat nymph
#

That's giving it a different return_to_user function

#

Oh

surreal path
flat nymph
#

Then use that to service interrupts?

surreal path
#

for now let me hyper focus for a bit

#

lol

flat nymph
surreal path
#

yea i still dont understand this very well

#

but ill ask about it later

#

dw

tawdry mirage
flat nymph
tawdry mirage
#

yes

kind root
#

Nice

tawdry mirage
#

graciously left behind by the bios updater in \EFI\HP\BIOS\Current

#

on the esp

flat nymph
kind root
#

Steam deck has an open source ec controller but I tried reading the source and understood absolutely nothing

kind root
#

Hmm it may be a fork on valves github

surreal path
#

INVALID STAUTS??

#

i return

elder shoal
#

did you return something bad

surreal path
#

status ok

#

no

surreal path
kind root
#

Attach is open()

#

Not read and write

surreal path
#

oh

#

that makes sense

#

hold ojn

thorn bramble
#

did bro not implement pci_open_device โ˜ ๏ธ

surreal path
#

owrks now

surreal path
#

this isnt even a comeback

#

i was also sad all day

#

lol

thorn bramble
#

show open_device

tawdry mirage
surreal path
tawdry mirage
#

A/B partitioning but for bios updates?

thorn bramble
#

how is that supposed to work

surreal path
#

wdym

kind root
#

What the fucj

thorn bramble
#

๐Ÿ˜ญ

kind root
#

Bro like

surreal path
#

what am i supposed to do

#

explain to me

thorn bramble
#

like

#

use the address

kind root
#

The address variable

thorn bramble
#

uacpi asks u to open...

kind root
#

Is given to you for a reason

surreal path
#

oh wait

#

๐Ÿ’€

thorn bramble
#

guys why my ec driver no work

surreal path
#

okay chill chill

#

sorry

#

ill try to complain less about smal lthings

#

i didnt notice

kind root
#

How do u write code that u miss stuff like that ๐Ÿ’€

surreal path
#

okay

kind root
#

Enable unused parameter warnings at least

surreal path
#

chill guys chill please

#

it is enabled

#

i must have missed the warning

kind root
#

Make warnings generate errors

surreal path
#

im sorry

#

okay

#

okay

kind root
#

-Werror

surreal path
#

-Werror right?

thorn bramble
#

why is bro apologizing

#

yes

kind root
#

Yeah

broken depot
# surreal path what am i supposed to do

Not having gotten quite to this point yet myself, I assume this is supposed to be something along the lines of getting a handle to the PCI configuration space?

surreal path
kind root
surreal path
#

like i feel yall are mad at me yk

thorn bramble
#

not me at least

#

this is fun

surreal path
#

fun? wdym

kind root
#

Nah why would I be mad lmao

surreal path
#

okay

surreal path
#

okay this makes sense

thorn bramble
#

noooooooooooooooooooooothrgyfn

#

wtf lmao

broken depot
#

I don't know what the segment number in the PCI address is supposed to be though.

kind root
#

U cant be serious

thorn bramble
#

literally

surreal path
#

wait

thorn bramble
#

it's how you address pci devices

surreal path
#

im stupid sorry

#

please dont roast me

#

okay

kind root
surreal path
#

i just realized what i did wrong

broken depot
#

Wait is segment number something that doesn't apply to PCIe?

tawdry mirage
thorn bramble
#

oh NO

surreal path
#

much much better

kind root
#

Its part of the pcie spec

thorn bramble
#

ye that's better

kind root
surreal path
#

thanks

surreal path
supple robin
thorn bramble
#

the ec will now personally thank you

surreal path
#

real

broken depot
#

I'm going to have to look up what the segment number is, then.

tawdry mirage
#

lmao ```
system cannot recover from this point, brick it

surreal path
#

ran fine

supple robin
kind root
surreal path
thorn bramble
#

you need to use ecam to address segment != 0 tho, right

surreal path
#

now

#

i need to learn

elder shoal
surreal path
broken depot
thorn bramble
#

no way to address it using the funny 0xcf? io ports

kind root
broken depot
thorn bramble
kind root
surreal path
#

how do i enable this

supple robin
thorn bramble
#

you dont enable it

#

it's pci config space but memory mapped

finite summit
#

this is one of those moments where I mute the thread

broken depot
finite summit
#

until he fixes the bug

kind root
supple robin
plush hearth
surreal path
thorn bramble
#

yeha probably

surreal path
#

dw

thorn bramble
#

my bad

plush hearth
#

madt is APIC stuff

kind root
#

Aml also has the _CBA method to get ecam base

#

Which qemu ships

surreal path
thorn bramble
#

is that better to use than getting it from the mcfg?

kind root
thorn bramble
#

also what is that aml method located on

broken depot
thorn bramble
#

on a pci bus? or a controller?

#

or smth

kind root
kind root
thorn bramble
#

fair

tawdry mirage
#

ig if you're finding root buses via aml you might as well run _CBA on it

elder shoal
#

yeah

kind root
tawdry mirage
#

or you could just say you CBA to do it

elder shoal
#

once I get around to doing my device stuff I will just enumerate everything from acpi downwards

thorn bramble
#

lmao

thorn bramble
#

i wanna do that but

kind root
thorn bramble
#

kernel not advanced enough

flat nymph
surreal path
plush hearth
#

this thread has ~41800 messages

tawdry mirage
#

sad, no one took note of the can't be arsed joke

surreal path
#

@plush hearth

kind root
#

Id trust CBA more because itโ€™s more likely to be retrieved dynamically whereas mcfg is a hardcoded table

thorn bramble
surreal path
#

i need u to test this iso

plush hearth
#

alright

tawdry mirage
thorn bramble
#

troll face emoji

surreal path
thorn bramble
#

u replied to it

tawdry mirage
thorn bramble
#

lmao

kind root
#

Ah lmao

#

Didnt read into it

flat nymph
kind root
#

It will still be segment 0 so

broken depot
#

It's a PCIe thing.

plush hearth
# surreal path

pressing brightness button results in a notify, but then a ec event appears imediately after, and can't be handled

broken depot
#

BadgerOS will boot fine without PCIe but it won't be able to detect any PCIe devices meme.

plush hearth
#

I'll take a photo

thorn bramble
#

ECAM is just a way to access the PCI configuration space

#

apparently present on other platforms than x86

kind root
#

Yeah I dont think its even pcie specific

flat nymph
thorn bramble
#

i guess you've got the system io thing and ECAM on x86

broken depot
thorn bramble
#

that's nice

flat nymph
#

And RISC-V doesn't have system IO and you've got to use ECAM

thorn bramble
#

i wonder what you need to do on aarch64

surreal path
#

@kind root do i run uacpi under a seperate thread?

plush hearth
flat nymph
thorn bramble
#

(don't)

broken depot
surreal path
#

oh do i run it in kentry

surreal path
#

hold on

kind root
surreal path
#

hold on

surreal path
flat nymph
plush hearth
surreal path
#

ffirst lets add ECAM

#

to pci

flat nymph
surreal path
kind root
thorn bramble
surreal path
kind root
#

U dont need it at all

flat nymph
#

If what you have works no

thorn bramble
#

yeah you never needed it

#

unless you find a computer that addresses segment != 0

plush hearth
thorn bramble
#

then you will need to add it

surreal path
#

yea

flat nymph
#

Or port to other architectures

flat nymph
thorn bramble
#

but i like having ecam support just because it's mmio

flat nymph
#

In a beautiful black/gold color

#

Head turning

plush hearth
#

my laptop probably won't last for much longer

#

the battery is almost gone

surreal path
flat nymph
surreal path
#

this is so smart

#

#warning trl

tawdry mirage
plush hearth
flat nymph
plush hearth
#

I'll need to replace mine sometime in the new year

flat nymph
#

With "hp original battery" from ebay, which was definetely not original

#

Sad

#

It was a nice laptop

thorn bramble
tawdry mirage
#

it's nice

surreal path
kind root
#

Its skewed towards the latter tho

thorn bramble
#

unlucky

tawdry mirage
#

depends on the class of hardware you look at ig

flat nymph
#

Are you supposed to run interrupts in irq threads?

#

I don't know how monolithic kernels do that typically

tawdry mirage
#

higher end workstation/server stuff has mostly compliant stuff (mainly ig because they want to support windows), but the sbcs are kinda cancerous

#

not all but some at least

kind root
#

No one runs any work in the actual handler

elder shoal
#

I think theres a kernel that does a lot of irq thread stuff

kind root
broken depot
# kind root Thats aarch64 for u

SiFive, in their inifinite wisdom, has opted to use a proprietary PCIe controller for their unmatched board, which means that I have to have a whole second driver that does nothing other than parse the DTB slightly differently KEKW

tawdry mirage
broken depot
#

No

#

The DTB is differently formatted

#

Because there is more nonstandard extra shit in it

kind root
#

Why did they do that

broken depot
#

Good question

kind root
#

Like