Hi,

I tried to build aarch64 image by follow
https://en.opensuse.org/openSUSE:AArch64#Boot-wraper.

1. However seems some steps maybe missed before "Cross-compile *.axf
file", I guess the following
steps should be run under boot-wrapper-aarch64 folder, is my
understanding correct?

$ autoreconf -i
$ ./configure --host=<toolchain-triplet> --with-kernel-dir=<kernel-dir>
<other-options>

2.  I used below cmds to compile boot-wrapper-aarch64

1) ./configure --host=aarch64-linux-gnu --with-kernel-dir=<kernel-dir>
--with-dtb=<kernel-dir>/arch/arm64/boot/vexpress-foundation-v8.dtb

  Boot wrapper configuration
  ==========================

  Linux kernel build dir:            /home/gjiang/linaro-aarch64/
  Device tree blob:                 
/home/gjiang/linaro-aarch64/arch/arm64/boot/vexpress-foundation-v8.dtb
  Linux kernel command line:         console=ttyAMA0
earlyprintk=pl011,0x1c090000
  Embedded initrd:                   NONE
  Use PSCI?                          no
  CPU IDs:                           0x0,0x1,0x2,0x3
  Use GICv3?                         no

2) make CROSS_COMPILE=aarch64-linux-gnu- BOOTARGS='"root=/dev/vda2
consolelog=9 rw console=ttyAMA0"' FDT_SRC=vexpress-foundation-v8.dts
IMAGE=linux-system-foundation.axf

gic.S: Assembler messages:
gic.S:26: Error: invalid address at operand 2 -- `ldr x1,='
gic.S:42: Error: invalid address at operand 2 -- `ldr x1,='
make: *** [gic.o] Error 1

But apparently some errs happened due to can't find the addrs for
GIC_DIST_BASE and GIC_CPU_BASE, and I
do following changes to fix it.

diff --git a/arch/arm64/boot/dts/vexpress-foundation-v8.dts
b/arch/arm64/boot/dts/vexp
index 5e566a7..23e8e95 100644
--- a/arch/arm64/boot/dts/vexpress-foundation-v8.dts
+++ b/arch/arm64/boot/dts/vexpress-foundation-v8.dts
@@ -64,7 +64,7 @@
        };
 
        gic: interrupt-controller@2c001000 {
-               compatible = "arm,cortex-a9-gic";
+               compatible = "arm,cortex-a15-gic";
                #interrupt-cells = <3>;
                #address-cells = <0>;
                interrupt-controller;

3. Unfortunately, the axf can't boot well with foundation model finally.

NR_IRQS:64 nr_irqs:64 0
Kernel panic - not syncing: No interrupt controller found.
Call trace:
[<ffffffc0000874e0>] dump_backtrace+0x0/0x130
[<ffffffc0003b22ec>] dump_stack+0x14/0x1c
[<ffffffc0003b2534>] panic+0xe4/0x204
[<ffffffc0004ccd1c>] init_IRQ+0x2c/0x34
[<ffffffc0004cb634>] start_kernel+0x1b4/0x2e8

Seems the value of gic is not correct in vexpress-foundation-v8.dts,
could someone can help me about it?
Thanks in advance.

Regards,
Guoqing

-- 
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]

Reply via email to