On 2015/1/4 18:55, Hanjun Guo wrote:
Hi,
Hello Hanjun,
We tested your v5 patch set (and added some GICv3 patches) on Hisilicon ARM64 SoC hardware, from your change log for v6, there is only one functional change to fix the NULL pointer, I think the test result is still valid for v6, please refer to the test result below [1].
We can boot the system successfully using PSCI on our ARM64 hardware using this patch set, of course we need to add some more patches (GICv3), but with this patch set:
You could add my Tested-by: Yijing Wang wangyijing@huawei.com if you want.
if you want me to test the new version of patch set, please let me know, thanks.
[1]: fs0:>start Image "initrd=fs.cpio.gz console=ttyS0,115200 acpi=force earlycon=uart8250,mmio32,0x60300000" Loading driver at 0x0003652F000 EntryPoint=0x00036BF1760 EFI stub: Booting Linux Kernel... Initializing cgroup subsys cpu Linux version 3.18.0+ (wkf@linux) (gcc version 4.8.3 20140401 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2014.04 - Linaro GCC 4.8-2014.04) ) #126 SMP PREEMPT Mon Dec 15 20:33:16 CST 2014 CPU: AArch64 Processor [411fd071] revision 1 Detected PIPT I-cache on CPU0 Early serial console at MMIO32 0x60300000 (options '') bootconsole [uart0] enabled efi: Getting EFI parameters from FDT: EFI v2.40 by ARM Versatile Express EFI Dec 17 2014 10:32:11 efi: SMBIOS=0x3bce8000 ACPI=0x36d08000 ACPI 2.0=0x36d08014 Ignoring memory block 0x0 - 0x1000 Ignoring memory block 0x1000 - 0x2000 Ignoring memory range 0x2000 - 0x200000 cma: Reserved 16 MiB at 0x0000000038400000 ACPI: Early table checksum verification disabled ACPI: RSDP 0x0000000036D08014 000024 (v02 ARMLTD) ACPI: XSDT 0x0000000036D070E8 00005C (v01 ARMLTD ARMPV660 20140727 01000013) ACPI: FACP 0x0000000036D05000 00010C (v05 ARMLTD ARMPV660 20140727 HISI 00000099) ACPI: DSDT 0x0000000036CFE000 000298 (v01 ARMLTD ARM-JUNO 20140727 INTL 20140828) ACPI: GTDT 0x0000000036D04000 000060 (v01 ARMLTD ARMPV660 20140727 HISI 00000099) ACPI: APIC 0x0000000036D02000 0005C0 (v01 ARMLTD ARMPV660 20140727 HISI 00000099) ACPI: MCFG 0x0000000036D01000 00003C (v01 ARMLTD ARMPV660 20140727 HISI 00000099) psci: probing for conduit method from ACPI. psci: Using standard PSCI v0.2 function IDs ACPI: GICC (acpi_id[0x0000] address[00000000fe000000] MPDIR[0x20000] enabled) ACPI: GICC (acpi_id[0x0001] address[00000000fe000000] MPDIR[0x20001] enabled) ACPI: GICC (acpi_id[0x0002] address[00000000fe000000] MPDIR[0x20002] enabled) ACPI: GICC (acpi_id[0x0003] address[00000000fe000000] MPDIR[0x20003] enabled) ACPI: GICC (acpi_id[0x0004] address[00000000fe000000] MPDIR[0x20100] enabled) ACPI: GICC (acpi_id[0x0005] address[00000000fe000000] MPDIR[0x20101] enabled) ACPI: GICC (acpi_id[0x0006] address[00000000fe000000] MPDIR[0x20102] enabled) ACPI: GICC (acpi_id[0x0007] address[00000000fe000000] MPDIR[0x20103] enabled) ACPI: GICC (acpi_id[0x0008] address[00000000fe000000] MPDIR[0x20200] enabled) ACPI: GICC (acpi_id[0x0009] address[00000000fe000000] MPDIR[0x20201] enabled) ACPI: GICC (acpi_id[0x000a] address[00000000fe000000] MPDIR[0x20202] enabled) ACPI: GICC (acpi_id[0x000b] address[00000000fe000000] MPDIR[0x20203] enabled) ACPI: GICC (acpi_id[0x000c] address[00000000fe000000] MPDIR[0x20300] enabled) ACPI: GICC (acpi_id[0x000d] address[00000000fe000000] MPDIR[0x20301] enabled) ACPI: GICC (acpi_id[0x000e] address[00000000fe000000] MPDIR[0x20302] enabled) ACPI: GICC (acpi_id[0x000f] address[00000000fe000000] MPDIR[0x20303] enabled) ACPI: 16 CPUs enabled, 16 CPUs total PERCPU: Embedded 13 pages/cpu @ffffffc038130000 s14208 r8192 d30848 u53248 Built 1 zonelists in Node order, mobility grouping on. Total pages: 241895 Policy zone: DMA Kernel command line: initrd=hulk-image-fat.cpio.gz console=ttyS0,115200 acpi=force earlycon=uart8250,mmio32,0x60300000 log_buf_len individual max cpu contribution: 4096 bytes log_buf_len total cpu_extra contributions: 61440 bytes log_buf_len min size: 16384 bytes log_buf_len: 131072 bytes early log buf free: 9968(60%) PID hash table entries: 4096 (order: 3, 32768 bytes) Memory: 889320K/980992K available (5006K kernel code, 358K rwdata, 1892K rodata, 268K init, 236K bss, 91672K reserved) Virtual kernel memory layout: vmalloc : 0xffffff8000000000 - 0xffffffbdffff0000 ( 247 GB) vmemmap : 0xffffffbe00000000 - 0xffffffbfc0000000 ( 7 GB maximum) 0xffffffbe00007000 - 0xffffffbe00d20000 ( 13 MB actual) PCI I/O : 0xffffffbffa000000 - 0xffffffbffb000000 ( 16 MB) fixed : 0xffffffbffbdfe000 - 0xffffffbffbdff000 ( 4 KB) modules : 0xffffffbffc000000 - 0xffffffc000000000 ( 64 MB) memory : 0xffffffc000000000 - 0xffffffc03be00000 ( 958 MB) .init : 0xffffffc00073e000 - 0xffffffc000781000 ( 268 KB) .text : 0xffffffc000080000 - 0xffffffc00073d0b4 ( 6901 KB) .data : 0xffffffc000781000 - 0xffffffc0007daa00 ( 359 KB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=16, Nodes=1 Preemptible hierarchical RCU implementation. RCU restricting CPUs from NR_CPUS=32 to nr_cpu_ids=16. RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=16 NR_IRQS:64 nr_irqs:64 0 ITS: ID: 0x0 ITS: allocated 512 Devices @3700e000 (psz 4K, shr 1) ITS: allocated 512 Virtual CPUs @3700f000 (psz 4K, shr 1) ITS: allocated 512 Interrupt Collections @37020000 (psz 4K, shr 1) ITS: ID: 0x1 ITS: allocated 512 Devices @37021000 (psz 4K, shr 1) ITS: allocated 512 Virtual CPUs @37022000 (psz 4K, shr 1) ITS: allocated 512 Interrupt Collections @37023000 (psz 4K, shr 1) ITS: ID: 0x2 ITS: allocated 512 Devices @37024000 (psz 4K, shr 1) ITS: allocated 512 Virtual CPUs @37025000 (psz 4K, shr 1) ITS: allocated 512 Interrupt Collections @37026000 (psz 4K, shr 1) ITS: ID: 0x3 ITS: allocated 512 Devices @37028000 (psz 4K, shr 1) ITS: allocated 512 Virtual CPUs @37029000 (psz 4K, shr 1) ITS: allocated 512 Interrupt Collections @3702a000 (psz 4K, shr 1) ITS: ID: 0x4 ITS: allocated 512 Devices @3702b000 (psz 4K, shr 1) ITS: allocated 512 Virtual CPUs @3702c000 (psz 4K, shr 1) ITS: allocated 512 Interrupt Collections @3702d000 (psz 4K, shr 1) GIC: using LPI property table @37070000 ITS: Allocated 1792 chunks for LPIs CPU0: found redistributor 20000 region 0:6d100000 CPU0: using LPI pending table @37080000 ACPI: 1 GICD entry detected clocksource_of_init: no matching clocksources found Architected cp15 timer(s) running at 50.00MHz (phys). sched_clock: 56 bits at 50MHz, resolution 20ns, wraps every 2748779069440ns Console: colour dummy device 80x25 allocated 4194304 bytes of page_cgroup please try 'cgroup_disable=memory' option if you don't want memory cgroups Calibrating delay loop (skipped), value calculated using timer frequency.. 100.00 BogoMIPS (lpj=500000) pid_max: default: 32768 minimum: 301 ACPI: Core revision 20140926 ACPI: All ACPI Tables successfully acquired Security Framework initialized Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes) Initializing cgroup subsys memory Initializing cgroup subsys hugetlb No CPU information found in DT hw perfevents: enabled with arm/armv8-pmuv3 PMU driver, 7 counters available Remapping and enabling EFI services. Freed 0x2a8f000 bytes of EFI boot services memory CPU1: Booted secondary processor Detected PIPT I-cache on CPU1 CPU1: found redistributor 20001 region 0:6d130000 CPU1: using LPI pending table @37360000 CPU2: Booted secondary processor Detected PIPT I-cache on CPU2 CPU2: found redistributor 20002 region 0:6d160000 CPU2: using LPI pending table @373a0000 CPU3: Booted secondary processor Detected PIPT I-cache on CPU3 CPU3: found redistributor 20003 region 0:6d190000 CPU3: using LPI pending table @373d0000 CPU4: Booted secondary processor Detected PIPT I-cache on CPU4 CPU4: found redistributor 20100 region 0:6d1c0000 CPU4: using LPI pending table @3b410000 CPU5: Booted secondary processor Detected PIPT I-cache on CPU5 CPU5: found redistributor 20101 region 0:6d1f0000 CPU5: using LPI pending table @3b440000 CPU6: Booted secondary processor Detected PIPT I-cache on CPU6 CPU6: found redistributor 20102 region 0:6d220000 CPU6: using LPI pending table @3b470000 CPU7: Booted secondary processor Detected PIPT I-cache on CPU7 CPU7: found redistributor 20103 region 0:6d250000 CPU7: using LPI pending table @3b4b0000 CPU8: Booted secondary processor Detected PIPT I-cache on CPU8 CPU8: found redistributor 20200 region 0:6d280000 CPU8: using LPI pending table @3b4e0000 CPU9: Booted secondary processor Detected PIPT I-cache on CPU9 CPU9: found redistributor 20201 region 0:6d2b0000 CPU9: using LPI pending table @3b520000 CPU10: Booted secondary processor Detected PIPT I-cache on CPU10 CPU10: found redistributor 20202 region 0:6d2e0000 CPU10: using LPI pending table @3b550000 CPU11: Booted secondary processor Detected PIPT I-cache on CPU11 CPU11: found redistributor 20203 region 0:6d310000 CPU11: using LPI pending table @3b590000 CPU12: Booted secondary processor Detected PIPT I-cache on CPU12 CPU12: found redistributor 20300 region 0:6d340000 CPU12: using LPI pending table @3b5c0000 CPU13: Booted secondary processor Detected PIPT I-cache on CPU13 CPU13: found redistributor 20301 region 0:6d370000 CPU13: using LPI pending table @3b600000 CPU14: Booted secondary processor Detected PIPT I-cache on CPU14 CPU14: found redistributor 20302 region 0:6d3a0000 CPU14: using LPI pending table @3b630000 CPU15: Booted secondary processor Detected PIPT I-cache on CPU15 CPU15: found redistributor 20303 region 0:6d3d0000 CPU15: using LPI pending table @3b670000 Brought up 16 CPUs SMP: Total of 16 processors activated. devtmpfs: initialized regulator-dummy: no parameters NET: Registered protocol family 16 cpuidle: using governor ladder cpuidle: using governor menu vdso: 2 pages (1 code @ ffffffc000789000, 1 data @ ffffffc000788000) hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. software IO TLB [mem 0x3b000000-0x3b400000] (4MB) mapped at [ffffffc03ae00000-ffffffc03b1fffff] DMA: preallocated 256 KiB pool for atomic allocations ACPI: bus type PCI registered Serial: AMBA PL011 UART driver ACPI: Added _OSI(Module Device) ACPI: Added _OSI(Processor Device) ACPI: Added _OSI(3.0 _SCP Extensions) ACPI: Added _OSI(Processor Aggregator Device) ACPI: Interpreter enabled ACPI: Using GIC for interrupt routing PCI: no memory for MCFG entries vgaarb: loaded SCSI subsystem initialized ACPI: bus type USB registered usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Switched to clocksource arch_sys_counter pnp: PnP ACPI init pnp: PnP ACPI: found 0 devices NET: Registered protocol family 2 TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 5, 131072 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP: reno registered UDP hash table entries: 512 (order: 2, 16384 bytes) UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. Unpacking initramfs... Freeing initrd memory: 8212K (ffffffc01f5fb000 - ffffffc01fe00000) futex hash table entries: 4096 (order: 6, 262144 bytes) audit: initializing netlink subsys (disabled) audit: type=2000 audit(1.150:1): initialized HugeTLB registered 2 MB page size, pre-allocated 0 pages fuse init (API version 7.23) 9p: Installing v9fs 9p2000 file system support msgmni has been set to 1870 io scheduler noop registered io scheduler cfq registered (default) Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled console [ttyS0] disabled dw-apb-uart ARMH0011:00: ttyS0 at MMIO 0x60300000 (irq = 3, base_baud = 12500000) is a 16550A console [ttyS0] enabled console [ttyS0] enabled bootconsole [uart0] disabled bootconsole [uart0] disabled loop: module loaded tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky maxk@qualcomm.com ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-pci: EHCI PCI platform driver ehci-platform: EHCI generic platform driver ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver ohci-pci: OHCI PCI platform driver ohci-platform: OHCI generic platform driver usbcore: registered new interface driver usb-storage mousedev: PS/2 mouse device common for all mice rtc_efi: EFI year < 1998, invalid date rtc-efi rtc-efi: rtc core: registered rtc-efi as rtc0 sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper usbcore: registered new interface driver usbhid usbhid: USB HID core driver TCP: cubic registered NET: Registered protocol family 17 9pnet: Installing 9P2000 support registered taskstats version 1 rtc_efi: EFI year < 1998, invalid date rtc-efi rtc-efi: hctosys: unable to read the hardware clock ttyS0 - failed to request DMA Freeing unused kernel memory: 268K (ffffffc00073e000 - ffffffc000781000) root@(none)$
Thanks! Yijing.
This is the sixth version of ACPI core patches for ARM64 based on ACPI 5.1.
updates from v5:
fix the NULL pointer reference in cpu_get_ops() if PSCI is absent and NULL will passed, which found by Suravee when he was testing those patches on Seattle platform. I added his Tested-by for all those ACPI patches.
Rebased on 3.19-rc2 which ACPI table related patches already merged into 3.19 by Rafael, and remove the first patch in v5 which is not needed any more.
Add two cleanup patches to convert ACPI ID to physical ID to make the ACPI core looks more ARCH agnostic, those two patches were expected going into 3.19 but conflicted with IOAPIC hotplug patches so Rafael left them for 3.20.
updates to the doc about ACPI on ARM to address comments from Catalin, Timur, Ashwin. continue discussion will bw needed about this doc.
we did lots of work as Al pointed out in the "[RFC] ACPI on arm64 TODO List" thread [1], and we already make FWTS running on ARM64, thanks FuWei for doing that. Here is the test results for linaro leg kernel release test results:
Test report for leg-20141215.0 (Revision: d37eefeb160cc9cc1db997031793723e317be7b7)
This test Image comes from https://ci.linaro.org/job/linux-leg-fuwei The CI job Link: https://ci.linaro.org/job/linux-leg-fuwei/37/
Notes : All the tests ran on FVP base model in LAVA server : http://validation.linaro.org/
The startup.nsh boot test Link :https://validation.linaro.org/scheduler/job/222779
The ACPI test Link : https://validation.linaro.org/scheduler/job/222781 The results.log file Link : https://validation.linaro.org/dashboard/attachment/1267957/view
The grub-install test Link : https://validation.linaro.org/scheduler/job/222780
and here is the *summary*:
summary -SUM:77 passed, 6 failed, 2 warnings, 5 aborted, 186 skipped, 8 info only. summary -NLN: summary -SUM:Test Failure Summary summary -SEP:=========================================================================================== summary -NLN: summary -SUM:Critical failures: NONE summary -NLN: summary -SUM:High failures: 2 summary -SUM: uefirttime: Failed to get wakeup time with UEFI runtime service. summary -SUM: uefirttime: Failed to set wakeup time with UEFI runtime service. summary -NLN: summary -SUM:Medium failures: 5 summary -SUM: wakealarm: Could not find an RTC with an alarm ioctl() interface. summary -SUM: method: _SB_.COM0._CID returned a string 'PL011' but it was not a valid PNP ID or a valid ACPI ID. summary -SUM: method: Object _PRS did not exist. summary -SUM: method: Object _PTS did not exist. summary -SUM: method: Object _WAK did not exist. summary -NLN: summary -SUM:Low failures: NONE summary -NLN: summary -SUM:Other failures: NONE summary -NLN: summary -SUM:Test |Pass |Fail |Abort|Warn |Skip |Info | summary -SUM:---------------+-----+-----+-----+-----+-----+-----+ summary -SUM:acpidump | | | | | | 1| summary -SUM:acpiinfo | | | | | | 3| summary -SUM:acpitables | 11| | | 1| | | summary -SUM:aspm | | | | | 1| | summary -SUM:checksum | 8| | | | | | summary -SUM:cpufreq | | | | 1| | | summary -SUM:crsdump | | | | | | | summary -SUM:gpedump | | | | | | | summary -SUM:hda_audio | | | | | 1| | summary -SUM:klog | 1| | | | | | summary -SUM:maxreadreq | | | | | | | summary -SUM:method | 29| 4| | | 173| | summary -SUM:oops | 2| | | | | | summary -SUM:plddump | | | | | | | summary -SUM:prsdump | | | | | | | summary -SUM:securebootcert | | | 1| | | | summary -SUM:syntaxcheck | 1| | | | | | summary -SUM:uefibootpath | 1| | | | | | summary -SUM:uefidump | | | | | | | summary -SUM:uefirtmisc | 2| | | | 10| | summary -SUM:uefirttime | 2| 2| | | | | summary -SUM:uefirtvariable | 20| | | | | | summary -SUM:uefivarinfo | | | | | | | summary -SUM:version | | | | | 1| 4| summary -SUM:wakealarm | | | 4| | | | summary -SUM:---------------+-----+-----+-----+-----+-----+-----+ summary -SUM:Total: | 77| 6| 5| 2| 186| 8| summary -SUM:---------------+-----+-----+-----+-----+-----+-----+
Thanks
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
.