Crash on Windriver Simics : page fault, pd='init -> drivers -> acpi_drv' thread='ep'

Parfait Tokponnon parfait.tokponnon at gmail.com
Tue Jul 7 21:40:09 CEST 2020


Hello,
I want to run Genode on Windriver Simics
<https://www.windriver.com/products/simics/>.
I've just created a disk image with the demo scenario from a freshly cloned
Genode.
It crashes with the following error.

> page fault, pd='init -> drivers -> acpi_drv' thread='ep' cpu=0
> ip=0x1011062 address=0xbff00000 stack pointer=0x401fbbc0 qualifiers=0x4
> irUwp reason=1
>
addr2line -e debug/acpi_drv 0x1011062
>

The IP 0x1011062 resolves to repos/base/include/util/mmio.h:54

> /**
> * Read '_ACCESS_T' typed from MMIO base + 'offset'
> */
> template <typename ACCESS_T>
> inline ACCESS_T _read(off_t const &offset) const
> {
> addr_t const dst = _base + offset;
> 54                  ACCESS_T const value = *(ACCESS_T volatile *)dst;
> return value;
> }
>

When using the Genode::backtrace(), I get this

> Error:
> PAGE-FAULT IN CORE addr=0x204 ip=0x1b32b8 (read)
>
> stack pointer 0x403feda0, qualifiers 0x4 irUwp
> faulter utcb 0x403ff000, last message item count 0
>   #1 0x00000000403feda0 0x00000000001b32b8
>   #2 0x00000000403feea8 0x000000000015e7c3
> [ 0] Killed EC:0xffffffff8103b4c0 SC:0xffffffff81148040 V:0xe CS:0x2b
> IP:0x1c6ac3(0x2155ca) CR2:0x100000008 ERR:0x4 (Livelock) Pd::root
> [ 0] Killed EC:0xffffffff8103bb80 SC:0xffffffff81148040 V:0xe CS:0x2b
> IP:0x1b32b8(0x1) CR2:0x204 ERR:0x4 (IPC Abort) Pd::root
> [ 0] Killed EC:0xffffffff81139280 SC:0xffffffff81148040 V:0xe CS:0x2b
> IP:0x1010ab2(0x0) CR2:0xbff00000 ERR:0x4 (IPC Abort)
> [ 0] Killed EC:0xffffffff816cb280 SC:0xffffffff816d9040 V:0xe CS:0x2b
> IP:0x1021b10(0x1) CR2:0x1021b10 ERR:0x14 (IPC Timeout)
> [ 0] Killed EC:0xffffffff8178d280 SC:0xffffffff8106b040 V:0xe CS:0x2b
> IP:0xf11fb(0x1067000) CR2:0x1392fff ERR:0x6 (IPC Timeout)
> [ 0] Killed EC:0xffffffff8178d040 SC:0xffffffff8106b040 V:0xe CS:0x2b
> IP:0xccd34(0x0) CR2:0xccd34 ERR:0x14 (IPC Timeout)
> [init -> drivers -> acpi_drv] Error: Uncaught exception of type
> 'Genode::Ipc_error'
> [init -> drivers -> acpi_drv] Warning: abort called - thread: main
>

The IP:0x1010ab2 resolves to
/home/parfait/git/genode20.05/repos/os/src/drivers/acpi/acpi.cc:254 where I
can read following :

Fadt(addr_t a) : Genode::Mmio(a)
> {
> features    = read<Fadt::Feature_flags>();
> reset_type  = read<Fadt::Reset_reg_type>();
> 254     reset_addr  = read<Fadt::Reset_reg_addr>();
> reset_value = read<Fadt::Reset_value>();
> }
>
It seems like there is an issue with the parsing of the acpi table,
especially the FADT.
How can I proceed to resolve this ?
-- 
Parfait T.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20200707/4667dded/attachment.html>


More information about the users mailing list