All of lore.kernel.org
 help / color / mirror / Atom feed
* Building PVH mini-os with libc support
@ 2017-12-28 18:33 Bruno Alvisio
  2017-12-28 19:18 ` Andrew Cooper
  0 siblings, 1 reply; 4+ messages in thread
From: Bruno Alvisio @ 2017-12-28 18:33 UTC (permalink / raw)
  To: minios-devel, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 19436 bytes --]

Hello all,

I am trying to build PVH mini-os with libc support. These are the steps I
have followed so far:

1. Xen repo (master: commit id: d2f86bf604698806d311cc251c1b66fbb752673c)

2. mini-os repo (master: commit id:
0b4b7897e08b967a09bed2028a79fabff82342dd)
3. Made the following modifications in the xen repo to build c-stubdom:



diff --git a/stubdom/Makefile b/stubdom/Makefile

index f45eeabd8b..aa21904019 100644

--- a/stubdom/Makefile

+++ b/stubdom/Makefile

@@ -61,7 +61,7 @@ TARGET_CPPFLAGS += -I$(XEN_ROOT)/xen/include



 TARGET_LDFLAGS += -nostdlib
-L$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib



-TARGETS=$(STUBDOM_TARGETS)

+TARGETS=$(STUBDOM_TARGETS) c



 STUBDOMPATH="stubdompath.sh"

 genpath-target = $(call buildmakevars2file,$(STUBDOMPATH))

diff --git a/stubdom/c/minios.cfg b/stubdom/c/minios.cfg

index e69de29bb2..cacde0cbca 100644

--- a/stubdom/c/minios.cfg

+++ b/stubdom/c/minios.cfg

@@ -0,0 +1,18 @@

+CONFIG_PARAVIRT=n

+CONFIG_START_NETWORK ?= y

+CONFIG_SPARSE_BSS ?= y

+CONFIG_QEMU_XS_ARGS ?= n

+CONFIG_PCIFRONT ?= n

+CONFIG_BLKFRONT ?= y

+CONFIG_TPMFRONT ?= n

+CONFIG_TPM_TIS ?= n

+CONFIG_TPMBACK ?= n

+CONFIG_NETFRONT ?= y

+CONFIG_FBFRONT ?= y

+CONFIG_KBDFRONT ?= y

+CONFIG_CONSFRONT ?= y

+CONFIG_XENBUS ?= y

+CONFIG_XC ?=y

+CONFIG_BALLOON ?= n



4. $ cd $(XEN_ROOT)
5. $ make; sudo make instal
6. Reboot host
7. $ cd $(XEN_ROOT)/stubdom
8. $ make c-stubdom
9. Used the following configuration file to create the domain:



type="pvh"

memory=512

vcpu=1

name="minios"

kernel="/home/balvisio/xen/stubdom/mini-os-x86_64-c/mini-os.gz"




When I create the domain it crashes during the bootstrap process with a
triple fault. The following are the dmesg logs (note that "Xen Minimal OS
(hvm)!" is printed and the domain crashes after that line in setup.c):




(XEN) grant_table.c:1688:d0v3 Expanding d360 grant table from 0 to 1 frames

(XEN) HVM360 save: CPU

(XEN) HVM360 save: PIC

(XEN) HVM360 save: IOAPIC

(XEN) HVM360 save: LAPIC

(XEN) HVM360 save: LAPIC_REGS

(XEN) HVM360 save: PCI_IRQ

(XEN) HVM360 save: ISA_IRQ

(XEN) HVM360 save: PCI_LINK

(XEN) HVM360 save: PIT

(XEN) HVM360 save: RTC

(XEN) HVM360 save: HPET

(XEN) HVM360 save: PMTIMER

(XEN) HVM360 save: MTRR

(XEN) HVM360 save: VIRIDIAN_DOMAIN

(XEN) HVM360 save: CPU_XSAVE

(XEN) HVM360 save: VIRIDIAN_VCPU

(XEN) HVM360 save: VMCE_VCPU

(XEN) HVM360 save: TSC_ADJUST

(XEN) HVM360 restore: CPU 0

(d360) Bootstrapping...

(XEN) Dom360 callback via changed to Direct Vector 0x20

(d360) Xen Minimal OS (hvm)!

(XEN) d360v0 Triple fault - invoking HVM shutdown action 1

(XEN) *** Dumping Dom360 vcpu#0 state: ***

(XEN) ----[ Xen-4.10.0-rc  x86_64  debug=y   Not tainted ]----

(XEN) CPU:    7

(XEN) RIP:    0008:[<0000000000056fc8>]

(XEN) RFLAGS: 0000000000010006   CONTEXT: hvm guest (d360v0)

(XEN) rax: 00000000000bfe75   rbx: 00000000000bfe75   rcx: 0000000000000000

(XEN) rdx: 0000000000000017   rsi: 00000000000bfe60   rdi: 0000000000000000

(XEN) rbp: 00000000000bfec0   rsp: 00000000000bfe60   r8:  0000000000000000

(XEN) r9:  0000000000089982   r10: 0000000000000016   r11: 0000000000000000

(XEN) r12: 0000000000000017   r13: 0000000000000016   r14: 0000000000000000

(XEN) r15: 0d8b4c1575ff8548   cr0: 0000000080000011   cr4: 0000000000000220

(XEN) cr3: 0000000000099000   cr2: 0000000000000000

(XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000

(XEN) ds: 0033   es: 0033   fs: 0033   gs: 0033   ss: 0000   cs: 0008





Any help on this would be greatly appreciated. In addition to this I have
noticed that even fter installing Xen and rebooting the host, the initial
‘xl dmesg’ logs show that Xen tries to launch unsuccessfully domains
created before the system was rebooted. I am not sure if these two issues
are related but I pasting a trace of the logs (these dmesg logs are seen
just after rebooting the host before attempting anything else):



root@debianxen:/home/balvisio# xl dmesg

(XEN) parameter "placeholder" unknown!

 Xen 4.10.0-rc

(XEN) Xen version 4.10.0-rc (balvisio@us.oracle.com) (gcc (Debian 6.3.0-18)
6.3.0 20170516) debug=y  Thu Dec 28 09:53:12 PST 2017

(XEN) Latest ChangeSet: Thu Nov 16 21:34:02 2017 +0000 git:d2f86bf604-dirty

(XEN) Bootloader: GRUB 2.02~beta3-5

(XEN) Command line: placeholder

(XEN) Xen image load base address: 0

(XEN) Video information:

(XEN)  VGA is text mode 80x25, font 8x16

(XEN)  VBE/DDC methods: none; EDID transfer time: 0 seconds

(XEN)  EDID info not retrieved because no DDC retrieval method detected

(XEN) Disc information:

(XEN)  Found 2 MBR signatures

(XEN)  Found 2 EDD information structures

(XEN) Xen-e820 RAM map:

(XEN)  0000000000000000 - 000000000009a400 (usable)

(XEN)  000000000009a400 - 00000000000a0000 (reserved)

(XEN)  00000000000e0000 - 0000000000100000 (reserved)

(XEN)  0000000000100000 - 00000000bf406000 (usable)

(XEN)  00000000bf406000 - 00000000bf452000 (ACPI NVS)

(XEN)  00000000bf452000 - 00000000bf45a000 (ACPI data)

(XEN)  00000000bf45a000 - 00000000bf477000 (reserved)

(XEN)  00000000bf477000 - 00000000bf478000 (ACPI NVS)

(XEN)  00000000bf478000 - 00000000bf489000 (reserved)

(XEN)  00000000bf489000 - 00000000bf48c000 (ACPI NVS)

(XEN)  00000000bf48c000 - 00000000bf4ad000 (reserved)

(XEN)  00000000bf4ad000 - 00000000bf4af000 (usable)

(XEN)  00000000bf4af000 - 00000000bf503000 (reserved)

(XEN)  00000000bf503000 - 00000000bf50d000 (ACPI NVS)

(XEN)  00000000bf50d000 - 00000000bf533000 (reserved)

(XEN)  00000000bf533000 - 00000000bf576000 (ACPI NVS)

(XEN)  00000000bf576000 - 00000000bf800000 (usable)

(XEN)  00000000fed1c000 - 00000000fed40000 (reserved)

(XEN)  00000000ff000000 - 0000000100000000 (reserved)

(XEN)  0000000100000000 - 0000000440000000 (usable)

(XEN) New Xen image base address: 0xbee00000

(XEN) ACPI: RSDP 000F0450, 0024 (r2 SUPERM)

(XEN) ACPI: XSDT BF452078, 0074 (r1 SUPERM SMCI--MB        1 AMI     10013)

(XEN) ACPI: FACP BF458B38, 00F4 (r4 SUPERM SMCI--MB        1 AMI     10013)

(XEN) ACPI: DSDT BF452180, 69B8 (r2 SUPERM SMCI--MB        0 INTL 20051117)

(XEN) ACPI: FACS BF50AF80, 0040

(XEN) ACPI: APIC BF458C30, 0092 (r3 SUPERM SMCI--MB        1 AMI     10013)

(XEN) ACPI: SSDT BF458CC8, 01D6 (r1 AMICPU     PROC        1 MSFT  3000001)

(XEN) ACPI: MCFG BF458EA0, 003C (r1 SUPERM SMCI--MB        1 MSFT       97)

(XEN) ACPI: HPET BF458EE0, 0038 (r1 SUPERM SMCI--MB        1 AMI.        4)

(XEN) ACPI: SPMI BF458F18, 0040 (r5 A M I   OEMSPMI        0 AMI.        0)

(XEN) ACPI: EINJ BF458F58, 0130 (r1    AMI AMI EINJ        0             0)

(XEN) ACPI: ERST BF459088, 0210 (r1  AMIER AMI ERST        0             0)

(XEN) ACPI: HEST BF459298, 00A8 (r1    AMI AMI HEST        0             0)

(XEN) ACPI: BERT BF459340, 0030 (r1    AMI AMI BERT        0             0)

(XEN) System RAM: 16374MB (16767152kB)

(XEN) No NUMA configuration found

(XEN) Faking a node at 0000000000000000-0000000440000000

(XEN) Domain heap initialised

(XEN) CPU Vendor: Intel, Family 6 (0x6), Model 42 (0x2a), Stepping 7 (raw
000206a7)

(XEN) found SMP MP-table at 000fcd80

(XEN) DMI 2.7 present.

(XEN) Using APIC driver default

(XEN) ACPI: PM-Timer IO Port: 0x408 (32 bits)

(XEN) ACPI: SLEEP INFO: pm1x_cnt[1:404,1:0], pm1x_evt[1:400,1:0]

(XEN) ACPI: 32/64X FACS address mismatch in FADT -
bf50af80/0000000000000000, using 32

(XEN) ACPI:             wakeup_vec[bf50af8c], vec_size[20]

(XEN) ACPI: Local APIC address 0xfee00000

(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)

(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)

(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x04] enabled)

(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x06] enabled)

(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x01] enabled)

(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x03] enabled)

(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x05] enabled)

(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x07] enabled)

(XEN) ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])

(XEN) ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])

(XEN) IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23

(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)

(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)

(XEN) ACPI: IRQ0 used by override.

(XEN) ACPI: IRQ2 used by override.

(XEN) ACPI: IRQ9 used by override.

(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs

(XEN) ACPI: HPET id: 0x8086a701 base: 0xfed00000

(XEN) Xen ERST support is initialized.

(XEN) HEST: Table parsing has been initialized

(XEN) Using ACPI (MADT) for SMP configuration information

(XEN) SMP: Allowing 8 CPUs (0 hotplug CPUs)

(XEN) IRQ limits: 24 GSI, 1528 MSI/MSI-X

(XEN) Not enabling x2APIC: depends on iommu_supports_eim.

(XEN) xstate: size: 0x340 and states: 0x7

(XEN) mce_intel.c:782: MCA Capability: firstbank 0, extended MCE MSR 0,
BCAST, CMCI

(XEN) CPU0: Intel machine check reporting enabled

(XEN) Using scheduler: SMP Credit Scheduler (credit)

(XEN) Platform timer is 14.318MHz HPET

(XEN) Detected 3192.768 MHz processor.

(XEN) Initing memory sharing.

(XEN) alt table ffff82d080451778 -> ffff82d080452d98

(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff

(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff

(XEN) I/O virtualisation disabled

(XEN) nr_sockets: 1

(XEN) Enabled directed EOI with ioapic_ack_old on!

(XEN) ENABLING IO-APIC IRQs

(XEN)  -> Using old ACK method

(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1

(XEN) TSC deadline timer enabled

(XEN) Allocated console ring of 64 KiB.

(XEN) mwait-idle: MWAIT substates: 0x1120

(XEN) mwait-idle: v0.4.1 model 0x2a

(XEN) mwait-idle: lapic_timer_reliable_states 0xffffffff

(XEN) VMX: Supported advanced features:

(XEN)  - APIC MMIO access virtualisation

(XEN)  - APIC TPR shadow

(XEN)  - Extended Page Tables (EPT)

(XEN)  - Virtual-Processor Identifiers (VPID)

(XEN)  - Virtual NMI

(XEN)  - MSR direct-access bitmap

(XEN)  - Unrestricted Guest

(XEN) HVM: ASIDs enabled.

(XEN) HVM: VMX enabled

(XEN) HVM: Hardware Assisted Paging (HAP) detected

(XEN) HVM: HAP page sizes: 4kB, 2MB

(XEN) Brought up 8 CPUs

(XEN) build-id: bca1c3697611c869f348a4b7c4bfe326d0cbbc25

(XEN) Running stub recovery selftests...

(XEN) traps.c:1540: GPF (0000): ffff82d0bffff041 [ffff82d0bffff041] ->
ffff82d08036d2f2

(XEN) traps.c:739: Trap 12: ffff82d0bffff040 [ffff82d0bffff040] ->
ffff82d08036d2f2

(XEN) traps.c:1076: Trap 3: ffff82d0bffff041 [ffff82d0bffff041] ->
ffff82d08036d2f2

(XEN) ACPI sleep modes: S3

(XEN) VPMU: disabled

(XEN) mcheck_poll: Machine check polling timer started.

(XEN) Dom0 has maximum 792 PIRQs

(XEN) grant_table.c:1688:IDLEv0 Expanding d0 grant table from 0 to 1 frames

(XEN) NX (Execute Disable) protection active

(XEN) *** LOADING DOMAIN 0 ***

(XEN) ELF: phdr: paddr=0x1000000 memsz=0xaca000

(XEN) ELF: phdr: paddr=0x1c00000 memsz=0x11e000

(XEN) ELF: phdr: paddr=0x1d1e000 memsz=0x19418

(XEN) ELF: phdr: paddr=0x1d38000 memsz=0x223000

(XEN) ELF: memory: 0x1000000 -> 0x1f5b000

(XEN) ELF: note: GUEST_OS = "linux"

(XEN) ELF: note: GUEST_VERSION = "2.6"

(XEN) ELF: note: XEN_VERSION = "xen-3.0"

(XEN) ELF: note: VIRT_BASE = 0xffffffff80000000

(XEN) ELF: note: INIT_P2M = 0x8000000000

(XEN) ELF: note: ENTRY = 0xffffffff81d38180

(XEN) ELF: note: HYPERCALL_PAGE = 0xffffffff81001000

(XEN) ELF: note: FEATURES =
"!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel"

(XEN) ELF: note: SUPPORTED_FEATURES = 0x90d

(XEN) ELF: note: PAE_MODE = "yes"

(XEN) ELF: note: LOADER = "generic"

(XEN) ELF: note: unknown (0xd)

(XEN) ELF: note: SUSPEND_CANCEL = 0x1

(XEN) ELF: note: MOD_START_PFN = 0x1

(XEN) ELF: note: HV_START_LOW = 0xffff800000000000

(XEN) ELF: note: PADDR_OFFSET = 0

(XEN) ELF: addresses:

(XEN)     virt_base        = 0xffffffff80000000

(XEN)     elf_paddr_offset = 0x0

(XEN)     virt_offset      = 0xffffffff80000000

(XEN)     virt_kstart      = 0xffffffff81000000

(XEN)     virt_kend        = 0xffffffff81f5b000

(XEN)     virt_entry       = 0xffffffff81d38180

(XEN)     p2m_base         = 0x8000000000

(XEN)  Xen  kernel: 64-bit, lsb, compat32

(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1f5b000

(XEN) PHYSICAL MEMORY ARRANGEMENT:

(XEN)  Dom0 alloc.:   000000042e000000->0000000430000000 (4099048 pages to
be allocated)

(XEN)  Init. ramdisk: 000000043ed4d000->000000043ffffa9c

(XEN) VIRTUAL MEMORY ARRANGEMENT:

(XEN)  Loaded kernel: ffffffff81000000->ffffffff81f5b000

(XEN)  Init. ramdisk: 0000000000000000->0000000000000000

(XEN)  Phys-Mach map: 0000008000000000->0000008001f5f4d8

(XEN)  Start info:    ffffffff81f5b000->ffffffff81f5b4b4

(XEN)  Page tables:   ffffffff81f5c000->ffffffff81f6f000

(XEN)  Boot stack:    ffffffff81f6f000->ffffffff81f70000

(XEN)  TOTAL:         ffffffff80000000->ffffffff82000000

(XEN)  ENTRY ADDRESS: ffffffff81d38180

(XEN) Dom0 has maximum 8 VCPUs

(XEN) ELF: phdr 0 at 0xffffffff81000000 -> 0xffffffff81aca000

(XEN) ELF: phdr 1 at 0xffffffff81c00000 -> 0xffffffff81d1e000

(XEN) ELF: phdr 2 at 0xffffffff81d1e000 -> 0xffffffff81d37418

(XEN) ELF: phdr 3 at 0xffffffff81d38000 -> 0xffffffff81e82000

(XEN) Initial low memory virq threshold set at 0x4000 pages.

(XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs

(XEN) ..................................done.

(XEN) Std. Loglevel: All

(XEN) Guest Loglevel: All

(XEN) Xen is relinquishing VGA console.

(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input
to Xen)

(XEN) Freed 456kB init memory

(XEN) PCI add device 0000:00:00.0

(XEN) PCI add device 0000:00:01.0

(XEN) PCI add device 0000:00:16.0

(XEN) PCI add device 0000:00:16.1

(XEN) PCI add device 0000:00:1a.0

(XEN) PCI add device 0000:00:1d.0

(XEN) PCI add device 0000:00:1e.0

(XEN) PCI add device 0000:00:1f.0

(XEN) PCI add device 0000:00:1f.2

(XEN) PCI add device 0000:00:1f.3

(XEN) PCI add device 0000:01:00.0

(XEN) PCI add device 0000:01:00.1

(XEN) PCI add device 0000:02:03.0

(XEN) PCI: Using MCFG for segment 0000 bus 00-ff

(XEN) d0: Forcing read-only access to MFN fed00

(XEN) traps.c:1540: GPF (0000): ffff82d080363383
[emul-priv-op.c#read_msr+0x370/0x45c] -> ffff82d08036d9b2

(XEN) traps.c:1540: GPF (0000): ffff82d080363383
[emul-priv-op.c#read_msr+0x370/0x45c] -> ffff82d08036d9b2

(XEN) traps.c:1540: GPF (0000): ffff82d080363383
[emul-priv-op.c#read_msr+0x370/0x45c] -> ffff82d08036d9b2

(XEN) grant_table.c:1688:d0v3 Expanding d1 grant table from 0 to 1 frames

(XEN) HVM1 restore: CPU 0

(XEN) HVM1 restore: CPU 1

(XEN) HVM1 restore: PIC 0

(XEN) HVM1 restore: PIC 1

(XEN) HVM1 restore: IOAPIC 0

(XEN) HVM1 restore: LAPIC 0

(XEN) HVM1 restore: LAPIC 1

(XEN) HVM1 restore: LAPIC_REGS 0

(XEN) HVM1 restore: LAPIC_REGS 1

(XEN) HVM1 restore: PCI_IRQ 0

(XEN) HVM1 restore: ISA_IRQ 0

(XEN) HVM1 restore: PCI_LINK 0

(XEN) HVM1 restore: PIT 0

(XEN) HVM1 restore: RTC 0

(XEN) HVM1 restore: HPET 0

(XEN) HVM1 restore: PMTIMER 0

(XEN) HVM1 restore: MTRR 0

(XEN) HVM1 restore: MTRR 1

(XEN) HVM1 restore: CPU_XSAVE 0

(XEN) HVM1 restore: CPU_XSAVE 1

(XEN) HVM1 restore: VMCE_VCPU 0

(XEN) HVM1 restore: VMCE_VCPU 1

(XEN) HVM1 restore: TSC_ADJUST 0

(XEN) HVM1 restore: TSC_ADJUST 1

(XEN) grant_table.c:1688:d0v1 Expanding d2 grant table from 0 to 1 frames

(d2) Bootstrapping...

(d2) Xen Minimal OS (pv)!

(d2)   start_info: 0x574000(VA)

(d2)     nr_pages: 0x2000

(d2)   shared_inf: 0x06183000(MA)

(d2)      pt_base: 0x577000(VA)

(d2) nr_pt_frames: 0x7

(d2)     mfn_list: 0x564000(VA)

(d2)    mod_start: 0x0(VA)

(d2)      mod_len: 0

(d2)        flags: 0x0

(d2)     cmd_line:  -d 1

(d2)        stack: 0x523140-0x543140

(d2) MM: Init

(d2)       _text: 0x0(VA)

(d2)      _etext: 0x117ec2(VA)

(d2)    _erodata: 0x14a000(VA)

(d2)      _edata: 0x14ab68(VA)

(d2) stack start: 0x523140(VA)

(d2)        _end: 0x563e78(VA)

(d2)   start_pfn: 57e

(d2)     max_pfn: 2000

(d2) Mapping memory range 0x57e000 - 0x2000000

(d2) setting 0x0-0x14a000 readonly

(d2) skipped 1000

(d2) MM: Initialise page allocator for 58a000(58a000)-2000000(2000000)

(d2)     Adding memory range 58b000-2000000

(d2) MM: done

(d2) Demand map pfns at 100000000000-108000000000.

(d2) Heap resides at 200000000000-208000000000.

(d2) Initialising timer interface

(d2) Initialising console ... done.

(XEN) grant_table.c:1688:d2v0 Expanding d2 grant table from 1 to 4 frames

(d2) gnttab_table mapped at 0x100000000000.

(d2) Initialising scheduler

(d2) Thread "Idle": pointer: 0x0x200000000050, stack: 0x0x5a0000

(d2) Thread "xenstore": pointer: 0x0x200000000800, stack: 0x0x5b0000

(d2) xenbus initialised on irq 1

(d2) Thread "shutdown": pointer: 0x0x200000000fb0, stack: 0x0x5c0000

(d2) main.c: dummy main: par=0x0

(d2) Thread "main": pointer: 0x0x200000001760, stack: 0x0x5d0000

(d2) sparsing 3MB at 181000

(d2) Thread "pcifront": pointer: 0x0x200000003c70, stack: 0x0x5e0000

(d2) pcifront_watches: waiting for backend path to appear
device/pci/0/backend

(d2) dom vm is at /vm/9389f006-0389-4aa8-ad4b-61eeea31676b

(d2) ************************ NETFRONT for device/vif/0 **********

(d2)

(d2)

(d2) net TX ring size 256

(d2) net RX ring size 256

(d2) backend at /local/domain/0/backend/vif/2/0

(d2) mac is 00:16:3e:05:84:95

(d2) **************************

(d2) tap_open((null)) -> 3

(d2) xs_daemon_open -> 4, 0x14a6c8

(d2) ******************* BLKFRONT for /local/domain/2/device/vbd/51712
**********

(d2)

(d2)

(d2) backend at /local/domain/0/backend/vbd/2/51712

(d2) 209715200 sectors of 512 bytes

(d2) **************************

(d2) blk_open(/local/domain/2/device/vbd/51712) -> 5

(d2) xs_watch(device-model/1/logdirty/cmd, logdirty)

(d2) xs_watch(device-model/1/command, dm-command)

(d2) xs_watch(/local/domain/1/cpu, vcpu-set)

(d2) xs_read(/local/domain/0/backend/pci/1/0/msitranslate): ENOENT

(d2) xs_read(/local/domain/0/backend/pci/1/0/power_mgmt): ENOENT

(d2) xs_watch(/local/domain/0/backend/console/1, be:0x139dbc:1:0x164e20)

(d2) xs_directory(/local/domain/0/backend/console/1): EACCES

(d2) xs_watch(/local/domain/0/backend/vkbd/1, be:0x136601:1:0x164dc0)

(d2) xs_directory(/local/domain/0/backend/vkbd/1): EACCES

(d2) xs_read(device-model/1/disable_pf): ENOENT

(d2) xs_watch(/local/domain/1/log-throttling,
/local/domain/1/log-throttling)

(d2) ******************* CONSFRONT for device/console/2 **********

(d2)

(d2)

(d2) backend at /local/domain/0/backend/console/2/2

(d2) **************************

(d2) fd(7) = open_savefile




Thanks,


Bruno

[-- Attachment #1.2: Type: text/html, Size: 91191 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Building PVH mini-os with libc support
  2017-12-28 18:33 Building PVH mini-os with libc support Bruno Alvisio
@ 2017-12-28 19:18 ` Andrew Cooper
  2017-12-28 23:49   ` Bruno Alvisio
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cooper @ 2017-12-28 19:18 UTC (permalink / raw)
  To: Bruno Alvisio, minios-devel, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 1600 bytes --]

On 28/12/17 18:33, Bruno Alvisio wrote:
> (d360) Bootstrapping...
>
> (XEN) Dom360 callback via changed to Direct Vector 0x20
>
> (d360) Xen Minimal OS (hvm)!
>
> (XEN) d360v0 Triple fault - invoking HVM shutdown action 1
>
> (XEN) *** Dumping Dom360 vcpu#0 state: ***
>
> (XEN) ----[ Xen-4.10.0-rc  x86_64  debug=y   Not tainted ]----
>
> (XEN) CPU:    7
>
> (XEN) RIP:    0008:[<0000000000056fc8>]
>
> (XEN) RFLAGS: 0000000000010006   CONTEXT: hvm guest (d360v0)
>
> (XEN) rax: 00000000000bfe75   rbx: 00000000000bfe75   rcx:
> 0000000000000000
>
> (XEN) rdx: 0000000000000017   rsi: 00000000000bfe60   rdi:
> 0000000000000000
>
> (XEN) rbp: 00000000000bfec0   rsp: 00000000000bfe60   r8: 
> 0000000000000000
>
> (XEN) r9:  0000000000089982   r10: 0000000000000016   r11:
> 0000000000000000
>
> (XEN) r12: 0000000000000017   r13: 0000000000000016   r14:
> 0000000000000000
>
> (XEN) r15: 0d8b4c1575ff8548   cr0: 0000000080000011   cr4:
> 0000000000000220
>
> (XEN) cr3: 0000000000099000   cr2: 0000000000000000
>
> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss:
> 0000000000000000
>
> (XEN) ds: 0033   es: 0033   fs: 0033   gs: 0033   ss: 0000   cs: 0008
>
>  
>
>  
>
> Any help on this would be greatly appreciated.
>

You will need to disassemble your minios kernel and see which
instruction is at 0x56fc8.  (Chances are, it will be `jmp %r15`).

The content of %r15 looks like x86 opcode, which is reminiscent of the
XTF relocatability bugs.  Make doubly sure you are compiling with
-fno-pic and link with -no-pie.

~Andrew

[-- Attachment #1.2: Type: text/html, Size: 6847 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Building PVH mini-os with libc support
  2017-12-28 19:18 ` Andrew Cooper
@ 2017-12-28 23:49   ` Bruno Alvisio
  2017-12-29  0:25     ` Andrew Cooper
  0 siblings, 1 reply; 4+ messages in thread
From: Bruno Alvisio @ 2017-12-28 23:49 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: minios-devel, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 8030 bytes --]

Hello Andrew,



Thanks. Yup, you were right. I did an objdump of the kernel and found the
offending instruction 0x5cfcb to be callq *%r15 in the console_print
function (see below):



0000000000056ee9 <console_print>:

   56ee9:   55                      push   %rbp

   56eea:   48 89 e5                mov    %rsp,%rbp

   56eed:   41 57                   push   %r15

   56eef:   41 56                   push   %r14

   56ef1:   41 55                   push   %r13

   56ef3:   41 54                   push   %r12

   56ef5:   53                      push   %rbx

   56ef6:   48 83 ec 18             sub    $0x18,%rsp

   56efa:   49 89 fe                mov    %rdi,%r14

   56efd:   41 89 d4                mov    %edx,%r12d

   56f00:   48 89 65 c0             mov    %rsp,-0x40(%rbp)

   56f04:   8d 42 01                lea    0x1(%rdx),%eax

   56f07:   48 98                   cltq

   56f09:   48 83 c0 0f             add    $0xf,%rax

   56f0d:   48 83 e0 f0             and    $0xfffffffffffffff0,%rax

   56f11:   48 29 c4                sub    %rax,%rsp

   56f14:   48 89 e3                mov    %rsp,%rbx

   56f17:   83 3d 00 00 00 00 00    cmpl   $0x0,0x0(%rip)        # 56f1e
<console_print+0x35>

   56f1e:   74 09                   je     56f29 <console_print+0x40>

   56f20:   4c 8b 3d 00 00 00 00    mov    0x0(%rip),%r15        # 56f27
<console_print+0x3e>

   56f27:   eb 07                   jmp    56f30 <console_print+0x47>

   56f29:   4c 8b 3d 00 00 00 00    mov    0x0(%rip),%r15        # 56f30
<console_print+0x47>

   56f30:   4d 85 f6                test   %r14,%r14

   56f33:   74 19                   je     56f4e <console_print+0x65>

   56f35:   41 80 7e 30 00          cmpb   $0x0,0x30(%r14)

   56f3a:   74 12                   je     56f4e <console_print+0x65>

   56f3c:   44 89 e2                mov    %r12d,%edx

   56f3f:   4c 89 f7                mov    %r14,%rdi

   56f42:   41 ff d7                callq  *%r15

   56f45:   48 8b 65 c0             mov    -0x40(%rbp),%rsp

   56f49:   e9 84 00 00 00          jmpq   56fd2 <console_print+0xe9>

   56f4e:   4d 63 ec                movslq %r12d,%r13

   56f51:   4c 89 ea                mov    %r13,%rdx

   56f54:   48 89 df                mov    %rbx,%rdi

   56f57:   e8 00 00 00 00          callq  56f5c <console_print+0x73>

   56f5c:   4a 8d 44 2b ff          lea    -0x1(%rbx,%r13,1),%rax

   56f61:   48 39 c3                cmp    %rax,%rbx

   56f64:   73 4b                   jae    56fb1 <console_print+0xc8>

   56f66:   48 89 de                mov    %rbx,%rsi

   56f69:   80 3b 0a                cmpb   $0xa,(%rbx)

   56f6c:   75 30                   jne    56f9e <console_print+0xb5>

   56f6e:   c6 03 0d                movb   $0xd,(%rbx)

   56f71:   0f b6 43 01             movzbl 0x1(%rbx),%eax

   56f75:   88 45 cf                mov    %al,-0x31(%rbp)

   56f78:   c6 43 01 0a             movb   $0xa,0x1(%rbx)

   56f7c:   49 89 dd                mov    %rbx,%r13

   56f7f:   49 29 f5                sub    %rsi,%r13

   56f82:   41 8d 55 02             lea    0x2(%r13),%edx

   56f86:   4c 89 f7                mov    %r14,%rdi

   56f89:   41 ff d7                callq  *%r15

   56f8c:   0f b6 45 cf             movzbl -0x31(%rbp),%eax

   56f90:   88 43 01                mov    %al,0x1(%rbx)

   56f93:   48 8d 73 01             lea    0x1(%rbx),%rsi

   56f97:   41 83 c5 01             add    $0x1,%r13d

   56f9b:   45 29 ec                sub    %r13d,%r12d

   56f9e:   48 83 c3 01             add    $0x1,%rbx

   56fa2:   4d 63 ec                movslq %r12d,%r13

   56fa5:   4a 8d 44 2e ff          lea    -0x1(%rsi,%r13,1),%rax

   56faa:   48 39 d8                cmp    %rbx,%rax

   56fad:   77 ba                   ja     56f69 <console_print+0x80>

   56faf:   eb 03                   jmp    56fb4 <console_print+0xcb>

   56fb1:   48 89 de                mov    %rbx,%rsi

   56fb4:   80 38 0a                cmpb   $0xa,(%rax)

   56fb7:   75 0c                   jne    56fc5 <console_print+0xdc>

   56fb9:   c6 00 0d                movb   $0xd,(%rax)

   56fbc:   42 c6 04 2e 0a          movb   $0xa,(%rsi,%r13,1)

   56fc1:   41 83 c4 01             add    $0x1,%r12d

   56fc5:   44 89 e2                mov    %r12d,%edx

   56fc8:   4c 89 f7                mov    %r14,%rdi

   *56fcb:   41 ff d7                callq  *%r15*

   56fce:   48 8b 65 c0             mov    -0x40(%rbp),%rsp

   56fd2:   48 8d 65 d8             lea    -0x28(%rbp),%rsp

   56fd6:   5b                      pop    %rbx

   56fd7:   41 5c                   pop    %r12

   56fd9:   41 5d                pop    %r13

   56fdb:   41 5e                   pop    %r14

   56fdd:   41 5f                   pop    %r15

   56fdf:   5d                      pop    %rbp

   56fe0:   c3                      retq





I added the options –fno-pic to TARGET_CFLAGS and TARGET_CPPFLAGS and
–no-pie to TARGET_LDFLAGS and recompile the kernel. Now, the kernel carshed
at instruction 0x673bb in the run_idle_thread function:



00000000000673ac <run_idle_thread>:

   673ac:   55                      push   %rbp

   673ad:   48 89 e5                mov    %rsp,%rbp

   673b0:   48 8b 05 00 00 00 00    mov    0x0(%rip),%rax        # 673b7
<run_idle_thread+0xb>

   673b7:   48 8b 60 10             mov    0x10(%rax),%rsp

   673bb:   ff 70 18                pushq  0x18(%rax)

   673be:   c3                      retq

   673bf:   5d                      pop    %rbp

   673c0:   c3                      retq





Finally, just to try I commented out the run_idle_thread function and the
kernel crashed at the very beginning at 0x63. The kern dump in this case
points to the stack:



      5e:   e8 00 00 00 00          callq  63 <stack_start>



0000000000000063 <stack_start>:

    ...

      6b:   90                      nop

      6c:   90                      nop

      6d:   90                      nop





I am not familiar with the XTF relocalability code. Any pointer or
suggestion at this point would be again appreciated.



Thanks,

Bruno

On Thu, Dec 28, 2017 at 7:18 PM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:

> On 28/12/17 18:33, Bruno Alvisio wrote:
>
> (d360) Bootstrapping...
>
> (XEN) Dom360 callback via changed to Direct Vector 0x20
>
> (d360) Xen Minimal OS (hvm)!
>
> (XEN) d360v0 Triple fault - invoking HVM shutdown action 1
>
> (XEN) *** Dumping Dom360 vcpu#0 state: ***
>
> (XEN) ----[ Xen-4.10.0-rc  x86_64  debug=y   Not tainted ]----
>
> (XEN) CPU:    7
>
> (XEN) RIP:    0008:[<0000000000056fc8>]
>
> (XEN) RFLAGS: 0000000000010006   CONTEXT: hvm guest (d360v0)
>
> (XEN) rax: 00000000000bfe75   rbx: 00000000000bfe75   rcx:
> 0000000000000000
>
> (XEN) rdx: 0000000000000017   rsi: 00000000000bfe60   rdi:
> 0000000000000000
>
> (XEN) rbp: 00000000000bfec0   rsp: 00000000000bfe60   r8:
> 0000000000000000
>
> (XEN) r9:  0000000000089982   r10: 0000000000000016   r11:
> 0000000000000000
>
> (XEN) r12: 0000000000000017   r13: 0000000000000016   r14:
> 0000000000000000
>
> (XEN) r15: 0d8b4c1575ff8548   cr0: 0000000080000011   cr4:
> 0000000000000220
>
> (XEN) cr3: 0000000000099000   cr2: 0000000000000000
>
> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss:
> 0000000000000000
>
> (XEN) ds: 0033   es: 0033   fs: 0033   gs: 0033   ss: 0000   cs: 0008
>
>
>
>
>
> Any help on this would be greatly appreciated.
>
>
> You will need to disassemble your minios kernel and see which instruction
> is at 0x56fc8.  (Chances are, it will be `jmp %r15`).
>
> The content of %r15 looks like x86 opcode, which is reminiscent of the XTF
> relocatability bugs.  Make doubly sure you are compiling with -fno-pic and
> link with -no-pie.
>
> ~Andrew
>

[-- Attachment #1.2: Type: text/html, Size: 31488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Building PVH mini-os with libc support
  2017-12-28 23:49   ` Bruno Alvisio
@ 2017-12-29  0:25     ` Andrew Cooper
  0 siblings, 0 replies; 4+ messages in thread
From: Andrew Cooper @ 2017-12-29  0:25 UTC (permalink / raw)
  To: Bruno Alvisio; +Cc: minios-devel, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 10433 bytes --]

On 28/12/2017 23:49, Bruno Alvisio wrote:
>
> Hello Andrew,
>
>  
>
> Thanks. Yup, you were right. I did an objdump of the kernel and found
> the offending instruction 0x5cfcb to be callq *%r15 in the
> console_print function (see below):
>

Answering out of order...

> I am not familiar with the XTF relocalability code. Any pointer or
> suggestion at this point would be again appreciated.
>

XTF is the Xen Test Framework, a microkernel project for testing purposes.

http://xenbits.xen.org/gitweb/?p=xtf.git;a=summary
http://xenbits.xen.org/docs/xtf/

Amongst other things, it runs as a set of regression tests for all new
code introduced into upstream Xen.

All I meant by that statement was "I recall bugs like this", which is
why I made the blind guess at your offending opcode being `jmp *%r15`.

>  
>
> 0000000000056ee9 <console_print>:
>
>    56ee9:   55                      push   %rbp
>
>    56eea:   48 89 e5                mov    %rsp,%rbp
>
>    56eed:   41 57                   push   %r15
>
>    56eef:   41 56                   push   %r14
>
>    56ef1:   41 55                   push   %r13
>
>    56ef3:   41 54                   push   %r12
>
>    56ef5:   53                      push   %rbx
>
>    56ef6:   48 83 ec 18             sub    $0x18,%rsp
>
>    56efa:   49 89 fe                mov    %rdi,%r14
>
>    56efd:   41 89 d4                mov    %edx,%r12d
>
>    56f00:   48 89 65 c0             mov    %rsp,-0x40(%rbp)
>
>    56f04:   8d 42 01                lea    0x1(%rdx),%eax
>
>    56f07:   48 98                   cltq   
>
>    56f09:   48 83 c0 0f             add    $0xf,%rax
>
>    56f0d:   48 83 e0 f0             and    $0xfffffffffffffff0,%rax
>
>    56f11:   48 29 c4                sub    %rax,%rsp
>
>    56f14:   48 89 e3                mov    %rsp,%rbx
>
>    56f17:   83 3d 00 00 00 00 00    cmpl   $0x0,0x0(%rip)        #
> 56f1e <console_print+0x35>
>
>    56f1e:   74 09                   je     56f29 <console_print+0x40>
>
>    56f20:   4c 8b 3d 00 00 00 00    mov    0x0(%rip),%r15        #
> 56f27 <console_print+0x3e>
>
>    56f27:   eb 07                   jmp    56f30 <console_print+0x47>
>
>    56f29:   4c 8b 3d 00 00 00 00    mov    0x0(%rip),%r15        #
> 56f30 <console_print+0x47>
>
>    56f30:   4d 85 f6                test   %r14,%r14
>
>    56f33:   74 19                   je     56f4e <console_print+0x65>
>
>    56f35:   41 80 7e 30 00          cmpb   $0x0,0x30(%r14)
>
>    56f3a:   74 12                   je     56f4e <console_print+0x65>
>
>    56f3c:   44 89 e2                mov    %r12d,%edx
>
>    56f3f:   4c 89 f7                mov    %r14,%rdi
>
>    56f42:   41 ff d7                callq  *%r15
>
>    56f45:   48 8b 65 c0             mov    -0x40(%rbp),%rsp
>
>    56f49:   e9 84 00 00 00          jmpq   56fd2 <console_print+0xe9>
>
>    56f4e:   4d 63 ec                movslq %r12d,%r13
>
>    56f51:   4c 89 ea                mov    %r13,%rdx
>
>    56f54:   48 89 df                mov    %rbx,%rdi
>
>    56f57:   e8 00 00 00 00          callq  56f5c <console_print+0x73>
>
>    56f5c:   4a 8d 44 2b ff          lea    -0x1(%rbx,%r13,1),%rax
>
>    56f61:   48 39 c3                cmp    %rax,%rbx
>
>    56f64:   73 4b                   jae    56fb1 <console_print+0xc8>
>
>    56f66:   48 89 de                mov    %rbx,%rsi
>
>    56f69:   80 3b 0a                cmpb   $0xa,(%rbx)
>
>    56f6c:   75 30                   jne    56f9e <console_print+0xb5>
>
>    56f6e:   c6 03 0d                movb   $0xd,(%rbx)
>
>    56f71:   0f b6 43 01             movzbl 0x1(%rbx),%eax
>
>    56f75:   88 45 cf                mov    %al,-0x31(%rbp)
>
>    56f78:   c6 43 01 0a             movb   $0xa,0x1(%rbx)
>
>    56f7c:   49 89 dd                mov    %rbx,%r13
>
>    56f7f:   49 29 f5                sub    %rsi,%r13
>
>    56f82:   41 8d 55 02             lea    0x2(%r13),%edx
>
>    56f86:   4c 89 f7                mov    %r14,%rdi
>
>    56f89:   41 ff d7                callq  *%r15
>
>    56f8c:   0f b6 45 cf             movzbl -0x31(%rbp),%eax
>
>    56f90:   88 43 01                mov    %al,0x1(%rbx)
>
>    56f93:   48 8d 73 01             lea    0x1(%rbx),%rsi
>
>    56f97:   41 83 c5 01             add    $0x1,%r13d
>
>    56f9b:   45 29 ec                sub    %r13d,%r12d
>
>    56f9e:   48 83 c3 01             add    $0x1,%rbx
>
>    56fa2:   4d 63 ec                movslq %r12d,%r13
>
>    56fa5:   4a 8d 44 2e ff          lea    -0x1(%rsi,%r13,1),%rax
>
>    56faa:   48 39 d8                cmp    %rbx,%rax
>
>    56fad:   77 ba                   ja     56f69 <console_print+0x80>
>
>    56faf:   eb 03                   jmp    56fb4 <console_print+0xcb>
>
>    56fb1:   48 89 de                mov    %rbx,%rsi
>
>    56fb4:   80 38 0a                cmpb   $0xa,(%rax)
>
>    56fb7:   75 0c                   jne    56fc5 <console_print+0xdc>
>
>    56fb9:   c6 00 0d                movb   $0xd,(%rax)
>
>    56fbc:   42 c6 04 2e 0a          movb   $0xa,(%rsi,%r13,1)
>
>    56fc1:   41 83 c4 01             add    $0x1,%r12d
>
>    56fc5:   44 89 e2                mov    %r12d,%edx
>
>    56fc8:   4c 89 f7                mov    %r14,%rdi
>
>    *56fcb:   41 ff d7                callq  *%r15*
>
>    56fce:   48 8b 65 c0             mov    -0x40(%rbp),%rsp
>
>    56fd2:   48 8d 65 d8             lea    -0x28(%rbp),%rsp
>
>    56fd6:   5b                      pop    %rbx
>
>    56fd7:   41 5c                   pop    %r12
>
>    56fd9:   41 5d                pop    %r13
>
>    56fdb:   41 5e                   pop    %r14
>
>    56fdd:   41 5f                   pop    %r15
>
>    56fdf:   5d                      pop    %rbp
>
>    56fe0:   c3                      retq
>
>  
>
>  
>
> I added the options –fno-pic to TARGET_CFLAGS and TARGET_CPPFLAGS and
> –no-pie to TARGET_LDFLAGS and recompile the kernel. Now, the kernel
> carshed at instruction 0x673bb in the run_idle_thread function:
>
>  
>
> 00000000000673ac <run_idle_thread>:
>
>    673ac:   55                      push   %rbp
>
>    673ad:   48 89 e5                mov    %rsp,%rbp
>
>    673b0:   48 8b 05 00 00 00 00    mov    0x0(%rip),%rax        #
> 673b7 <run_idle_thread+0xb>
>
>    673b7:   48 8b 60 10             mov    0x10(%rax),%rsp
>
>    673bb:   ff 70 18                pushq  0x18(%rax)
>
>    673be:   c3                      retq
>
>    673bf:   5d                      pop    %rbp
>
>    673c0:   c3                     retq
>
>  
>
>  
>
> Finally, just to try I commented out the run_idle_thread function and
> the kernel crashed at the very beginning at 0x63. The kern dump in
> this case points to the stack:
>
>  
>
>       5e:   e8 00 00 00 00          callq  63 <stack_start>
>

Both the above mov instruction at 0x673b0 and this call instruction with
a 4-byte displacement of 0 look suspiciously like they are waiting for
relocation, as displacements of 0 are exceedingly rare (there are more
efficient ways to encode such operands).

Therefore, I don't think you've succeeded in preventing your binary from
being relocatable.

~Andrew

>  
>
> 0000000000000063 <stack_start>:
>
>     ...
>
>       6b:   90                      nop
>
>       6c:   90                      nop
>
>       6d:   90                      nop
>
>  
>
>  
>
> Thanks,
>
> Bruno
>
>
> On Thu, Dec 28, 2017 at 7:18 PM, Andrew Cooper
> <andrew.cooper3@citrix.com <mailto:andrew.cooper3@citrix.com>> wrote:
>
>     On 28/12/17 18:33, Bruno Alvisio wrote:
>>     (d360) Bootstrapping...
>>
>>     (XEN) Dom360 callback via changed to Direct Vector 0x20
>>
>>     (d360) Xen Minimal OS (hvm)!
>>
>>     (XEN) d360v0 Triple fault - invoking HVM shutdown action 1
>>
>>     (XEN) *** Dumping Dom360 vcpu#0 state: ***
>>
>>     (XEN) ----[ Xen-4.10.0-rc  x86_64  debug=y   Not tainted ]----
>>
>>     (XEN) CPU:    7
>>
>>     (XEN) RIP:    0008:[<0000000000056fc8>]
>>
>>     (XEN) RFLAGS: 0000000000010006   CONTEXT: hvm guest (d360v0)
>>
>>     (XEN) rax: 00000000000bfe75   rbx: 00000000000bfe75   rcx:
>>     0000000000000000
>>
>>     (XEN) rdx: 0000000000000017   rsi: 00000000000bfe60   rdi:
>>     0000000000000000
>>
>>     (XEN) rbp: 00000000000bfec0   rsp: 00000000000bfe60   r8: 
>>     0000000000000000
>>
>>     (XEN) r9:  0000000000089982   r10: 0000000000000016   r11:
>>     0000000000000000
>>
>>     (XEN) r12: 0000000000000017   r13: 0000000000000016   r14:
>>     0000000000000000
>>
>>     (XEN) r15: 0d8b4c1575ff8548   cr0: 0000000080000011   cr4:
>>     0000000000000220
>>
>>     (XEN) cr3: 0000000000099000   cr2: 0000000000000000
>>
>>     (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss:
>>     0000000000000000
>>
>>     (XEN) ds: 0033   es: 0033   fs: 0033   gs: 0033   ss: 0000   cs: 0008
>>
>>      
>>
>>      
>>
>>     Any help on this would be greatly appreciated.
>>
>
>     You will need to disassemble your minios kernel and see which
>     instruction is at 0x56fc8.  (Chances are, it will be `jmp %r15`).
>
>     The content of %r15 looks like x86 opcode, which is reminiscent of
>     the XTF relocatability bugs.  Make doubly sure you are compiling
>     with -fno-pic and link with -no-pie.
>
>     ~Andrew
>
>


[-- Attachment #1.2: Type: text/html, Size: 41007 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-12-29  0:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-28 18:33 Building PVH mini-os with libc support Bruno Alvisio
2017-12-28 19:18 ` Andrew Cooper
2017-12-28 23:49   ` Bruno Alvisio
2017-12-29  0:25     ` Andrew Cooper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.