All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Juergen Gross <jgross@suse.com>, Wei Liu <wei.liu2@citrix.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xen.org, ian.jackson@eu.citrix.com,
	stefano.stabellini@eu.citrix.com, roger.pau@citrix.com
Subject: Re: pvgrub "Error 9: Unknown boot failure" booting Debian Jessie kernel (Was: Re: [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported)
Date: Mon, 30 Nov 2015 16:25:36 +0000	[thread overview]
Message-ID: <1448900736.15768.50.camel@citrix.com> (raw)
In-Reply-To: <565C7631.4000505@suse.com>

On Mon, 2015-11-30 at 17:15 +0100, Juergen Gross wrote:
> I'll try to trigger it on my machine and see if I can get some more
> debug information.

Thanks. Below is what I have so far.

It seems to thing mfn=165b81/pfn=4d81 is an L1 PT, when it needs to be a
writeable page due to the reference from the PT at mfn=1bfd9a.

But I don't see anything in the logging which mentioned pfns > 0x4be0+0x1,
i.e. far short of 0x4d81.

I'm also a little confused that the PFNs which the Xen side logging is
arriving at do not fall into the range which has supposedly been allocated
as the guest page tables. Perhaps the m2p isn't expected to be correct at
this point?

e.g. we think the root PT is pfn=4be3/mfn=1bfd71, but when Xen converts
1bfd71 back to a pfn it gets ab71.

0x4be3 and 0xab71 are almost, but not quite, one bit shift offset from each
other.

TBH I suspect the logging here is simply misleading me.

Ian.


(d54) domainbuilder: xc_dom_boot_xen_init: ver 4.7, caps xen-3.0-x86_hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
(d54)  
(d54) domainbuilder: xc_dom_parse_image: called
(d54) domainbuilder: xc_dom_find_loader: trying multiboot-binary loader ... 
(d54) domainbuilder: loader probe failed
(d54) domainbuilder: xc_dom_find_loader: trying HVM-generic loader ... 
(d54) domainbuilder: loader probe failed
(d54) domainbuilder: xc_dom_find_loader: trying Linux bzImage loader ... 
(d54) domainbuilder: loader probe OK
(d54) xc: elf_parse_binary: phdr: paddr=0x1000000 memsz=0x7ca000
(d54) xc: elf_parse_binary: phdr: paddr=0x1800000 memsz=0xee000
(d54) xc: elf_parse_binary: phdr: paddr=0x18ee000 memsz=0x13c00
(d54) xc: elf_parse_binary: phdr: paddr=0x1902000 memsz=0x616000
(d54) xc: elf_parse_binary: memory: 0x1000000 -> 0x1f18000
(d54) xc: elf_xen_parse_note: GUEST_OS = "linux"
(d54) xc: elf_xen_parse_note: GUEST_VERSION = "2.6"
(d54) xc: elf_xen_parse_note: XEN_VERSION = "xen-3.0"
(d54) xc: elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
(d54) xc: elf_xen_parse_note: ENTRY = 0xffffffff819021f0
(d54) xc: elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
(d54) xc: elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physma
(d54) p|supervisor_mode_kernel"
(d54) xc: elf_xen_parse_note: SUPPORTED_FEATURES = 0x90d
(d54) xc: elf_xen_parse_note: PAE_MODE = "yes"
(d54) xc: elf_xen_parse_note: LOADER = "generic"
(d54) xc: elf_xen_parse_note: unknown xen elf note (0xd)
(d54) xc: elf_xen_parse_note: SUSPEND_CANCEL = 0x1
(d54) xc: elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
(d54) xc: elf_xen_parse_note: PADDR_OFFSET = 0x0
(d54) xc: elf_xen_addr_calc_check: addresses:
(d54) xc:     virt_base        = 0xffffffff80000000
(d54) xc:     elf_paddr_offset = 0x0
(d54) xc:     virt_offset      = 0xffffffff80000000
(d54) xc:     virt_kstart      = 0xffffffff81000000
(d54) xc:     virt_kend        = 0xffffffff81f18000
(d54) xc:     virt_entry       = 0xffffffff819021f0
(d54) xc:     p2m_base         = 0xffffffffffffffff
(d54) domainbuilder: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0xffffffff81000000 -> 0xffffffff81f18000
(d54) domainbuilder: xc_dom_build_image: called
(d54) domainbuilder: xc_dom_alloc_pad: called
(d54) domainbuilder: xc_dom_chk_alloc_pages: limits after padding: pfn=1000 virt=ffffffff81000000
(d54) domainbuilder: xc_dom_chk_alloc_pages: limits after kernel: pfn=1f18 virt=ffffffff81f18000
(d54) domainbuilder: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x1000+0xf18 at 0000000020005000
(d54) domainbuilder: xc_dom_alloc_segment:   kernel       : 0xffffffff81000000 -> 0xffffffff81f18000  (pfn 0x1000 + 0xf18 pages)
(d54) xc: elf_load_binary: phdr 0 at 0x20005000 -> 0x207cf000
(d54) xc: elf_load_binary: phdr 1 at 0x20805000 -> 0x208f3000
(d54) xc: elf_load_binary: phdr 2 at 0x208f3000 -> 0x20906c00
(d54) xc: elf_load_binary: phdr 3 at 0x20907000 -> 0x20a26000
(d54) domainbuilder: xc_dom_chk_alloc_pages: limits after ramdisk: pfn=4ae0 virt=ffffffff84ae0000
(d54) domainbuilder: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x1f18+0x2bc8 at 0000000020f1d000
(d54) domainbuilder: xc_dom_alloc_segment:   ramdisk      : 0xffffffff81f18000 -> 0xffffffff84ae0000  (pfn 0x1f18 + 0x2bc8 pages)
(d54) domainbuilder: alloc_p2m_list_x86_64: called
(d54) domainbuilder: alloc_p2m_list: called
(d54) domainbuilder: xc_dom_chk_alloc_pages: limits after phys2mach: pfn=4be0 virt=ffffffff84be0000
(d54) domainbuilder: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x4ae0+0x100 at 0000000023ae5000
(d54) domainbuilder: xc_dom_alloc_segment:   phys2mach    : 0xffffffff84ae0000 -> 0xffffffff84be0000  (pfn 0x4ae0 + 0x100 pages)
(d54) domainbuilder: xc_dom_alloc_page   :   start info   : 0xffffffff84be0000 (pfn 0x4be0)
(d54) domainbuilder: xc_dom_alloc_page   :   xenstore     : 0xffffffff84be1000 (pfn 0x4be1)
(d54) domainbuilder: xc_dom_alloc_page   :   console      : 0xffffffff84be2000 (pfn 0x4be2)
(d54) domainbuilder: alloc_pgtables: called
(d54) domainbuilder: count_pgtables: 0x0000007fffffffff/39: 0x0000ff8000000000 -> 0x0000ffffffffffff, 1 table(s)
(d54) domainbuilder: count_pgtables: 0x000000003fffffff/30: 0x0000ffff80000000 -> 0x0000ffffbfffffff, 1 table(s)
(d54) domainbuilder: count_pgtables: 0x00000000001fffff/21: 0x0000ffff80000000 -> 0x0000ffff84ffffff, 40 table(s)
(d54) domainbuilder: alloc_pgtables, wants 43 PT pages
(d54) domainbuilder: xc_dom_chk_alloc_pages: limits after page tables: pfn=4c0e virt=ffffffff84c0e000
(d54) domainbuilder: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x4be3+0x2b at 0000000023be5000
(d54) domainbuilder: xc_dom_alloc_segment:   page tables  : 0xffffffff84be3000 -> 0xffffffff84c0e000  (pfn 0x4be3 + 0x2b pages)
(d54) domainbuilder: xc_dom_alloc_page   :   boot stack   : 0xffffffff84c0e000 (pfn 0x4c0e)
(d54) domainbuilder: xc_dom_build_image  : virt_alloc_end : 0xffffffff84c0f000
(d54) domainbuilder: xc_dom_build_image  : virt_pgtab_end : 0xffffffff85000000
(d54) domainbuilder: xc_dom_alloc_pad: called
(d54) domainbuilder: xc_dom_chk_alloc_pages: limits after padding: pfn=5000 virt=ffffffff85000000
(d54) domainbuilder: xc_dom_compat_check: supported guest type: xen-3.0-x86_64 <= matches
(d54) domainbuilder: xc_dom_compat_check: supported guest type: xen-3.0-x86_32p
(d54) domainbuilder: xc_dom_compat_check: supported guest type: hvm-3.0-x86_32
(d54) domainbuilder: xc_dom_compat_check: supported guest type: hvm-3.0-x86_32p
(d54) domainbuilder: xc_dom_compat_check: supported guest type: hvm-3.0-x86_64
(d54) virt base at ffffffff80000000
(d54) bootstack_pfn 4c0e
(d54) _boot_target ffffffff84c0e000
(d54) domainbuilder: xc_dom_update_guest_p2m: dst 64bit, pages 0x20000
(d54) domainbuilder: get_pg_table_x86: PFN 0x4be3
(d54) domainbuilder: get_pg_table_x86: PFN 0x4be4
(d54) domainbuilder: get_pg_table_x86: PFN 0x4be5
(d54) domainbuilder: get_pg_table_x86: PFN 0x4be6
(d54) domainbuilder: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 0x4be0+0x1 at 0000000023c10000
(d54) domainbuilder: start_info_x86_64: called
(d54) domainbuilder: domain builder memory footprint
(d54) domainbuilder:    allocated
(d54) domainbuilder:       malloc             : 123 kB
(d54) domainbuilder:       anon mmap          : 0 bytes
(d54) domainbuilder:    mapped
(d54) domainbuilder:       file mmap          : 0 bytes
(d54) domainbuilder:       domU mmap          : 60 MB
(d54) Unmap pfns 0 .. 0x4c0f
(d54) REBUILT Nov 30 2015 16:09:45
(d54) Pinning the boot page table pfn 4be3 / mfn 1bfd71/1bfd71
(d54) pin_table: MFN 1bfd71
(XEN) mm.c:2417:d54v0 Bad type (saw 1400000000000001 != exp 7000000000000000) for mfn 165b81 (pfn 4d81)
(XEN) mm.c:892:d54v0 Could not get page type PGT_writable_page
(XEN) mm.c:944:d54v0 Error getting mfn 165b81 (pfn 4d81) from L1 entry 0000000165b81023 for l1e_owner=54, pg_owner=54
(XEN) mm.c:1258:d54v0 Failure in alloc_l1_table: entry 385
(XEN) mm.c:2164:d54v0 Error while validating mfn 1bfd9a (pfn ab9a) for type 1000000000000000: caf=8000000000000002 taf=1000000000000001
(XEN) mm.c:952:d54v0 Attempt to create linear p.t. with write perms
(XEN) mm.c:1334:d54v0 Failure in alloc_l2_table: entry 38
(XEN) mm.c:2164:d54v0 Error while validating mfn 1bfd73 (pfn ab73) for type 2000000000000000: caf=8000000000000002 taf=2000000000000001
(XEN) mm.c:994:d54v0 Attempt to create linear p.t. with write perms
(XEN) mm.c:1416:d54v0 Failure in alloc_l3_table: entry 510
(XEN) mm.c:2164:d54v0 Error while validating mfn 1bfd72 (pfn ab72) for type 3000000000000000: caf=8000000000000002 taf=3000000000000001
(XEN) mm.c:1018:d54v0 Attempt to create linear p.t. with write perms
(XEN) mm.c:1495:d54v0 Failure in alloc_l4_table: entry 511
(XEN) mm.c:2164:d54v0 Error while validating mfn 1bfd71 (pfn ab71) for type 4000000000000000: caf=8000000000000002 taf=4000000000000001
(XEN) mm.c:3067:d54v0 Error while pinning mfn 1bfd71
(d54) domainbuilder: xc_dom_release: called
(d54) close(3)
> 
> 
> Juergen
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2015-11-30 16:25 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-12 13:43 [PATCH v5 0/9] libxc: support building large pv-domains Juergen Gross
2015-11-12 13:43 ` [PATCH v5 1/9] libxc: reorganize domain builder guest memory allocator Juergen Gross
2015-11-12 13:48   ` Wei Liu
2015-11-12 14:03     ` Juergen Gross
2015-11-12 14:47       ` Wei Liu
2015-11-12 14:47       ` Ian Campbell
2015-11-12 14:48         ` Wei Liu
2015-11-12 15:27         ` Juergen Gross
2015-11-12 15:55           ` Wei Liu
2015-11-13  4:41             ` Juergen Gross
2015-11-13  9:28             ` Ian Campbell
2015-11-13 11:13               ` Wei Liu
2015-11-12 13:43 ` [PATCH v5 2/9] xen: add generic flag to elf_dom_parms indicating support of unmapped initrd Juergen Gross
2015-11-12 13:43 ` [PATCH v5 3/9] libxc: rename domain builder count_pgtables to alloc_pgtables Juergen Gross
2015-11-12 13:43 ` [PATCH v5 4/9] libxc: introduce domain builder architecture specific data Juergen Gross
2015-11-12 13:43 ` [PATCH v5 5/9] libxc: use domain builder architecture private data for x86 pv domains Juergen Gross
2015-11-12 13:43 ` [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported Juergen Gross
2015-11-25 16:12   ` Boris Ostrovsky
2015-11-25 16:18     ` Wei Liu
2015-11-25 16:24       ` Boris Ostrovsky
2015-11-25 16:29       ` Ian Campbell
2015-11-25 16:31         ` Wei Liu
2015-11-25 16:34         ` Boris Ostrovsky
2015-11-26  5:06     ` Juergen Gross
2015-11-26  5:19       ` Juergen Gross
2015-11-26  7:35     ` Juergen Gross
2015-11-30 10:20       ` Wei Liu
2015-11-30 10:23         ` Juergen Gross
2015-11-30 10:29           ` Wei Liu
2015-11-30 10:34           ` Ian Campbell
2015-11-30 10:47             ` Juergen Gross
2015-11-30 10:51               ` Ian Campbell
2015-11-30 10:52                 ` Ian Campbell
2015-11-30 11:03                   ` Juergen Gross
2015-11-30 11:23                     ` Ian Campbell
2015-11-30 12:20                       ` Juergen Gross
2015-11-30 12:35                         ` Ian Campbell
2015-11-30 12:59                           ` Juergen Gross
2015-11-30 13:16                             ` pvgrub "Error 9: Unknown boot failure" booting Debian Jessie kernel (Was: Re: [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported) Ian Campbell
2015-11-30 13:41                               ` Ian Campbell
2015-11-30 14:10                                 ` Ian Campbell
2015-11-30 16:15                                 ` Juergen Gross
2015-11-30 16:25                                   ` Ian Campbell [this message]
2015-11-30 16:56                                     ` Ian Campbell
2015-12-01  7:15                                       ` Juergen Gross
2015-12-01  7:41                                         ` Juergen Gross
2015-12-01  8:30                                           ` Ian Campbell
2015-12-01  8:53                                             ` Juergen Gross
2015-12-01 10:01                                               ` Ian Campbell
2015-12-01 10:04                                                 ` Ian Campbell
2015-12-01 10:21                                                   ` Wei Liu
2015-12-01 10:31                                                     ` Ian Campbell
2015-12-01 10:33                                                       ` Wei Liu
2015-12-01 10:35                                                         ` Ian Campbell
2015-12-01 10:47                                                 ` Juergen Gross
2015-12-01  8:32                                         ` Ian Campbell
2015-12-01 11:12                                     ` dom builder logging from pvgrub Ian Campbell
2015-12-01 12:17                                       ` Samuel Thibault
2015-11-30 10:57                 ` [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported Juergen Gross
2015-11-30 18:00       ` Boris Ostrovsky
2015-11-12 13:43 ` [PATCH v5 7/9] libxc: split p2m allocation in domain builder from other magic pages Juergen Gross
2015-11-12 13:43 ` [PATCH v5 8/9] libxc: rework of domain builder's page table handler Juergen Gross
2015-11-12 13:47   ` Wei Liu
2015-11-12 13:48     ` Juergen Gross
2015-11-16 13:40       ` Ian Campbell
2015-11-16 14:32         ` Juergen Gross
2015-11-18 16:11   ` Boris Ostrovsky
2015-11-18 16:16     ` Wei Liu
2015-11-18 16:21       ` Boris Ostrovsky
2015-11-19  6:09         ` Juergen Gross
2015-11-19 13:41           ` Boris Ostrovsky
2015-11-12 13:43 ` [PATCH v5 9/9] libxc: create p2m list outside of kernel mapping if supported Juergen Gross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1448900736.15768.50.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jgross@suse.com \
    --cc=roger.pau@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.