From 96b68fb7047d2d355a6d3cc8409a0f1db95acec9 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 30 Apr 2014 01:07:06 +0200 Subject: fix 32 bit userland with 64 bit kernel support after onger discussion with Phil, I understood his old patches and fixed support for x86 systems with 32 Bit userland and 64 Bit kernel by using a biarch toolchain instead of a multilib one. --- target/x86/Makefile | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'target/x86/Makefile') diff --git a/target/x86/Makefile b/target/x86/Makefile index 736f1c359..89e59095a 100644 --- a/target/x86/Makefile +++ b/target/x86/Makefile @@ -8,6 +8,16 @@ include $(TOPDIR)/mk/kernel-build.mk include $(TOPDIR)/mk/image.mk KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage + +QEMU_ARGS:=-M pc +QEMU_ARGS+=${ADK_QEMU_ARGS} + +ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86_64_32),y) +QEMU_ARCH:=x86_84 +else +QEMU_ARCH:=i386 +endif + ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y) ifeq ($(ADK_TARGET_QEMU_WITHOUT_GRAPHIC),y) CREATE:=./scripts/create.sh -g -t @@ -43,9 +53,9 @@ ifeq ($(ADK_HARDWARE_QEMU),y) @echo "$(CREATE) qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)" @echo "Start qemu with following command line:" ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y) - @echo 'qemu-system-i386 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 qemu-${CPU_ARCH}.img' + @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} -net user -net nic,model=e1000 qemu-${CPU_ARCH}.img' else - @echo 'qemu-system-i386 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img' + @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img' endif endif ifeq ($(ADK_HARDWARE_VBOX),y) @@ -72,7 +82,7 @@ imageinstall: $(FW_DIR)/$(INITRAMFS) @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}' ifeq ($(ADK_HARDWARE_QEMU),y) @echo "Start qemu with following command line:" - @echo 'qemu-system-i386 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}' + @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}' endif endif ifeq ($(ADK_TARGET_FS),initramfs-piggyback) @@ -81,7 +91,7 @@ imageinstall: createinitramfs @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}' ifeq ($(ADK_HARDWARE_QEMU),y) @echo "Start qemu with following command line:" - @echo 'qemu-system-i386 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL)' + @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL)' endif endif ifeq (${ADK_TARGET_FS},iso) -- cgit v1.2.3