target-arm queue for 2.0:
* Fix wrong-results bug in A64 Neon MLS instruction * Fix loading of ELF images for 32 bit boards in qemu-system-aarch64 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABCAAGBQJTMGffAAoJEDwlJe0UNgzeBqoP/A3gEnn6Blf1g650fw6UbTR9 lL9klf74q13+lR/sfmsOeex5jaY1rAufKihPz+58l8/LQqLbgEQZjxO4Y929//hF m8bEvNDThBfTzF8HvEsmAjhZtlY0LBqk87cU2x9WrtQklj20koqDlSCtOUuQH64t PBnDCXMBpWnSUyz914iWBB0QJX2CdD7tqtMQpB/tNA165TbLmeF14rx4cj+NLqsS U9CTrYB10XpBeLwT6gyRCtTGjH8+r5Pxf79EO6/0VTHQjHDrlDkULMcfmLCTAj4J Si4KCLOAcedchosT9MlVL9ZsOxjk+e1cW2/WHUdjo+pVUhnXDe9OX6XA1kWGu8gx 1K2apwCHDd/uOQExyC94CuR7Aij+1EAV0Hyd6avfvscrcGbCvCyTd+1VitzKgM/D 5583ifme49ZWfuFu8bEaGL2x3isNnWiFHtuimIj+iaTA30p67HDiqHvcIj8Ueq3J KxSq0YZJjtjrs1pT7d0fPIA9QVL39avjtGS4v5sDa+VW+g7wGrrTZyNKK0e9iB9A V184s4NZGUkyg32hnCupcMtB5tseBP+SnAsgT0UhpIvEhCfoD942xzXOa7UL4t7i wcASyjcDgfY5rfq1Vsa6I5Y/Gpi1o7OFFo2M0diOLFXj0D89q+44jzzB31kt3UH1 RfVUWhF7vk4rdJBUPqhh =n//k -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20140324' into staging target-arm queue for 2.0: * Fix wrong-results bug in A64 Neon MLS instruction * Fix loading of ELF images for 32 bit boards in qemu-system-aarch64 # gpg: Signature made Mon 24 Mar 2014 17:14:07 GMT using RSA key ID 14360CDE # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" * remotes/pmaydell/tags/pull-target-arm-20140324: target-arm: Load ELF images with the correct machine type for CPU target-arm: Fix A64 Neon MLS Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
839a554757
@ -448,6 +448,7 @@ void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info *info)
|
||||
int initrd_size;
|
||||
int is_linux = 0;
|
||||
uint64_t elf_entry;
|
||||
int elf_machine;
|
||||
hwaddr entry, kernel_load_offset;
|
||||
int big_endian;
|
||||
static const ARMInsnFixup *primary_loader;
|
||||
@ -463,9 +464,11 @@ void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info *info)
|
||||
if (arm_feature(&cpu->env, ARM_FEATURE_AARCH64)) {
|
||||
primary_loader = bootloader_aarch64;
|
||||
kernel_load_offset = KERNEL64_LOAD_ADDR;
|
||||
elf_machine = EM_AARCH64;
|
||||
} else {
|
||||
primary_loader = bootloader;
|
||||
kernel_load_offset = KERNEL_LOAD_ADDR;
|
||||
elf_machine = EM_ARM;
|
||||
}
|
||||
|
||||
info->dtb_filename = qemu_opt_get(qemu_get_machine_opts(), "dtb");
|
||||
@ -501,7 +504,7 @@ void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info *info)
|
||||
|
||||
/* Assume that raw images are linux kernels, and ELF images are not. */
|
||||
kernel_size = load_elf(info->kernel_filename, NULL, NULL, &elf_entry,
|
||||
NULL, NULL, big_endian, ELF_MACHINE, 1);
|
||||
NULL, NULL, big_endian, elf_machine, 1);
|
||||
entry = elf_entry;
|
||||
if (kernel_size < 0) {
|
||||
kernel_size = load_uimage(info->kernel_filename, &entry, NULL,
|
||||
|
@ -8925,7 +8925,7 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)
|
||||
|
||||
genfn = fns[size][is_sub];
|
||||
read_vec_element_i32(s, tcg_op1, rd, pass, MO_32);
|
||||
genfn(tcg_res, tcg_res, tcg_op1);
|
||||
genfn(tcg_res, tcg_op1, tcg_res);
|
||||
}
|
||||
|
||||
write_vec_element_i32(s, tcg_res, rd, pass, MO_32);
|
||||
|
Loading…
Reference in New Issue
Block a user