Oh sorry, I didn't see it, Thank you!
Le jeu. 9 juil. 2020 à 17:44, Alexander Boettcher < alexander.boettcher@genode-labs.com> a écrit :
On 09.07.20 15:19, Parfait Tokponnon wrote:
I commented out the reset_addr line without success. It triggers a page fault at another address.
I wrote to remove all _3_ lines with reset_* to avoid the pagefault, not only 1 line ;-)
Applying the patch reveals the following about the 'FACP' table structure just before the page fault
[init -> drivers -> acpi_drv] Warning: attach memory -
0x3feff000+0x1000,
Loop_base 0x7feff000, IO base 1073741824 [init -> drivers -> acpi_drv] table mapped 'FACP' at 0xbfefff80 (from 0x7fefff80) size 0x74
As I pressumed, the table is solely 0x74 in size. Looking at the code:
253 . . reset_type = readFadt::Reset_reg_type();
254 . . reset_addr = readFadt::Reset_reg_addr();
255 . . reset_value = readFadt::Reset_value();
256 . }
257
258 . struct Dsdt : Register<0x28, 32> { };
259 . struct Feature_flags : Register<0x70, 32> { };
260 . struct Reset_reg_type : Register<0x74, 32> { };
261 . struct Reset_reg_addr : Register<0x78, 64> { };
262 . struct Reset_value : Register<0x80, 8> { };
you see that the Reset_* types are behind the tables, namely at offset 0x74, 0x78, 0x80.
Do you like to open an issue and provide a patch ?
May be, it is tempting!
Thanks for investigation,
Alex.
Since the reset values are not used anywhere in the code, you could just comment out the 3 lines and you should get further.
-- Alexander Boettcher Genode Labs
https://www.genode-labs.com - https://www.genode.org
Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth