On 06/24/2013 11:21 AM, Graeme Gregory wrote:
On 24/06/13 12:33, Graeme Gregory wrote:
On 24/06/13 05:00, Hanjun Guo wrote:
On 2013-6-23 17:04, Graeme Gregory wrote:
On 23/06/13 06:52, Hanjun Guo wrote:
On 2013-6-22 8:01, Graeme Gregory wrote:
Hi,
I have managed to boot our ACPI enabled kernel on the beaglebone device which has working earlyprintk.
You will see from the log below there is a very familiar looking RCU stall, same place as I was seeing with Hanjun's patches. I did not check the size
Yes, I'm sure the RCU stall happened in the same place. Graeme, do you want me to check the size of the DSDT table?
Yes please, if its over approx 4000 bytes then I think its the same issue and not an issue with CPU topology.
I rebuilt the ACPI tables with I2C device and processor device in DSDT table which you send me before, and reboot the armv8 foundation model, it shows in the log:
CPU: AArch64 Processor [410fd000] revision 0 Machine: Foundation-v8A acpi: start info is 0x0000000088100000, 4300 bytes // so the size is 4300 bytes // and it is more than 4KB. acpi: sig is "ACPI" acpi: info is 00 00 10 c4 acpi: first table is "RSD " (I) entering acpi_tb_parse_root_table ACPI: RSDP 0000000088100008 00024 (v02 LINARO) ACPI: XSDT 000000008810002c 000C4 (v01 LINARO FOUNDATI 00000014 INTL 20130214) ACPI: FACP 00000000881000f0 0010C (v05 LINARO FOUNDATI 00000000 INTL 20130214) ACPI: DSDT 00000000881001fc 0024A (v01 REDHAT ARNDALE 00000002 INTL 20130214) ACPI: MSCT 0000000088100486 00090 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: MCHI 0000000088100516 00045 (v01 LINARO FOUNDATI 02000715 INTL 20130214) ACPI: FPDT 000000008810055b 00064 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: ERST 00000000881005bf 00230 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: EINJ 00000000881007ef 00130 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: CPEP 000000008810091f 00034 (v01 LINARO FOUNDATI 00000000 INTL 20130214) ACPI: UEFI 0000000088100953 00036 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: SRAT 0000000088100989 00080 (v03 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: SPMI 0000000088100a09 00041 (v04 LINARO FOUNDATI 00000000 INTL 20130214) ACPI: SLIT 0000000088100a4a 001BC (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: OEM0 0000000088100c06 00024 (v01 LINARO FOUNDATI 0000000A INTL 20130214) ACPI: MPST 0000000088100c2a 000B6 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: MCFG 0000000088100ce0 0003C (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: APIC 0000000088100d1c 000F6 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: HEST 0000000088100e12 001D4 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: GTDT 0000000088100fe6 00050 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: ECDT 0000000088101036 00042 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: BERT 0000000088101078 00030 (v01 LINARO FOUNDATI 00000001 INTL 20130214) ACPI: SSDT 00000000881010a8 00024 (v02 LINARO FOUNDATI 00000001 INTL 20130214) (I) acpi_table_init call completed (I) exit acpi_boot_table_init enter early_acpi_boot_init [...]
But it boots ok on armv8 foundation model, so does this happened only on armv7?
Thanks Hanjun
Hi Hanjun,
Thanks for the info, I'm pretty sure you are seeing the same issue as me, when table is greater than approx 4k ACPI does not function.
This does not happen on 64bit, only on 32bit.
I have narrowed down the fault, it occurs somewhere in
acpi_bus_scan() from scan.c
This issue is now fixed and I have pushed the fix to the acpi-combined branch.
If others can confirm successful boot of this branch then I can look at moving this to our main development branch progressing us to 3.10 from current 3.9
Hrm. I can boot and get well past ACPI initialization with this branch (huzzah!).
However, on Arndale, I get an oops. Not entirely sure what it's all about just yet but still looking....why there should be a problem in the mmc_rescan is a bit odd....
I'll try the same fix on the 3.9 branch for grins and giggles to check that the size issue goes away there, too.
------------[ cut here ]------------
kernel BUG at drivers/mmc/core/core.c:233!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 6 Comm: kworker/u4:0 Not tainted 3.10.0-rc6-14781-ge4670fb #3 Workqueue: kmmcd mmc_rescan
task: ef084f00 ti: ef096000 task.ti: ef096000
PC is at mmc_start_request+0x168/0x258
LR is at mmc_wait_for_req+0x58/0x12c
pc : [<c0339f94>] lr : [<c033a280>] psr: 20000113
sp : ef097d00 ip : 00000000 fp : 00000000
r10: 00000200 r9 : ef097d9c r8 : 00000000
r7 : ef097d9c r6 : c0647410 r5 : ef312800 r4 : ef097dcc
r3 : ef097d9c r2 : 00000000 r1 : 00000200 r0 : 00000001
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 30c5387d Table: 40003000 DAC: fffffffd
Process kworker/u4:0 (pid: 6, stack limit = 0xef096238)
Stack: (0xef097d00 to 0xef098000)
7d00: c05ebb00 c05ebb00 7fffffff 7fffffff eeb75e00 ef312800 ef097dcc ef097ddc 7d20: 00000000 c033a280 ef097da4 c01f7eb8 00000001 eeb75e00 ffffffff eeb75e00 7d40: ef312800 00000000 00000200 c033fb70 ef097de4 ef313000 ef097da4 c0c68ea2 7d60: 00000e00 00000200 00000000 00000008 00000000 00000000 00000000 00000000 7d80: 00000000 000000b5 00000000 00000000 00000000 00000000 ef097dcc 08f0d180 7da0: 000003e8 00000200 00000001 00000000 00000200 00000000 00000000 00000000 7dc0: 00000001 ef097d5c 00000000 00000000 ef097d6c ef097d9c 00000000 00000000 7de0: 00000000 dead4ead ffffffff ffffffff ef097df0 ef097df0 c0339e24 00000000 7e00: c0339e24 ef097e74 00000000 ef313000 00000100 eeb75e00 04326af0 000007db 7e20: ef313000 c033fc00 00000200 000007db ef313000 c033dfb4 ef312800 00000000 7e40: 00000034 00000100 00000000 c033ec60 ef312800 ef3129a0 ef312ac0 00061a80 7e60: 00000004 00000031 00000000 00000000 c0ff8080 00000000 1501004d 34473146 7e80: 41000432 6af0ce0f ef00a800 ef312800 00000000 ef312800 00061a80 c048292c 7ea0: 00000000 00000000 ef00a800 c033f904 00061a80 00ff8080 00000000 ef3129e4 7ec0: c0482920 c033cb84 ef080200 ef3129e4 ef00a800 ef096000 ef21c300 c0035468 7ee0: 00000001 c0033ad8 c05ebb00 c05ebb00 00000001 ef080200 ef00a820 ef080218 7f00: ef096000 ef096000 c0642008 00000001 ef00a800 c0035ab0 c0035978 ef096000 7f20: c05ebb00 ef096000 c0035978 ef083ddc 00000000 ef080200 c0035978 00000000 7f40: 00000000 00000000 00000000 c003b0a4 fffbefff 00000000 fffedded ef080200 7f60: 00000000 00000000 dead4ead ffffffff ffffffff ef097f74 ef097f74 00000000 7f80: 00000000 dead4ead ffffffff ffffffff ef097f90 ef097f90 ef097fac ef083ddc 7fa0: c003b000 00000000 00000000 c000ee18 00000000 00000000 00000000 00000000 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffefffff fffbffff Code: e5933000 ebfb2280 eaffffb4 e7f001f2 (e7f001f2)
---[ end trace 1d22ee08463484ed ]---
Unable to handle kernel paging request at virtual address ffffffe0