IRC channel logs

2022-02-10.log

back to list of logs

<damo22>Pellescours: ok?
<damo22>how did it work previously then?
<damo22>biblio: your last patch didnt quite apply clean, but i made a small change and committed it. However, it crashes trying to find the root table
<damo22> http://git.zammit.org/hurd-sv.git/log/?h=acpica-nothread
<biblio>damo22: ok let me check.
<biblio>damo22: I was able to get the error after I update git fetch. But it is working in my older branch. I will try to send a patch asap.
<biblio>damo22: gtg
<damo22>Pellescours: do you know what may be wrong with that acpi_os_memory thing
<damo22>i think we need to give acpi access to physical addresses
<damo22>is there a neat way to do that in gnumach?
<damo22>via gnumach or mem?
<damo22>it also needs to work before /dev is accessible
<damo22>i think the problem is we are using a virtual address mapping and then acpi tries to compute the 16 bit paragraph address from EBDA
<damo22>so we probably need to reimplement the find_root_table thingy
<damo22>unless we can put the mapping at exactly the same physical address?
<luckyluke>damo22: maybe with vm_allocate_contiguous(), you can give a hint on the virtual address if you want a 1:1 map, but afaik it's not guaranteed.
<damo22>what about mmap(fixed_physical_address, ..., MAP_SHARED | MAP_FIXED, ...)
<luckyluke>the address you give to mmap is the virtual address, not the phisical one
<luckyluke>Curiosa: I was also trying to understand a bit mig, in the context of 64 bit gnumach with 32 bit rpc. I found there is an implicit conversion mach_port_t <->ipc_port_t done only on kernel side, and hardcoded in mig instead of .defs files. This currently cause a compile error (static assert) because ipc_port_t turns out to be a pointer and then the size doesn't match 32-bit sizes. I was wondering if this conversion should/could be moved to .defs
<luckyluke>files so it could be redefined
<damo22>i think the easier option for me is to reimplement the root table lookup function to not use 16 bit physical paragraph addresses, and just use virtual address mappings
<damo22>ACPI: RSDT 0x000000007FFE2337 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)
<damo22>ACPI: ? 0x4350584200000001 C3F000FF (v226 ?S? ? 53F000FF ? 87F000FE)
<damo22>the root table seems ok now, but the memory mapping does not work for further tables
<damo22>hmm
<damo22>pushed root table refactoring
<damo22>but the rest are still broken
***Noisytoot_ is now known as Noisytoot
***Mete-- is now known as Mete-
***Mete-- is now known as Mete-
<biblio>damo22: i send another patch after testing with your http://git.zammit.org/hurd-sv.git/commit/?h=acpica-nothread&id=bce33d12a4b4a265241cf46905345cf70d19cf54 push acpi: Remove erroneous MAP_FIXED
<biblio>damo22: now it should print correct IRQ