Hi,
I'm working on QEMU setup.I'm using 4.15-rc4 jailhouse patch kernel for root
cell and for non root cell i'm using 4.9 vanilla kernel with jailhouse patch
(back ported). while creating non root cell, linux was booting but after some
point i'm getting following crash :
[2.424687] i8042: PNP: No PS/2 controller found. Probing ports directly
FATAL: Invalid PIO read, port: 64 size: 1
RIP: 0x81da9a3b RSP: 0xc90cbe10 FLAGS: 46
RAX: 0x0286 RBX: 0xffed RCX: 0x0001
RDX: 0x0064 RSI: 0x00136e00 RDI: 0x829e8760
CS: 10 BASE: 0x AR-BYTES: a09b EFER.LMA 1
CR0: 0x80050033 CR3: 0x02821000 CR4: 0x26f0
EFER: 0x0d01
While checking ioports, it is crashing at 0x64 (keyboard). And i gave the
permission for non root cell in the PIO bitmap, Even though it is crashing at
same port.Here i added both root cell ,non root cell config and ioports,log
also.
Can anyone tell me what i'm missing?
Regards,
Arun
--
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.
error-log
Description: Binary data
-0cf7 : PCI Bus :00
-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0071 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
02f8-02ff : serial
0378-037a : parport0
03c0-03df : vga+
03f8-03ff : serial
0510-051b : QEMU0002:00
0510-051b : fw_cfg_io
0600-067f : :00:1f.0
0600-0603 : ACPI PM1a_EVT_BLK
0604-0605 : ACPI PM1a_CNT_BLK
0608-060b : ACPI PM_TMR
0620-062f : ACPI GPE0_BLK
0630-0633 : iTCO_wdt.0.auto
0660-067f : iTCO_wdt.0.auto
0700-073f : :00:1f.3
0cf8-0cff : PCI conf1
0d00- : PCI Bus :00
c000-c03f : :00:02.0
c000-c03f : e1000
c080-c09f : :00:1f.2
c080-c09f : ahci
/*
* Jailhouse, a Linux-based partitioning hypervisor
*
* Configuration for linux inmate, 1 CPU, ~60 MB RAM, 1 serial port
*
* Copyright (c) Siemens AG, 2013-2015
*
* Authors:
* Jan Kiszka <jan.kis...@siemens.com>
*
* This work is licensed under the terms of the GNU GPL, version 2. See
* the COPYING file in the top-level directory.
*/
#include
#include
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
struct {
struct jailhouse_cell_desc cell;
__u64 cpus[1];
#ifdef CONFIG_QEMU_E1000E_ASSIGNMENT
struct jailhouse_memory mem_regions[8];
#else
struct jailhouse_memory mem_regions[4];
#endif
struct jailhouse_cache cache_regions[1];
struct jailhouse_irqchip irqchips[1];
__u8 pio_bitmap[0x2000];
#ifdef CONFIG_QEMU_E1000E_ASSIGNMENT
struct jailhouse_pci_device pci_devices[2];
#else
struct jailhouse_pci_device pci_devices[1];
#endif
struct jailhouse_pci_capability pci_caps[6];
} __attribute__((packed)) config = {
.cell = {
.signature = JAILHOUSE_CELL_DESC_SIGNATURE,
.revision = JAILHOUSE_CONFIG_REVISION,
.name = "linux-x86-demo",
.flags = JAILHOUSE_CELL_PASSIVE_COMMREG |
JAILHOUSE_CELL_DEBUG_CONSOLE,
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
.num_cache_regions = ARRAY_SIZE(config.cache_regions),
.num_irqchips = ARRAY_SIZE(config.irqchips),
.pio_bitmap_size = ARRAY_SIZE(config.pio_bitmap),
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.num_pci_caps = ARRAY_SIZE(config.pci_caps),
},
.cpus = {
0xc,
},
.mem_regions = {
/* low RAM */ {
.phys_start = /*0x3b60*/0x3f00,
.virt_start = 0,
.size = 0x0010,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
JAILHOUSE_MEM_LOADABLE,
},
/* communication region */ {
.virt_start = 0x0010,
.size = 0x1000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_COMM_REGION,
},
/* high RAM */ {
.phys_start = /*0x3b70*/0x3f10,
.virt_start = 0x0020,
.size =0x1bc0 /*0x1be0*//*0x1bf0*/ /*0x3a0*/,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
JAILHOUSE_MEM_LOADABLE,
},
/* IVSHMEM shared memory region */
{
.phys_start = 0x5AD0/*0x5AF0*//*0x3f10*/,
.virt_start = 0x5AD0/*0x5AF0*//*0x3f10*/,
.size = 0xff000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_ROOTSHARED,
},
#ifdef CONFIG_QEMU_E1000E_ASSIGNMENT
/* MemRegion: feb4-feb7 : :00:02.0 */
{
.phys_start = 0xfeb4,
.virt_start = 0xfeb4,
.size = 0x4,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
},
/* MemRegion: feb8-feb9 : e1000e */
{
.phys_start = 0xfeb8,
.virt_start = 0xfe