[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] Failure to load the most recent kernel 2.6.32.10 ( xen/stable) under Xen 4.0 on F12 (serial log)


  • To: Boris Derzhavets <bderzhavets@xxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
  • From: "Yu, Ke" <ke.yu@xxxxxxxxx>
  • Date: Mon, 26 Apr 2010 17:32:50 +0800
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Marc - A. Dahlhaus \[ Administration | Westermann GmbH \]" <mad@xxxxxx>
  • Delivery-date: Mon, 26 Apr 2010 02:34:59 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcrjrzGr4IrIuFntRQyxOk7AXVh0JQBbs3nw
  • Thread-topic: [Xen-devel] Failure to load the most recent kernel 2.6.32.10 ( xen/stable) under Xen 4.0 on F12 (serial log)

Hi Boris,

Thanks for the info. Unluckily, the _PDC method is not in these two SSDT 
tables, so let's search more place for the _PDC method:

# acpidump > all.dat    # dump all acpi binary data
# acpixtract all.dat       # extract the DSDT, SSDT tables etc.

For each extracted table ,  please disassemble them:
# iasl -d xxxx.dat      # e.g. iasl -d DSDT.dat
# grep "PDC" *.dsl  #search _PDC in those disassemble files

If still no PDC is found, please search the "Load" command in those *.dsl 
files, usually the Load command has the following form:
        OperationRegion (XXXX, SystemMemory, <address>, <length>)
        Load(XXXX,  handle)
Where XXXX indicates memory block of [address , address+length], in which _PDS 
is possibly in.

Then use acpidump to get those memory block:
# acpidump --addr <address> --length <length> --binary --output xxxx.dat
# iasl -d xxxx.dat
# grep "PDC" *.dsl # again find the _PDC"

Once find the _PDC, please send out the *.dsl files.

Best Regards
Ke

-----Original Message-----
From: Boris Derzhavets [mailto:bderzhavets@xxxxxxxxx]
Sent: Saturday, April 24, 2010 9:08 PM
To: Konrad Rzeszutek Wilk; Yu, Ke
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Marc - A. Dahlhaus [ Administration | 
Westermann GmbH ]
Subject: RE: [Xen-devel] Failure to load the most recent kernel 2.6.32.10 ( 
xen/stable) under Xen 4.0 on F12 (serial log)

First dump obtained in previous message.
Second dump re-executed ( there was mistake at first run - 0x cff7e350 ):-

root@ServerLucid:~# acpidump --addr 0xcff7e350 --length 0x277 --binary --output 
ssdt2.dat
root@ServerLucid:~# iasl -d ssdt2.dat

Intel ACPI Component Architecture
AML Disassembler version 20090521 [Jun 30 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 3.0a

Loading Acpi table from file ssdt2.dat
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
......................
Parsing completed
Disassembly completed, written to "ssdt2.dsl"
root@ServerLucid:~# cat ssdt2.dsl
/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20090521
 *
 * Disassembly of ssdt2.dat, Sat Apr 24 17:04:06 2010
 *
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x00000277 (631)
 *     Revision         0x01
 *     Checksum         0x97
 *     OEM ID           "DpgPmm"
 *     OEM Table ID     "P002Ist"
 *     OEM Revision     0x00000012 (18)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20060113 (537264403)
 */
DefinitionBlock ("ssdt2.aml", "SSDT", 1, "DpgPmm", "P002Ist", 0x00000012)
{
    External (NCPU)
    External (NPCP, IntObj)
    External (PDC1)
    External (CFGD)
    External (\_PR_.P002, DeviceObj)

    Scope (\_PR.P002)
    {
        Method (_PPC, 0, NotSerialized)
        {
            Return (Zero)
        }

        Method (_PCT, 0, NotSerialized)
        {
            If (LAnd (LNot (And (CFGD, 0x4000)), LEqual (And (PDC1,
                0x09), 0x09)))
            {
                Return (Package (0x02)
                {
                    ResourceTemplate ()
                    {
                        Register (FFixedHW,
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    },

                    ResourceTemplate ()
                    {
                        Register (FFixedHW,
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }
                })
            }

            Return (Package (0x02)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO,
                        0x10,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000900, // Address
                        ,)
                },

                ResourceTemplate ()
                {
                    Register (SystemIO,
                        0x10,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000902, // Address
                        ,)
                }
            })
        }

        Method (_PSD, 0, NotSerialized)
        {
            Name (DOMN, 0x00)
            Name (CRTP, 0x00)
            Name (NOPR, 0x00)
            If (And (PDC1, 0x0800))
            {
                Store (0xFE, CRTP)
            }
            Else
            {
                Store (0xFC, CRTP)
            }

            Divide (0x02, NPCP, Local1, Local2)
            If (LEqual (Local1, 0x00))
            {
                Store (NPCP, Local1)
            }

            Decrement (Local1)
            Store (Local1, DOMN)
            Divide (NCPU, NPCP, Local2, Local3)
            Store (Local3, NOPR)
            Return (Package (0x01)
            {
                Package (0x05)
                {
                    0x05,
                    0x00,
                    DOMN,
                    CRTP,
                    NOPR
                }
            })
        }

        Method (_PSS, 0, NotSerialized)
        {
            If (LAnd (LNot (And (CFGD, 0x4000)), LEqual (And (PDC1,
                0x09), 0x09)))
            {
                Return (NPSS)
            }

            Return (SPSS)
        }

        Name (SPSS, Package (0x04)
        {
            Package (0x06)
            {
                0x00000BB8,
                0x00015BA8,
                0x000000A0,
                0x0000000A,
                0x00000920,
                0x00000920
            },

            Package (0x06)
            {
                0x00000A6B,
                0x00013880,
                0x000000A0,
                0x0000000A,
                0x0000081E,
                0x0000081E
            },

            Package (0x06)
            {
                0x0000091D,
                0x00011940,
                0x000000A0,
                0x0000000A,
                0x0000071C,
                0x0000071C
            },

            Package (0x06)
            {
                0x000007D0,
                0x0000FDE8,
                0x000000A0,
                0x0000000A,
                0x0000061A,
                0x0000061A
            }
        })
        Name (NPSS, Package (0x04)
        {
            Package (0x06)
            {
                0x00000BBB,
                0x00015BA8,
                0x0000000A,
                0x0000000A,
                0x00000920,
                0x00000920
            },

            Package (0x06)
            {
                0x00000A6E,
                0x00013880,
                0x0000000A,
                0x0000000A,
                0x0000081E,
                0x0000081E
            },

            Package (0x06)
            {
                0x00000920,
                0x00011940,
                0x0000000A,
                0x0000000A,
                0x0000071C,
                0x0000071C
            },

            Package (0x06)
            {
                0x000007D3,
                0x0000FDE8,
                0x0000000A,
                0x0000000A,
                0x0000061A,
                0x0000061A
            }
        })
    }
}


--- On Fri, 4/23/10, Yu, Ke <ke.yu@xxxxxxxxx> wrote:

From: Yu, Ke <ke.yu@xxxxxxxxx>
Subject: RE: [Xen-devel] Failure to load the most recent kernel 2.6.32.10 ( 
xen/stable) under Xen 4.0 on F12 (serial log)
To: "Konrad Rzeszutek Wilk" <konrad.wilk@xxxxxxxxxx>, "Boris Derzhavets" 
<bderzhavets@xxxxxxxxx>
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Marc - A. 
Dahlhaus [ Administration | Westermann GmbH ]" <mad@xxxxxx>
Date: Friday, April 23, 2010, 10:09 PM
It shows acpi_processor_set_pdc trying to access one BIOS memory or MMIO, but 
hypervisor fail to make the page mapping for this. But I still have no idea why 
this would happen.

When I try to find what the physical address is, I am a bit confused:
According to the src code
acpi_ex_system_memory_space_handler(u32 function,
                                     acpi_physical_address address,
                                     u32 bit_width,
                                     acpi_integer * value,
                                     void *handler_context, void 
*region_context)

and the asm code

000000000024be4e <acpi_ex_system_memory_space_handler>:
  24be4e:       55                      push   %rbp
  24be4f:       48 89 e5                mov    %rsp,%rbp
  24be52:       41 57                   push   %r15
  24be54:       49 89 cf                mov    %rcx,%r15
  24be57:       41 56                   push   %r14
  24be59:       41 89 d6                mov    %edx,%r14d
  24be5c:       41 55                   push   %r13
  24be5e:       4d 89 cd                mov    %r9,%r13
  24be61:       41 54                   push   %r12
  24be63:       49 89 f4                mov    %rsi,%r12     <------ R12 
preserve RSI
  24be66:       53                      push   %rbx
  24be67:       48 83 ec 08             sub    $0x8,%rsp
  24be6b:       83 fa 10                cmp    $0x10,%edx

the R12 preserve the RSI value, which is the second parameter 
"acpi_physical_address address". However,  the log shows R12=ffffc900117e0000 
and it is more like a virtual address rather than a physical address.

or is it possible my asm code is different from Boris?

BTW, Boris, could you please also dump the ACPI SSDT table by:
# acpidump --addr 0xcff7e0d0 --length 0x277 --binary --output ssdt1.dat
# iasl -d ssdt1.dat   # will generate ssdt1.asl
# acpidump --addr 0x cff7e350 --length 0x277 --binary --output ssdt2.dat
# iasl -d ssdt2.dat  # will generate ssdt2.asl

And send out the ssdt1.asl and ssdt2.asl. in this case, we may be able to see 
which address the ACPI _PDC method want to access.

You can get iasl and acpidump from the following URL, in case you don't have it
acpidump: 
http://kernel.org/pub/linux/kernel/people/lenb/acpi/utils/pmtools-20100416.tar.gz
Iasl: http://www.acpica.org/downloads/

Best Regards
Ke

> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-
> bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Konrad Rzeszutek Wilk
> Sent: Saturday, April 24, 2010 5:36 AM
> To: Boris Derzhavets
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Marc - A. Dahlhaus [ Administration |
> Westermann GmbH ]
> Subject: Re: [Xen-devel] Failure to load the most recent kernel 2.6.32.10
> ( xen/stable) under Xen 4.0 on F12 (serial log)
>
> On Fri, Apr 23, 2010 at 02:25:04PM -0700, Boris Derzhavets wrote:
> >    I've sent you dmesg output twice (as attachment) and it matches serial
> log trace log. It's attached to this message also. Serial log was sent to Yu 
> Ke
> per
> > his request, that messade was cc'd to you and Jeremy as well.
>
> You are right. I completly failed to see it. Thank you for sending it
> and sorry about the duplicate request.
> >
> >               What you mean as a console log ?
>
> Serial log or anything that has a stack trace of the problem. The
> attachment you sent contains that, so that is good.
>
> The bug looks to be:
>
> calling  acpi_processor_init+0x0/0x136 [processor] @ 812
> ACPI: SSDT 00000000cff7e0d0 00277 (v01 DpgPmm  P001Ist 00000011
> INTL 20060113)
> ACPI: SSDT 00000000cff7e350 00277 (v01 DpgPmm  P002Ist 00000012
> INTL 20060113)
> BUG: unable to handle kernel paging request at ffffc900117e0000
> IP: [<ffffffff81287f28>]
> acpi_ex_system_memory_space_handler+0x21e/0x2ba
> PGD 1f1887067 PUD 1f1888067 PMD 1e88e6067 PTE 0
> Oops: 0000 [#1] SMP
> last sysfs file:
> /sys/devices/pci0000:00/0000:00:1e.0/0000:05:01.0/net/eth2/type
> CPU 1
> Modules linked in: processor(+) soundcore snd_page_alloc acpi_processor
> asus_atk0110 fuse skge r8169 mii floppy sky2 thermal
> Pid: 812, comm: modprobe Not tainted 2.6.32.10 #7 P5Q-E
> RIP: e030:[<ffffffff81287f28>]  [<ffffffff81287f28>]
> acpi_ex_system_memory_space_handler+0x21e/0x2ba
> RSP: e02b:ffff8801dd34b858  EFLAGS: 00010246
> RAX: 00000000ffffffff RBX: ffff8801e43b2bc0 RCX: ffffffff81524e20
> RDX: ffffffff81524ef0 RSI: 00000000000000ca RDI: 0000000000000004
> RBP: ffff8801dd34b8b8 R08: 0000000000000080 R09: ffffffff816b88f3
> R10: ffffffff816bc098 R11: 0000000000000001 R12: ffffc900117e0000
> R13: ffff8801dd34b9b0 R14: 0000000000000000 R15: 0000000000000008
> FS:  00007f62694606f0(0000) GS:ffff880028055000(0000)
> knlGS:0000000000000000
> CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: ffffc900117e0000 CR3: 00000001e57e8000 CR4: 0000000000002660
> DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process modprobe (pid: 812, threadinfo ffff8801dd34a000, task
> ffff8801e1b74700)
> Stack:
>  0000000000000008 ffff880100000000 ffff880100000000
> ffff880180000000
> <0> 0000000000000000 0000000000000000 ffff8801dd34b8a8
> ffff8801e573a780
> <0> ffff8801e9ee8348 ffff8801e573a7c8 0000000000000000
> ffffffff81287d0a
> Call Trace:
>  [<ffffffff81287d0a>] ? acpi_ex_system_memory_space_handler+0x0/0x2ba
>  [<ffffffff8127b3bd>] acpi_ev_address_space_dispatch+0x272/0x2e1
>  [<ffffffff81287d0a>] ? acpi_ex_system_memory_space_handler+0x0/0x2ba
>  [<ffffffff812807ac>] ? acpi_os_allocate+0x2a/0x2c
>  [<ffffffff81280a00>] acpi_ex_load_op+0x140/0x4e8
>  [<ffffffff81284d52>] acpi_ex_opcode_1A_1T_0R+0x5b/0xac
>  [<ffffffff81275bc4>] acpi_ds_exec_end_op+0x138/0x64c
>  [<ffffffff81296080>] acpi_ps_parse_loop+0xc6d/0xf49
>  [<ffffffff81276ea4>] ? acpi_ds_call_control_method+0x339/0x34b
>  [<ffffffff8129494c>] acpi_ps_parse_aml+0x167/0x483
>  [<ffffffff8129facb>] ? acpi_ut_create_internal_object_dbg+0x10d/0x11c
>  [<ffffffff81296dc2>] acpi_ps_execute_method+0x293/0x3dd
>  [<ffffffff8129ba94>] ? acpi_ut_exit+0x36/0x3e
>  [<ffffffff8128f8e6>] acpi_ns_evaluate+0x23a/0x3bb
>  [<ffffffff8128ed37>] acpi_evaluate_object+0x1a7/0x309
>  [<ffffffff8102688c>] ? init_intel_pdc+0x11f/0x20c
>  [<ffffffffa005e0e0>] acpi_processor_set_pdc+0x46/0x7e [processor]
>  [<ffffffffa0063cc3>] xen_acpi_processor_add+0x376/0x4c5 [processor]
>  [<ffffffff811722d4>] ? sysfs_do_create_link+0xe9/0x13e
>  [<ffffffff8126a479>] acpi_device_probe+0x50/0x18a
>  [<ffffffff8117234e>] ? sysfs_create_link+0x13/0x15
>  [<ffffffff81360412>] driver_probe_device+0xdb/0x1fb
>  [<ffffffff8136058f>] __driver_attach+0x5d/0x81
>  [<ffffffff81360532>] ? __driver_attach+0x0/0x81
>  [<ffffffff8135f8d3>] bus_for_each_dev+0x53/0x88
>  [<ffffffff813601b1>] driver_attach+0x1e/0x20
>  [<ffffffff8135fdfe>] bus_add_driver+0xd5/0x23b
>  [<ffffffff8136087c>] driver_register+0x9d/0x10e
>  [<ffffffffa006c000>] ? acpi_processor_init+0x0/0x136 [processor]
>  [<ffffffff8126b01c>] acpi_bus_register_driver+0x43/0x45
>  [<ffffffffa0061b70>] xen_acpi_processor_init+0x15/0x17 [processor]
>  [<ffffffffa006c0b2>] acpi_processor_init+0xb2/0x136 [processor]
>  [<ffffffffa006c000>] ? acpi_processor_init+0x0/0x136 [processor]
>  [<ffffffff8100a069>] do_one_initcall+0x5e/0x159
>  [<ffffffff8108ec0b>] sys_init_module+0xd6/0x237
>  [<ffffffff81012cf2>] system_call_fastpath+0x16/0x1b
> Code: 00 00 00 eb 48 41 83 ff 10 49 c7 45 00 00 00 00 00 74 1f 77 08 41 83
> ff 08 75 77 eb 0e 41 83 ff 20 74 16 41 83 ff 40 75 69 eb 18 <41> 0f b6 04 24
> eb 15 41 0f b7 04 24
> udev: renamed network interface eth1 to eth2
> eb 0e 45 8b 24 24 4d 89 65
> RIP  [<ffffffff81287f28>]
> acpi_ex_system_memory_space_handler+0x21e/0x2ba
>  RSP <ffff8801dd34b858>
> CR2: ffffc900117e0000
> ---[ end trace 9f4c43facc7b61c1 ]---
>
> >
> > File ".config" of loaded 2.6.32.10  contained CONFIG_ACPI_DEBUG=y,
> > but i was unable to find
> >   "CONFIG_ACPI_DEBUG_FUNC_TRACE not set".
> > Should i just add it :-
> >    CONFIG_ACPI_DEBUG_FUNC_TRACE=y
>
> The kernel looks to have those config options built-in.?
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.