[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Re: Oops when loading xen_platform_pci module in HVMdomain on CS 11429
"Yu, Ke" <ke.yu@xxxxxxxxx> wrote on 09/07/2006 08:09:43 PM: > Steve Dobbelstein wrote: > > steved@xxxxxxxxxx wrote on 09/05/2006 07:56:00 PM: > > > > Digging into this further I found that the problem is that they > > hypercall mechanism its trying to execute the instructions for the > > hypercall which reside in the hypercall stubs page. However, the > > page table entry for the page has the _PAGE_NX (no execute) bit set. > > (I'm running a 64-bit OS with PAE in the HVM domain.) The error code > > in the oops (0x11) indicates that the page fault is because of the > > _PAGE_NX bit. 0x01 -> access rights violation 0x10 -> The fault was > > caused by an instruction fetch. > > > > I tried hacking some code to turn off the NX bit in the PTE for the > > hypercall stubs page, but I still get the oops. I'm thinking it's > > because the NX bit is set in the PMD. > > > > I'm quite new to the paging mechanism, so I'm not sure how to fix > > this at the moment. I'll keep poking around. thought I'd share my > > findings so far. > > > > Steve D. > > > > I also meet this opps in IA32 Non-PAE guest . Since it has no NX bit > in IA32, there may be other issue. Hope this info is helpful. > > Best Regards > Ke > > Xen version 3.0. > Hypercall area is 1 pages (order 0 allocation) > Unable to handle kernel paging request at virtual address 1dd9c27c > printing eip: > cdd9e00c > *pde = 00000000 > Oops: 0002 [#1] > PREEMPT > Modules linked in: xen_platform_pci > CPU: 0 > EIP: 0060:[<cdd9e00c>] Not tainted VLI > EFLAGS: 00010202 (2.6.16 #3) > EIP is at 0xcdd9e00c > eax: 1dd9c27c ebx: 00000006 ecx: cdcffe04 edx: 00000000 > esi: 00000001 edi: cdcffe08 ebp: 00000006 esp: cdcffdf4 > ds: 007b es: 007b ss: 0068 > Process insmod (pid: 3778, threadinfo=cdcfe000 task=cfc16530) > Stack: <0>0000007b d0809f53 d080a7af cdd9c000 00000000 00000000 > 00000000 00000007 > 00000000 f3000000 0000c100 d081100e 566e6558 65584d4d > 4d4d566e cfeb0900 > cfeb0800 cfeb0800 f3000000 cfeb0800 d0809667 c0454b00 > 0000c100 00000100 > Call Trace: > [<d0809f53>] setup_xen_features+0x43/0x90 [xen_platform_pci] > [<d081100e>] init_xen_info+0xe/0xa0 [xen_platform_pci] > [<d0809667>] platform_pci_init+0xf7/0x250 [xen_platform_pci] > [<c012a900>] __call_usermodehelper+0x0/0x70 > [<c022caea>] pci_match_device+0x2a/0x120 > [<c022cc65>] __pci_device_probe+0x65/0x80 > [<c022ccaf>] pci_device_probe+0x2f/0x60 > [<c02940e9>] driver_probe_device+0x99/0xf0 > [<c02941c0>] __driver_attach+0x0/0x70 > [<c0294227>] __driver_attach+0x67/0x70 > [<c029347d>] bus_for_each_dev+0x5d/0x80 > [<c0294255>] driver_attach+0x25/0x30 > [<c02941c0>] __driver_attach+0x0/0x70 > [<c0293a84>] bus_add_driver+0x84/0xe0 > [<c0294783>] driver_register+0x63/0xa0 > [<c0294700>] klist_devices_get+0x0/0x10 > [<c0294710>] klist_devices_put+0x0/0x10 > [<c022cf65>] __pci_register_driver+0x55/0x90 > [<d08110b9>] platform_pci_module_init+0x19/0x50 [xen_platform_pci] > [<c0136cc2>] sys_init_module+0x132/0x200 > [<c0103115>] syscall_call+0x7/0xb > Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 f8 04 14 46 05 00 00 00 50 06 14 46 > <00> 00 00 00 50 06 14 46 00 00 00 00 00 00 00 00 00 00 00 00 00 Hi, Ke. Thanks for the tip. Your page fault appears to be after the hypercall. On my system the hypercall is at setup_xen_features+40. Your page fault is at setup_xen_features+0x43. I'm running on a 64-bit OS, so I would expect my code for setup_xen_features to be a little larger than the 32-bit version. That would mean the hypercall on the 32-bit version would be at or before offset 0x40. So I thing yours is page faulting after the hypercall. Also, the error code in your oops indicates the fault was caused by a write to a non-present page while in supervisor mode. That's different from the execution fault that I am seeing. I'll be aware that once I fix the fault on the hypercall that I might run into another page fault soon thereafter. Steve D. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |