annotate sources/targets/armv4l @ 1609:19a363f60409

OpenBIOS upgrade in qemu 1.5 broke sparc, by changing reported CPU features. Specify different processor variant on command line to make it work again.
author Rob Landley <rob@landley.net>
date Thu, 04 Jul 2013 07:19:27 -0500
parents a49311441334
children b89324905ca2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1400
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
1 DESCRIPTION="
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
2 ARM v4, little endian, soft float, OABI.
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
3
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
4 This is a generic low-end arm image that should run on any arm hardware
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
5 still in use today (except ARMv7M, which is arm in name only).
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
6
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
7 The downside is it uses the Old Application Binary Interface, described here:
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
8 http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Why-ARMs-EABI-matters/
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
9
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
10 This instruction set cannot support EABI, which requies the Thumb extensions.
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
11 It's sort of the 80286 of the ARM world.
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
12 "
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
13
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
14 KARCH=arm
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
15 KERNEL_PATH=arch/${KARCH}/boot/zImage
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
16 GCC_FLAGS="--with-float=soft"
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
17 BINUTILS_FLAGS=
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
18 QEMU_TEST=$KARCH
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
19
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
20 ROOT=sda
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
21 CONSOLE=ttyAMA0
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
22
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
23 UCLIBC_CONFIG="
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
24 TARGET_arm=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
25 ARCH_WANTS_LITTLE_ENDIAN=y
1520
30d9bc95559e Switch armv4l from NPTL back to pthreads instead of trying to patch uClibc into submission just now. arm-oabi is legacy support, need to swap the stack unwinding type to get NPTL to work with it.
Rob Landley <rob@landley.net>
parents: 1434
diff changeset
26 LINUXTHREADS_OLD=y
1400
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
27 "
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
28
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
29 LINUX_CONFIG="
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
30
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
31 # Processor config
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
32
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
33 # QEMU patch: http://www.mail-archive.com/qemu-devel@nongnu.org/msg19370.html
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
34 # and QEMU option '-cpu arm920t' enable CONFIG_CPU_ARM920T=y which is the
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
35 # processor that actually _needs_ this code. But until then, qemu can only
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
36 # emulate an armv5 CPU...
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
37
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
38 CONFIG_CPU_ARM926T=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
39 CONFIG_MMU=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
40
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
41 # Versatile board
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
42
1574
a49311441334 The linux 3.7 arm config changed the default board off of versatile, so add a config symbol explicitly specifying it.
Rob Landley <rob@landley.net>
parents: 1520
diff changeset
43 CONFIG_ARCH_VERSATILE=y
1400
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
44 CONFIG_ARCH_VERSATILE_PB=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
45 CONFIG_PCI_LEGACY=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
46 CONFIG_SERIAL_NONSTANDARD=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
47 CONFIG_SERIAL_AMBA_PL011=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
48 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
49 CONFIG_RTC_DRV_PL031=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
50 CONFIG_SCSI_SYM53C8XX_2=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
51 CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
52 CONFIG_SCSI_SYM53C8XX_MMIO=y
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
53 "
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
54
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
55 emulator_command()
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
56 {
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
57 echo qemu-system-arm -M versatilepb $(qemu_defaults "$@") \
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
58 -net nic,model=rtl8139 -net user
0b1022dc9a36 Remove one more "settings" dependency from functions.sh, and convert lots of architecture configurations from directory to file.
Rob Landley <rob@landley.net>
parents:
diff changeset
59 }