From 0f96a0f56c74580d580b5d695499cf4df6bad520 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 1 Oct 2013 18:11:35 +0200 Subject: add support for glibc/eglibc qemu-sh systems --- target/config/Config.in | 4 +++- target/config/Config.in.runtime | 5 +++-- target/linux/config/Config.in.input | 2 ++ target/linux/config/Config.in.usb | 4 ++-- target/sh/kernel.config | 14 +++++++------- target/sh/sys-available/qemu-sh | 12 ------------ target/sh/sys-available/qemu-sh4 | 12 ++++++++++++ 7 files changed, 29 insertions(+), 24 deletions(-) delete mode 100644 target/sh/sys-available/qemu-sh create mode 100644 target/sh/sys-available/qemu-sh4 (limited to 'target') diff --git a/target/config/Config.in b/target/config/Config.in index 6a7c05d82..bb86ae471 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -482,7 +482,7 @@ config ADK_TARGET_CPU_ARCH default "avr32" if ADK_LINUX_AVR32 default "sparc" if ADK_LINUX_SPARC default "sparc64" if ADK_LINUX_SPARC64 - default "sh" if ADK_LINUX_SH + default "sh4" if ADK_LINUX_SH default "cris" if ADK_CPU_CRIS_V10 default "crisv32" if ADK_CPU_CRIS_V32 default "ppc" if ADK_CPU_PPC @@ -602,6 +602,7 @@ config ADK_TARGET_LIB_EGLIBC ADK_LINUX_MIPS64EL || \ ADK_LINUX_PPC || \ ADK_LINUX_PPC64 || \ + ADK_LINUX_SH || \ ADK_LINUX_SPARC || \ ADK_LINUX_SPARC64 || \ ADK_LINUX_X86 || \ @@ -622,6 +623,7 @@ config ADK_TARGET_LIB_GLIBC ADK_LINUX_MIPS64EL || \ ADK_LINUX_PPC || \ ADK_LINUX_PPC64 || \ + ADK_LINUX_SH || \ ADK_LINUX_SPARC || \ ADK_LINUX_SPARC64 || \ ADK_LINUX_X86 || \ diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime index ddd0e3d2a..4be07a2c1 100644 --- a/target/config/Config.in.runtime +++ b/target/config/Config.in.runtime @@ -23,6 +23,7 @@ config ADK_RUNTIME_PASSWORD config ADK_RUNTIME_TMPFS_SIZE string "size of /tmp in memory (kB)" default "16384" if ADK_TARGET_SYSTEM_IBM_X40 + default "16384" if ADK_TARGET_SYSTEM_RASPBERRY_PI default "2048" help Size of /tmp in memory in Kilobyte. @@ -35,8 +36,8 @@ config ADK_RUNTIME_TIMEZONE choice prompt "Console output on embedded system" -default ADK_RUNTIME_CONSOLE_BOTH if ADK_TARGET_WITH_VGA && !ADK_TARGET_SYSTEM_RASPBERRY_PI -default ADK_RUNTIME_CONSOLE_VGA if ADK_TARGET_SYSTEM_RASPBERRY_PI +default ADK_RUNTIME_CONSOLE_BOTH if ADK_TARGET_WITH_VGA && !ADK_TARGET_SYSTEM_RASPBERRY_PI && !ADK_TARGET_SYSTEM_QEMU_SH4 +default ADK_RUNTIME_CONSOLE_VGA if ADK_TARGET_SYSTEM_RASPBERRY_PI || ADK_TARGET_SYSTEM_QEMU_SH4 default ADK_RUNTIME_CONSOLE_SERIAL config ADK_RUNTIME_CONSOLE_VGA diff --git a/target/linux/config/Config.in.input b/target/linux/config/Config.in.input index a4079c37b..587a7f2c9 100644 --- a/target/linux/config/Config.in.input +++ b/target/linux/config/Config.in.input @@ -5,6 +5,7 @@ config ADK_KERNEL_INPUT boolean default y if ADK_TARGET_SYSTEM_QEMU_I686 default y if ADK_TARGET_SYSTEM_QEMU_X86_64 + default y if ADK_TARGET_SYSTEM_QEMU_SH4 default y if ADK_TARGET_SYSTEM_ARANYM_M68K default y if ADK_TARGET_SYSTEM_VBOX_I686 default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C @@ -143,6 +144,7 @@ config ADK_KPACKAGE_KMOD_USB_HID depends on !ADK_TARGET_SYSTEM_FOXBOARD_LX depends on ADK_TARGET_WITH_USB default y if ADK_TARGET_SYSTEM_RASPBERRY_PI + default y if ADK_TARGET_SYSTEM_QEMU_SH4 default n config ADK_KPACKAGE_KMOD_KEYBOARD_ATKBD diff --git a/target/linux/config/Config.in.usb b/target/linux/config/Config.in.usb index fa0c3171f..1459039b6 100644 --- a/target/linux/config/Config.in.usb +++ b/target/linux/config/Config.in.usb @@ -31,7 +31,7 @@ config ADK_KPACKAGE_KMOD_USB select ADK_KERNEL_NLS depends on !ADK_KERNEL_USB default y if ADK_TARGET_SYSTEM_QEMU_I686 - default y if ADK_TARGET_SYSTEM_QEMU_SH + default y if ADK_TARGET_SYSTEM_QEMU_SH4 default y if ADK_TARGET_SYSTEM_QEMU_X86_64 default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2 @@ -116,7 +116,7 @@ config ADK_KPACKAGE_KMOD_USB_OHCI_HCD default y if ADK_TARGET_SYSTEM_INTEL_ATOM default y if ADK_NATIVE_SYSTEM_INTEL_ATOM default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG - default y if ADK_TARGET_SYSTEM_QEMU_SH + default y if ADK_TARGET_SYSTEM_QEMU_SH4 default n help The Open Host Controller Interface (OHCI) is a standard for accessing diff --git a/target/sh/kernel.config b/target/sh/kernel.config index 8767d7ecd..787edeb34 100644 --- a/target/sh/kernel.config +++ b/target/sh/kernel.config @@ -101,7 +101,7 @@ CONFIG_UIDGID_CONVERTED=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set # CONFIG_BLK_DEV_INITRD is not set -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_ANON_INODES=y CONFIG_EXPERT=y @@ -132,7 +132,7 @@ CONFIG_PERF_EVENTS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set CONFIG_VM_EVENT_COUNTERS=y CONFIG_PCI_QUIRKS=y -CONFIG_COMPAT_BRK=y +# CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y # CONFIG_SLUB is not set # CONFIG_SLOB is not set @@ -278,7 +278,7 @@ CONFIG_ZONE_DMA_FLAG=0 CONFIG_NR_QUICK=1 # CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_CROSS_MEMORY_ATTACH is not set CONFIG_NEED_PER_CPU_KM=y # CONFIG_CLEANCACHE is not set @@ -350,11 +350,11 @@ CONFIG_SH_CLK_CPG_LEGACY=y # # Kernel features # -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y +CONFIG_HZ_100=y +# CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set # CONFIG_HZ_1000 is not set -CONFIG_HZ=250 +CONFIG_HZ=100 # CONFIG_SCHED_HRTICK is not set # CONFIG_KEXEC is not set # CONFIG_CRASH_DUMP is not set @@ -385,7 +385,7 @@ CONFIG_BOOT_LINK_OFFSET=0x00800000 CONFIG_ENTRY_OFFSET=0x00001000 CONFIG_CMDLINE_OVERWRITE=y # CONFIG_CMDLINE_EXTEND is not set -CONFIG_CMDLINE="console=ttySC1 console=tty0" +CONFIG_CMDLINE="console=tty0" # # Bus options diff --git a/target/sh/sys-available/qemu-sh b/target/sh/sys-available/qemu-sh deleted file mode 100644 index 4ea65fb3b..000000000 --- a/target/sh/sys-available/qemu-sh +++ /dev/null @@ -1,12 +0,0 @@ -config ADK_TARGET_SYSTEM_QEMU_SH - bool "Qemu Emulator" - select ADK_sh - select ADK_qemu_sh - select ADK_CPU_SH4 - select ADK_HARDWARE_QEMU - select ADK_TARGET_WITH_VGA - select ADK_TARGET_WITH_INPUT - select ADK_TARGET_WITH_USB - help - Support for Qemu Emulator (superh). - diff --git a/target/sh/sys-available/qemu-sh4 b/target/sh/sys-available/qemu-sh4 new file mode 100644 index 000000000..7932ffac6 --- /dev/null +++ b/target/sh/sys-available/qemu-sh4 @@ -0,0 +1,12 @@ +config ADK_TARGET_SYSTEM_QEMU_SH4 + bool "Qemu Emulator" + select ADK_sh + select ADK_qemu_sh4 + select ADK_CPU_SH4 + select ADK_HARDWARE_QEMU + select ADK_TARGET_WITH_VGA + select ADK_TARGET_WITH_INPUT + select ADK_TARGET_WITH_USB + help + Support for Qemu Emulator (superh). + -- cgit v1.2.3 From 6515d1df05a492624a81317b6c5bb3871c5890c6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 1 Oct 2013 18:24:52 +0200 Subject: enable networking for qemu-sh, fix libgcc stuff --- package/libgcc/Makefile | 4 ++++ package/pciutils/Makefile | 2 +- target/sh/kernel.config | 8 ++------ 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'target') diff --git a/package/libgcc/Makefile b/package/libgcc/Makefile index 2895a7969..191d1f610 100644 --- a/package/libgcc/Makefile +++ b/package/libgcc/Makefile @@ -25,7 +25,11 @@ do-install: ifeq ($(ADK_NATIVE),) ${INSTALL_DIR} ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH) ifeq ($(ADK_LINUX_SH),y) +ifeq ($(ADK_TARGET_LIB_GLIBC),y) + ${CP} ${STAGING_TARGET_DIR}/lib/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH) +else ${CP} ${STAGING_TARGET_DIR}/lib/!m4/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH) +endif else ${CP} ${STAGING_TARGET_DIR}/$(ADK_TARGET_LIBC_PATH)/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH) endif diff --git a/package/pciutils/Makefile b/package/pciutils/Makefile index 1cde53cf7..142a04508 100644 --- a/package/pciutils/Makefile +++ b/package/pciutils/Makefile @@ -9,7 +9,7 @@ PKG_RELEASE:= 1 PKG_MD5SUM:= 51ded74e4184d4a6c9f2ada95c28c067 PKG_DESCR:= PCI Utilities PKG_SECTION:= utils -PKG_DEPENDS:= zlib +PKG_DEPENDS:= zlib libgcc PKG_BUILDDEP:= zlib PKG_URL:= http://www.kernel.org/pub/software/utils/pciutils/ PKG_SITES:= http://www.kernel.org/pub/software/utils/pciutils/ diff --git a/target/sh/kernel.config b/target/sh/kernel.config index 787edeb34..85fbc2e4b 100644 --- a/target/sh/kernel.config +++ b/target/sh/kernel.config @@ -769,12 +769,8 @@ CONFIG_ETHERNET=y # CONFIG_NET_PACKET_ENGINE is not set # CONFIG_NET_VENDOR_QLOGIC is not set CONFIG_NET_VENDOR_REALTEK=y -# CONFIG_8139CP is not set -CONFIG_8139TOO=y -# CONFIG_8139TOO_PIO is not set -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8139TOO_8129 is not set -# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_8139CP=y +# CONFIG_8139TOO is not set # CONFIG_R8169 is not set # CONFIG_NET_VENDOR_RDC is not set # CONFIG_NET_VENDOR_SEEQ is not set -- cgit v1.2.3 From 952d4eba1544df94b026c90a515be031452ad856 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 1 Oct 2013 18:45:08 +0200 Subject: add description for disk bootup --- target/sh/Makefile | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'target') diff --git a/target/sh/Makefile b/target/sh/Makefile index 86570eaeb..5cf42b342 100644 --- a/target/sh/Makefile +++ b/target/sh/Makefile @@ -11,9 +11,15 @@ KERNEL:=$(LINUX_DIR)/arch/sh/boot/zImage ifeq ($(ADK_TARGET_FS),archive) imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL) - @cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL} - @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}' @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)" +ifneq ($(ADK_HARDWARE_QEMU),) + @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL) + @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}' + @echo "Use following command to create a QEMU Image:" + @echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(BIN_DIR)/$(ROOTFSTARBALL)" + @echo "Start qemu with following options:" + @echo 'qemu-system-${CPU_ARCH} -M r2d -kernel $(BIN_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img' +endif endif ifeq ($(ADK_TARGET_FS),initramfs) imageinstall: $(BIN_DIR)/$(INITRAMFS) @@ -22,7 +28,7 @@ imageinstall: $(BIN_DIR)/$(INITRAMFS) @echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}' ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH),y) @echo "Start qemu with following command line:" - @echo 'qemu-system-sh4 -M r2d -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}' + @echo 'qemu-system-${CPU_ARCH} -M r2d -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}' endif endif ifeq ($(ADK_TARGET_FS),initramfs-piggyback) @@ -31,6 +37,6 @@ imageinstall: createinitramfs @echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}' ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH),y) @echo "Start qemu with following command line:" - @echo 'qemu-system-sh4 -M r2d -kernel $(BIN_DIR)/$(TARGET_KERNEL)' + @echo 'qemu-system-{CPU_ARCH} -M r2d -kernel $(BIN_DIR)/$(TARGET_KERNEL)' endif endif -- cgit v1.2.3 From 200891cfed1dc9eae6bb723b15a00cb0f35177f6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 1 Oct 2013 20:49:18 +0200 Subject: add support for qemu-sh4eb, linux usb is broken --- target/config/Config.in | 3 ++- target/config/Config.in.runtime | 4 ++-- target/sh/sys-available/qemu-sh4 | 3 ++- target/sh/sys-available/qemu-sh4eb | 14 ++++++++++++++ 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 target/sh/sys-available/qemu-sh4eb (limited to 'target') diff --git a/target/config/Config.in b/target/config/Config.in index bb86ae471..cd21deeec 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -482,7 +482,8 @@ config ADK_TARGET_CPU_ARCH default "avr32" if ADK_LINUX_AVR32 default "sparc" if ADK_LINUX_SPARC default "sparc64" if ADK_LINUX_SPARC64 - default "sh4" if ADK_LINUX_SH + default "sh4" if ADK_LINUX_SH && ADK_little + default "sh4eb" if ADK_LINUX_SH && ADK_big default "cris" if ADK_CPU_CRIS_V10 default "crisv32" if ADK_CPU_CRIS_V32 default "ppc" if ADK_CPU_PPC diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime index 4be07a2c1..cf996368f 100644 --- a/target/config/Config.in.runtime +++ b/target/config/Config.in.runtime @@ -36,8 +36,8 @@ config ADK_RUNTIME_TIMEZONE choice prompt "Console output on embedded system" -default ADK_RUNTIME_CONSOLE_BOTH if ADK_TARGET_WITH_VGA && !ADK_TARGET_SYSTEM_RASPBERRY_PI && !ADK_TARGET_SYSTEM_QEMU_SH4 -default ADK_RUNTIME_CONSOLE_VGA if ADK_TARGET_SYSTEM_RASPBERRY_PI || ADK_TARGET_SYSTEM_QEMU_SH4 +default ADK_RUNTIME_CONSOLE_BOTH if ADK_TARGET_WITH_VGA && !ADK_TARGET_SYSTEM_RASPBERRY_PI && !ADK_TARGET_SYSTEM_QEMU_SH4 && !ADK_TARGET_SYSTEM_QEMU_SH4EB +default ADK_RUNTIME_CONSOLE_VGA if ADK_TARGET_SYSTEM_RASPBERRY_PI || ADK_TARGET_SYSTEM_QEMU_SH4 || ADK_TARGET_SYSTEM_QEMU_SH4EB default ADK_RUNTIME_CONSOLE_SERIAL config ADK_RUNTIME_CONSOLE_VGA diff --git a/target/sh/sys-available/qemu-sh4 b/target/sh/sys-available/qemu-sh4 index 7932ffac6..54f13fb65 100644 --- a/target/sh/sys-available/qemu-sh4 +++ b/target/sh/sys-available/qemu-sh4 @@ -1,6 +1,7 @@ config ADK_TARGET_SYSTEM_QEMU_SH4 - bool "Qemu Emulator" + bool "Qemu Emulator (Little Endian)" select ADK_sh + select ADK_little select ADK_qemu_sh4 select ADK_CPU_SH4 select ADK_HARDWARE_QEMU diff --git a/target/sh/sys-available/qemu-sh4eb b/target/sh/sys-available/qemu-sh4eb new file mode 100644 index 000000000..70365d7d4 --- /dev/null +++ b/target/sh/sys-available/qemu-sh4eb @@ -0,0 +1,14 @@ +config ADK_TARGET_SYSTEM_QEMU_SH4EB + bool "Qemu Emulator (Big Endian)" + select ADK_sh + select ADK_big + select ADK_qemu_sh4 + select ADK_CPU_SH4 + select ADK_KERNEL_CPU_BIG_ENDIAN + select ADK_HARDWARE_QEMU + select ADK_TARGET_WITH_VGA + select ADK_TARGET_WITH_INPUT + select ADK_TARGET_WITH_USB + help + Support for Qemu Emulator (superh). + -- cgit v1.2.3