19 messages in com.xensource.lists.xen-ia64-devel[Xen-ia64-devel] Re: [patch 0/7] Kexe...
FromSent OnAttachments
Simon Horman28 Oct 2007 21:48 
Simon Horman28 Oct 2007 21:48.patch
Simon Horman28 Oct 2007 21:48.patch
Simon Horman28 Oct 2007 21:48.patch
Simon Horman28 Oct 2007 21:48.patch
Simon Horman28 Oct 2007 21:48.patch
Simon Horman28 Oct 2007 21:48.patch
Alex Williamson30 Oct 2007 11:52 
Simon Horman30 Oct 2007 18:55 
Simon Horman31 Oct 2007 01:59 
Alex Williamson31 Oct 2007 10:50.txt, .txt
Simon Horman01 Nov 2007 00:11 
Simon Horman09 Nov 2007 19:28 
Aron Griffis11 Nov 2007 10:46 
Simon Horman11 Nov 2007 17:40 
Simon Horman11 Nov 2007 19:10 
Aron Griffis15 Nov 2007 14:37 
Aron Griffis15 Nov 2007 15:09 
Alex Williamson18 Nov 2007 10:45.log, .log
Subject:[Xen-ia64-devel] Re: [patch 0/7] Kexec: EFI Mapping: Take III
From:Simon Horman (hor@verge.net.au)
Date:10/30/2007 06:55:42 PM
List:com.xensource.lists.xen-ia64-devel

On Tue, Oct 30, 2007 at 12:52:49PM -0600, Alex Williamson wrote:

On Mon, 2007-10-29 at 13:48 +0900, Simon Horman wrote:

Hi,

here is an update on the patch series to solve the EFI mapping for kexec. The major change is to remove the C-code portions of the page fault handling changes and instead implement all of the identity mapping in assembly, as suggested by Tristan Gingold.

Although this does make the assembly a little bulkier, removing the aditional complexity from the C code does seem to be a win, and I beleive that overall there are less lines of code changed (though I haven't counted).

Hi Simon,

This isn't working for me. Dom0 doesn't quite boot, log below. Let me know what you think. This is on an rx6600, I assume this series works on the rx2600 you test with. Has anyone else had success/failure with this series? Thanks,

Hi Alex,

the patch set does indeed work on my rx2620. I am guessing that what is happening is that a fault for an EFI address is coming through one of the page fault handlers in ivt.S that I didn't modify. The fault then falls through to ia64_do_page_fault() which the current patch set doesn't teach about EFI identity mappings. I'll send a patch which should allow us (you :) to isolate which one. I can then scratch my head for a bit and make the appropriate adjustments.

Alex

Intel(R) PRO/1000 Network Driver - version 7.1.9-k4 Copyright (c) 1999-2006 Intel Corporation. Unable to handle kernel paging request at virtual address c0000000ff68773a swapper[1]: Oops 8804682956800 [1] Modules linked in:

Pid: 1, CPU 0, comm: swapper psr : 00001010085a6010 ifs : 8000000000000693 ip : [<a0000001005668b0>] Not
tainted ip is at acpi_ex_system_memory_space_handler+0x4b0/0x520 unat: 0000000000000000 pfs : 4000000000000693 rsc : 0000000000000007 rnat: 0000000000000000 bsps: 0000000000000000 pr : 000000000000a641 ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c8a70433f csd : 0000000000000000 ssd : 0000000000000000 b0 : a000000100566640 b6 : a000000100556f00 b7 : 0000000000000000 f6 : 000000000000000000000 f7 : 000000000000000000000 f8 : 000000000000000000000 f9 : 000000000000000000000 f10 : 000000000000000000000 f11 : 000000000000000000000 r1 : a000000101133730 r2 : 0000000000000030 r3 : f000000007be7ec8 r8 : 0000000000000000 r9 : 00000000000e4000 r10 : 0000000000000000 r11 : a000000100d04000 r12 : e0000001c07a7cb0 r13 : e0000001c07a0000 r14 : c000000000000000 r15 : c0000000ff68773a r16 : 00000000ff68773a r17 : fffffffffffff000 r18 : 0000000000000000 r19 : 0000000000000000 r20 : 0009804c8a70433f r21 : a00000010006be60 r22 : 0000000000000000 r23 : e0000001c07a15d0 r24 : 0000000000000000 r25 : 0000000000000000 r26 : 400000000000028b r27 : c0000000ff68773a r28 : 0000000000000000 r29 : e0000001bed71d18 r30 : 00000000ff68773a r31 : 00000000ff68773a

Call Trace: [<a00000010001dac0>] show_stack+0x40/0xa0 sp=e0000001c07a7860 bsp=e0000001c07a1968 [<a00000010001e720>] show_regs+0x840/0x880 sp=e0000001c07a7a30 bsp=e0000001c07a1910 [<a0000001000432c0>] die+0x1c0/0x380 sp=e0000001c07a7a30 bsp=e0000001c07a18c8 [<a00000010006acf0>] ia64_do_page_fault+0x870/0x9a0 sp=e0000001c07a7a50 bsp=e0000001c07a1878 [<a00000010006d4c0>] xen_leave_kernel+0x0/0x3e0 sp=e0000001c07a7ae0 bsp=e0000001c07a1878 [<a0000001005668b0>] acpi_ex_system_memory_space_handler+0x4b0/0x520 sp=e0000001c07a7cb0 bsp=e0000001c07a17d8 [<a000000100554060>] acpi_ev_address_space_dispatch+0x380/0x460 sp=e0000001c07a7cd0 bsp=e0000001c07a1770 [<a00000010055f650>] acpi_ex_access_region+0x4b0/0x4e0 sp=e0000001c07a7ce0 bsp=e0000001c07a16f0 [<a00000010055f910>] acpi_ex_field_datum_io+0x290/0x420 sp=e0000001c07a7cf0 bsp=e0000001c07a16b0 [<a000000100560010>] acpi_ex_write_with_update_rule+0x1d0/0x200 sp=e0000001c07a7d10 bsp=e0000001c07a1678 [<a000000100560230>] acpi_ex_insert_into_field+0x1f0/0x380 sp=e0000001c07a7d20 bsp=e0000001c07a15f0 [<a00000010055c220>] acpi_ex_write_data_to_field+0x4a0/0x500 sp=e0000001c07a7d30 bsp=e0000001c07a15a0 [<a000000100566a60>] acpi_ex_store_object_to_node+0x140/0x200 sp=e0000001c07a7d30 bsp=e0000001c07a1558 [<a000000100566f00>] acpi_ex_store+0x200/0x640 sp=e0000001c07a7d50 bsp=e0000001c07a1520 [<a000000100561800>] acpi_ex_opcode_1A_1T_1R+0x840/0xb80 sp=e0000001c07a7d60 bsp=e0000001c07a14d8 [<a00000010054cf30>] acpi_ds_exec_end_op+0x210/0xac0 sp=e0000001c07a7d80 bsp=e0000001c07a1490 [<a000000100575a20>] acpi_ps_parse_loop+0x1040/0x1940 sp=e0000001c07a7d80 bsp=e0000001c07a1430 [<a000000100573e60>] acpi_ps_parse_aml+0x100/0x560 sp=e0000001c07a7d90 bsp=e0000001c07a13d8 [<a000000100577210>] acpi_ps_execute_pass+0x130/0x180 sp=e0000001c07a7d90 bsp=e0000001c07a1398 [<a000000100577550>] acpi_ps_execute_method+0x210/0x3e0 sp=e0000001c07a7d90 bsp=e0000001c07a1368 [<a00000010056f010>] acpi_ns_evaluate+0x150/0x280 sp=e0000001c07a7d90 bsp=e0000001c07a1328 [<a00000010056e4a0>] acpi_evaluate_object+0x300/0x4e0 sp=e0000001c07a7d90 bsp=e0000001c07a12d8 [<a00000010058acd0>] acpi_bus_set_power+0x310/0x480 sp=e0000001c07a7da0 bsp=e0000001c07a12a8 [<a00000010051c5f0>] acpi_pci_set_power_state+0x50/0x80 sp=e0000001c07a7db0 bsp=e0000001c07a1280 [<a0000001005099d0>] pci_set_power_state+0x470/0x4e0 sp=e0000001c07a7db0 bsp=e0000001c07a1248 [<a000000100509a70>] pci_enable_device_bars+0x30/0xa0 sp=e0000001c07a7dc0 bsp=e0000001c07a1220 [<a000000100509b30>] pci_enable_device+0x50/0xc0 sp=e0000001c07a7dc0 bsp=e0000001c07a11e8 [<a00000010062ce90>] e1000_probe+0x30/0x16a0 sp=e0000001c07a7dc0 bsp=e0000001c07a1180 [<a00000010050d980>] pci_device_probe+0x1c0/0x2a0 sp=e0000001c07a7dd0 bsp=e0000001c07a1138 [<a0000001005fe0c0>] driver_probe_device+0x100/0x1e0 sp=e0000001c07a7dd0 bsp=e0000001c07a1100 [<a0000001005fe3c0>] __driver_attach+0xc0/0x160 sp=e0000001c07a7dd0 bsp=e0000001c07a10d0 [<a0000001005fd360>] bus_for_each_dev+0x80/0x100 sp=e0000001c07a7dd0 bsp=e0000001c07a1098 [<a0000001005fdee0>] driver_attach+0x40/0x60 sp=e0000001c07a7df0 bsp=e0000001c07a1078 [<a0000001005fcae0>] bus_add_driver+0xe0/0x2c0 sp=e0000001c07a7df0 bsp=e0000001c07a1038 [<a0000001005fe910>] driver_register+0x170/0x1a0 sp=e0000001c07a7df0 bsp=e0000001c07a1018 [<a00000010050ddf0>] __pci_register_driver+0xb0/0x120 sp=e0000001c07a7df0 bsp=e0000001c07a0fe8 [<a000000100c79360>] e1000_init_module+0x80/0xa0 sp=e0000001c07a7e00 bsp=e0000001c07a0fd0 [<a000000100011900>] init+0x320/0x840 sp=e0000001c07a7e00 bsp=e0000001c07a0f98 [<a00000010001bf90>] kernel_thread_helper+0x30/0x60 sp=e0000001c07a7e30 bsp=e0000001c07a0f70 [<a0000001000110e0>] start_kernel_thread+0x20/0x40 sp=e0000001c07a7e30 bsp=e0000001c07a0f70 <0>Kernel panic - not syncing: Attempted to kill init! (XEN) Domain 0 crashed: rebooting machine in 5 seconds.