U-Boot alignment exception when calling Linux kernel - Embedded

This is a discussion on U-Boot alignment exception when calling Linux kernel - Embedded ; Hi, I'm trying to get a 2.4.18 kernel started from U-boot 1.1.4 on a Freescale PPC MPC8245 processor. The U-boot code is configured for our costume board and is running fine. We use top boot and U-boot is in flash, ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: U-Boot alignment exception when calling Linux kernel

  1. U-Boot alignment exception when calling Linux kernel

    Hi, I'm trying to get a 2.4.18 kernel started from U-boot 1.1.4 on a
    Freescale PPC MPC8245 processor.

    The U-boot code is configured for our costume board and is running
    fine. We use top boot and U-boot is in flash, which is at 0xFE000000.
    IMMR is at 0xF0000000. The kernel is loaded via tftp into SDRAM at
    0x00500000. All of this is working fine.

    When the kernel is called from common/cmd_bootm.c I get an 'Alignment
    exception', and the board resets.

    Why does this cause an 'Alignment exception'?

    Any help is appreciated.

    Best regards
    Mogens Winther

    ------------------------------
    => bootm
    ## Booting image at 00500000 ...
    Image Name: VoXip2 2.4.18
    Image Type: PowerPC Linux Kernel Image (gzip compressed)
    Data Size: 597562 Bytes = 583.6 kB
    Load Address: 00500000
    Entry Point: 00500000
    Verifying Checksum ... OK
    Uncompressing Kernel Image ... OK
    ## Current stack ends at 0x01BACCD8 => set upper limit to 0x00800000
    No initrd
    ## Transferring control to Linux (at address 00500000) ...
    MW KERNEL: 00500000 - kdb: 007ffea0 - inits: 00000000 - inite: 00000000
    - cmds: 007fff00 - cmde: 007fff05
    NIP: 0050A1E0 XER: 20000000 LR: 00500010 REGS: 01bacbe8 TRAP: 0600 DAR:
    0080246E
    MSR: 00003002 EE: 0 PR: 0 FP: 1 ME: 1 IR/DR: 00

    GPR00: 01FD8184 01BACCD8 F7FFCFFF 007FFEA0 00000000 00000000 007FFF00
    007FFF05
    GPR08: 00000001 F0000091 00000000 F0000088 00000030 FFFFBCBB 01FFE000
    007FFF05
    GPR16: 00000001 FFFFFFFF 00500000 01FF8C84 00000000 007FFF00 00000001
    01BCD2C0
    GPR24: 00800000 00000000 00000000 007FFEA0 00000000 01BACF64 01FFE634
    00000000
    Call backtrace:
    01FD8184 01FD7CD8 01FE1980 01FE1CA0 01FE1F28 01FE2F98 01FE317C
    01FD69A8 01FD1E54 01FD048C
    Alignment Exception


  2. Re: U-Boot alignment exception when calling Linux kernel

    Problem solved - The 'Load address' and 'Entry point' for the kernel
    wasn't set to 0 when the kernel image was created with mkimage.

    Winther skrev:

    > Hi, I'm trying to get a 2.4.18 kernel started from U-boot 1.1.4 on a
    > Freescale PPC MPC8245 processor.
    >
    > The U-boot code is configured for our costume board and is running
    > fine. We use top boot and U-boot is in flash, which is at 0xFE000000.
    > IMMR is at 0xF0000000. The kernel is loaded via tftp into SDRAM at
    > 0x00500000. All of this is working fine.
    >
    > When the kernel is called from common/cmd_bootm.c I get an 'Alignment
    > exception', and the board resets.
    >
    > Why does this cause an 'Alignment exception'?
    >
    > Any help is appreciated.
    >
    > Best regards
    > Mogens Winther
    >
    > ------------------------------
    > => bootm
    > ## Booting image at 00500000 ...
    > Image Name: VoXip2 2.4.18
    > Image Type: PowerPC Linux Kernel Image (gzip compressed)
    > Data Size: 597562 Bytes = 583.6 kB
    > Load Address: 00500000
    > Entry Point: 00500000
    > Verifying Checksum ... OK
    > Uncompressing Kernel Image ... OK
    > ## Current stack ends at 0x01BACCD8 => set upper limit to 0x00800000
    > No initrd
    > ## Transferring control to Linux (at address 00500000) ...
    > MW KERNEL: 00500000 - kdb: 007ffea0 - inits: 00000000 - inite: 00000000
    > - cmds: 007fff00 - cmde: 007fff05
    > NIP: 0050A1E0 XER: 20000000 LR: 00500010 REGS: 01bacbe8 TRAP: 0600 DAR:
    > 0080246E
    > MSR: 00003002 EE: 0 PR: 0 FP: 1 ME: 1 IR/DR: 00
    >
    > GPR00: 01FD8184 01BACCD8 F7FFCFFF 007FFEA0 00000000 00000000 007FFF00
    > 007FFF05
    > GPR08: 00000001 F0000091 00000000 F0000088 00000030 FFFFBCBB 01FFE000
    > 007FFF05
    > GPR16: 00000001 FFFFFFFF 00500000 01FF8C84 00000000 007FFF00 00000001
    > 01BCD2C0
    > GPR24: 00800000 00000000 00000000 007FFEA0 00000000 01BACF64 01FFE634
    > 00000000
    > Call backtrace:
    > 01FD8184 01FD7CD8 01FE1980 01FE1CA0 01FE1F28 01FE2F98 01FE317C
    > 01FD69A8 01FD1E54 01FD048C
    > Alignment Exception



+ Reply to Thread