Skip to content
Snippets Groups Projects
  • Scott Wood's avatar
    e1bfd1c6
    powerpc/mpc85xx: Use GOT when loading IVORs post-relocation · e1bfd1c6
    Scott Wood authored
    
    Commit 96d2bb95 ("powerpc/mpc85xx: Don't relocate exception vectors")
    simplified IVOR initialization a bit too much, failing to use the
    post-relocation offset.  This doesn't cause a problem with normal NOR
    boot, in which both the pre-relocation and post-relocation addresses
    are 64 KiB aligned.  However, if TEXT_BASE is only 4 KiB aligned, such
    as for NAND/SD/etc. boot on some targets, as well as the QEMU target,
    the post-relocation address will not be the same in the lower 16 bits,
    as reserve_uboot() ensures that the relocation address is always 64
    KiB aligned even if the pre-relocation address was not.
    
    Use the GOT to get the proper post-relocation offsets.
    
    Fixes: 96d2bb95 ("powerpc/mpc85xx: Don't relocate exception vectors")
    Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
    Cc: Alexander Graf <agraf@suse.de>
    Cc: Shaohui Xie <Shaohui.Xie@freescale.com>
    Tested-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
    Reviewed-by: default avatarYork Sun <yorksun@freescale.com>
    e1bfd1c6
    History
    powerpc/mpc85xx: Use GOT when loading IVORs post-relocation
    Scott Wood authored
    
    Commit 96d2bb95 ("powerpc/mpc85xx: Don't relocate exception vectors")
    simplified IVOR initialization a bit too much, failing to use the
    post-relocation offset.  This doesn't cause a problem with normal NOR
    boot, in which both the pre-relocation and post-relocation addresses
    are 64 KiB aligned.  However, if TEXT_BASE is only 4 KiB aligned, such
    as for NAND/SD/etc. boot on some targets, as well as the QEMU target,
    the post-relocation address will not be the same in the lower 16 bits,
    as reserve_uboot() ensures that the relocation address is always 64
    KiB aligned even if the pre-relocation address was not.
    
    Use the GOT to get the proper post-relocation offsets.
    
    Fixes: 96d2bb95 ("powerpc/mpc85xx: Don't relocate exception vectors")
    Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
    Cc: Alexander Graf <agraf@suse.de>
    Cc: Shaohui Xie <Shaohui.Xie@freescale.com>
    Tested-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
    Reviewed-by: default avatarYork Sun <yorksun@freescale.com>