Am Tue, 26 Mar 2019 21:17:45 -0700
schrieb <michael.g.hin...@gmail.com>:

> Hello,
> 
> I used the root config generator to create a root config for my
> x86-64 Dell Inspiron running Kubuntu 18.04 (kernel 4.14). However,
> starting up the root cell usually causes the entire laptop to freeze
> soon after.
> 
> I don’t have access to a serial console, but I am briefly able to see
> the jailhouse console output before the system freezes, with an error
> that reads:
> 
> [Initializing processors, Initializing VT-d, IOAPIC, Cache Allocation
> Technology, PCI, PCI devices, etc.]
> 
> Page pool usage after late setup: mem 355/975, remap 65545/131072
> Activating hypervisor
> FATAL: Invalid PIO read, port: 934 size: 1
> RIP: 0xffffffffa3f49be6 RSP: 0xffffb05b427c7718 FLAGS: 46

Find the RIP in the System.map of the kernel you are running. That will
tell you which function and which driver. Instead of just allowing the
access, as Jan suggested, you can also choose to not include that
driver into your kernel.
I am not sure if that will also work for drivers loaded as modules.

Henning

> RAX: 0x0000000000000000 RBX: 0xffffa0057d734900 RCX:
> 0x0000000000000004 RDX: 0x0000000000000934 RSI: 0xffffffffa4896780
> RDI: 0x000000000000028a CS: 10 BASE: 0x0000000000000000 AR-BYTES:
> a09b EFER.LMA 1 CR0: 0x0000000080050033 CR3: 0x0000000336d74001 CR4:
> 0x00000000003626f0 EFER: 0x0000000000000d01
> Parking CPU 0 (Cell: "RootCell")
> 
> Note: 934 is hex, not decimal (the error is originating from
> hypervisor/arch/x86/vcpu.c -> vcpu_handle_io_access()).
> 
> PIO doesn't seem to be configured properly, but I’m not sure what to
> change. Here is the pio_bitmap in my root config:
> 
>       .pio_bitmap = {
>               [     0/8 ...   0x3f/8] = -1,
>               [  0x40/8 ...   0x47/8] = 0xf0, /* PIT */
>               [  0x48/8 ...   0x5f/8] = -1,
>               [  0x60/8 ...   0x67/8] = 0xec, /* HACK: NMI
> status/control */ [  0x68/8 ...   0x6f/8] = -1,
>               [  0x70/8 ...   0x77/8] = 0xfc, /* RTC */
>               [  0x78/8 ...  0x3af/8] = -1,
>               [ 0x3b0/8 ...  0x3df/8] = 0x00, /* VGA */
>               [ 0x3e0/8 ...  0xcff/8] = -1,
>               [ 0xd00/8 ... 0xffff/8] = 0, /* HACK: PCI bus */
>       },
> 
> As you can see, 0x934 (it's between 0x3e0 and 0xcff) is set to all
> 1’s (-1). I’m assuming that 0’s are needed to enable access to
> whatever is at 0x934, but I’m not sure which bits to set to 0 and for
> which bytes.
> 
> Here is what /proc/ioports shows:
> 
> 0000-0cf7 : PCI Bus 0000:00
>   0000-001f : dma1
>   0020-0021 : pic1
>   0040-0043 : timer0
>   0050-0053 : timer1
>   0060-0060 : keyboard
>   0064-0064 : keyboard
>   0070-0077 : rtc0
>   0080-008f : dma page reg
>   00a0-00a1 : pic2
>   00c0-00df : dma2
>   00f0-00ff : fpu
>   0680-069f : pnp 00:00
>   0930-0930 : PNP0C09:00
>     0930-0930 : EC data
>   0934-0934 : PNP0C09:00
>     0934-0934 : EC cmd
> 0cf8-0cff : PCI conf1
> 0d00-ffff : PCI Bus 0000:00
>   164e-164f : pnp 00:00
>   1800-18fe : pnp 00:00
>     1800-1803 : ACPI PM1a_EVT_BLK
>     1804-1805 : ACPI PM1a_CNT_BLK
>     1808-180b : ACPI PM_TMR
>     1850-1850 : ACPI PM2_CNT_BLK
>     1854-1857 : pnp 00:02
>     1880-189f : ACPI GPE0_BLK
>   f000-f03f : 0000:00:02.0
>   f040-f05f : 0000:00:1f.4
>   f060-f07f : 0000:00:17.0
>     f060-f07f : ahci
>   f080-f083 : 0000:00:17.0
>     f080-f083 : ahci
>   f090-f097 : 0000:00:17.0
>     f090-f097 : ahci
>   ff00-fffe : pnp 00:07
>   ffff-ffff : pnp 00:00
>     ffff-ffff : pnp 00:00
>       ffff-ffff : pnp 00:00
> 
> Any ideas on what I need to do, or how to debug this?
> 
> Thanks,
> -Michael
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jailhouse-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to