zephyr/scripts
Anas Nashif 9aeb08213f toolchain: add support for iamcu toolchain
See
https://groups.google.com/forum/#!topic/ia32-abi/cn7TM6J_TIg

for more details.

• Support IA32 without FPU.
• Minimum ISA: Pentium ISA without x87 FPU instructions.
• Don't allow mixing i386 object files with Intel MCU object files.
• Support floating point with software emulation:
     a. Long double is the same as double.
     b. Use __float80 for 80-bit double.
• Minimize memory footprint:
     a. Code size
     b. Data size
     c. Stack size

Here is the draft of Intel MCU psABI.   The differences from IA32
 psABI are

1. The minimum instruction set is Intel Pentium ISA minus instructions
for x87 floating point unit.
2. There are no x87 floating point registers.
3. There are no vector registers.
4. Segment registers are optional.
5. Support for TLS relocations are optional.
6. Scalar types larger than 4 bytes are aligned to 4 bytes.
7. There are no vector types.
8. _Decimal32, _Decimal64, and _Decimal128 types are optional.
9. long double type is the same as double.
10. float, double and long double types are passed and returned in
 general purpose registers.
11. _Decimal32 and _Decimal64 types are passed in general purpose
registers.
12. Aggregate types no larger than 8 bytes are passed and returned
in general purpose registers.
13. Stack is 4-byte aligned.
14. The auxiliary vector support is optional.
15. Register %edx has undefined value at process entry.
16. New ELF machine code: EM_IAMCU.
17. New predefined C/C++ pre-processor symbols: __iamcu and __iamcu__

Change-Id: I6a0c45ad22d8f710b6f37a041aaa2fc1bf0b1c39
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:38 -05:00
..
basic
cross_compiler
gen_idt Rename Zephyr OS into Zephyr Kernel 2016-02-05 20:14:26 -05:00
genksyms
kconfig doxygen: add @brief and capitalize 2016-02-05 20:14:33 -05:00
sanity_chk Use PLATFORM_CONFIG to specify configuration 2016-02-05 20:14:38 -05:00
0001-armv7m-support-basepri-primask-interrupt-locking.patch
Kbuild.include Revert "Kbuild: Tools build at TIMO_BASE directory." 2016-02-05 20:14:24 -05:00
Makefile Kbuild: Clean target fix. 2016-02-05 20:14:22 -05:00
Makefile.arm.preparch Kbuild: Introduce QEMU_PIPE option 2016-02-05 20:14:38 -05:00
Makefile.asm-generic
Makefile.build Revert "Kbuild: Tools build at TIMO_BASE directory." 2016-02-05 20:14:24 -05:00
Makefile.clean
Makefile.dtbinst
Makefile.extrawarn
Makefile.headersinst
Makefile.help
Makefile.host
Makefile.lib Rename TIMO -> ZEPHYR 2016-02-05 20:14:16 -05:00
Makefile.modbuiltin
Makefile.preparch Remove config1p.mdef references from build system 2016-02-05 20:14:33 -05:00
Makefile.toolchain.iamcu toolchain: add support for iamcu toolchain 2016-02-05 20:14:38 -05:00
Makefile.toolchain.xtools kbuild: Add libgcc.a directory to xtools search path 2016-02-05 20:14:16 -05:00
Makefile.toolchain.yocto Use qemu from toolchain if available 2016-02-05 20:14:12 -05:00
Makefile.x86.preparch Kbuild: Introduce QEMU_PIPE option 2016-02-05 20:14:38 -05:00
check_known_checkpatch_issues.sh Rename TIMO -> ZEPHYR 2016-02-05 20:14:16 -05:00
checkpatch.pl
checkstack.pl
config
diffconfig
do_checkpatch.sh Rename TIMO -> ZEPHYR 2016-02-05 20:14:16 -05:00
gcc-version.sh
headerdep.pl
link-zephyr.sh toolchain: add support for iamcu toolchain 2016-02-05 20:14:38 -05:00
maintainer-checkpatch.bash maintainer-checkpatch.bash: ignore gerrit ID 2016-02-05 20:14:27 -05:00
make-ll Rename VXMICRO_JOBS to ZEPHYR_JOBS 2016-02-05 20:14:15 -05:00
mkmakefile
mksysmap
spelling.txt
sysgen Microkernel timer uses new driver initialization 2016-02-05 20:14:37 -05:00
timestamp
truesize