Commit graph

6821 commits

Author SHA1 Message Date
David Given 44b5d01525 Merge.
--HG--
rename : util/ncgg/build.mk => util/cgg/build.mk
2015-03-23 00:14:10 +01:00
David Given b146d2641c Fix a slightly mysterious dependency issue. 2015-03-23 00:09:41 +01:00
David Given 98ea849d03 Improve flex correctness. 2015-03-23 00:09:27 +01:00
David Given 9f23fbbe6a Allow machines to use cg if they wish.
--HG--
rename : mach/proto/ncg/build.mk => mach/proto/cg/build.mk
rename : util/ncgg/build.mk => util/cgg/build.mk
2015-03-23 00:08:51 +01:00
David Given c5018d7088 64-bit-ify (adhoc varargs are evil). 2015-03-23 00:07:59 +01:00
David Given 3d5e72e20b Newer versions of GNU Make have a new function which collides with a
variable we're using; change the name of the variable.
2015-03-22 12:09:46 +01:00
David Given 2271bcd0a7 Fixed a parallel build race condition (forgot to declare a dependency to
the makefile).
2014-11-09 18:47:51 +01:00
David Given 6a340ea1bd Remove regrettable comment. 2014-08-31 13:40:39 +02:00
David Given e36d739fa4 Add (largely untested) float/int conversion.
--HG--
branch : dtrg-videocore
2013-07-01 13:05:36 +01:00
David Given 8b6951dac0 Fix incorrect offset encoding in lea (sp) instructions.
--HG--
branch : dtrg-videocore
2013-06-29 00:35:07 +01:00
David Given edb174da8d Fix incorrect encoding of 'push lr' and 'pop pc'.
--HG--
branch : dtrg-videocore
2013-06-29 00:32:39 +01:00
David Given 29af6f1adb ISA change: clz has been renamed to log2.
--HG--
branch : dtrg-videocore
2013-06-27 11:25:50 +01:00
David Given 2b3f95de0b Fix jump range checking in the addcmpb family of instructions.
--HG--
branch : dtrg-videocore
2013-06-26 23:32:54 +01:00
David Given c72eaef8ee Add routine to set the Raspberry Pi clock to 250MHz (loads faster than the default 19.2MHz).
--HG--
branch : dtrg-videocore
rename : plat/rpi/libsys/pi_user_to_phys.s => plat/rpi/libsys/pi_fast_mode.s
2013-06-24 23:57:27 +01:00
David Given d94c1c8150 Updated distr files.
--HG--
branch : dtrg-videocore
rename : mach/i80/.distr => mach/vc4/.distr
rename : plat/cpm/.distr => plat/rpi/.distr
2013-06-21 23:38:21 +01:00
David Given 2be811bac2 Updated VC4 docs.
--HG--
branch : dtrg-videocore
2013-06-21 23:21:08 +01:00
David Given fd2360be0f Ship assembler man pages.
--HG--
branch : dtrg-videocore
rename : man/8080_as.6 => man/i80_as.6
rename : man/m68k2_as.6 => man/m68020_as.6
2013-06-21 23:20:50 +01:00
David Given 55be35a68a Add a stub malloc.h.
--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/headers/stdlib.h => lang/cem/libcc.ansi/headers/malloc.h
2013-06-20 00:15:14 +01:00
David Given 052dd9bfc0 Actually remember to set the stack pointer on startup. Reduce to stack from 16kB to a much more reasonable 1kB.
--HG--
branch : dtrg-videocore
2013-06-20 00:14:55 +01:00
David Given eaf4339cd6 Implement a very crude busy-wait based select() mechanism for consol input.
--HG--
branch : dtrg-videocore
rename : plat/rpi/include/ack/config.h => plat/rpi/include/sys/select.h
rename : plat/rpi/libsys/time.c => plat/rpi/libsys/select.c
2013-06-09 22:16:30 +01:00
David Given bbd4b46850 Fix stack corruption when adjusting SP. Be a bit more rigorous about clearing the pseudostack on branch/labels.
--HG--
branch : dtrg-videocore
2013-06-07 21:25:38 +01:00
David Given ed6c4a85d1 Change the size of the SRAM area to 128kB (to reflect reality).
--HG--
branch : dtrg-videocore
2013-06-06 00:05:48 +01:00
David Given 3e0123ca03 Fix treatment of out-of-range values in switch csa.
--HG--
branch : dtrg-videocore
2013-06-05 23:57:23 +01:00
David Given aacabba165 Apply fix contributed by George Koehler:
- don't crash if BSS overlaps BDOS
- fix stack initialisation bug
- fix command line argification
2013-06-02 22:02:15 +01:00
David Given 86c6fa2f1e Implement NOT...
--HG--
branch : dtrg-videocore
2013-05-30 23:50:19 +01:00
David Given d5a112dbfd Some more termios compatibility options.
--HG--
branch : dtrg-videocore
2013-05-30 23:25:22 +01:00
David Given 2054618e75 Add basic termios to the rpi platform to allow echoing/newline translation to be controlled.
--HG--
branch : dtrg-videocore
rename : plat/rpi/include/unistd.h => plat/rpi/include/termios.h
rename : plat/rpi/libsys/write.c => plat/rpi/libsys/tcgetattr.c
rename : plat/rpi/libsys/write.c => plat/rpi/libsys/tcsetattr.c
2013-05-30 23:19:55 +01:00
David Given d273497077 Add some missing libc functions: setenv, unsetenv, strdup.
--HG--
rename : lang/cem/libcc.ansi/stdlib/getenv.c => lang/cem/libcc.ansi/stdlib/setenv.c
rename : lang/cem/libcc.ansi/string/strlen.c => lang/cem/libcc.ansi/string/strdup.c
extra : source : 64d6e6eec18d76bf8f3947ec5d171db94acdb282
2013-05-29 21:41:58 +01:00
David Given 074b42aa97 Add some missing libc functions: setenv, unsetenv, strdup.
--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/stdlib/getenv.c => lang/cem/libcc.ansi/stdlib/setenv.c
rename : lang/cem/libcc.ansi/string/strlen.c => lang/cem/libcc.ansi/string/strdup.c
2013-05-29 21:41:58 +01:00
David Given f522aba4af Add support for snprintf and vsnprintf. Try and make the return value a bit
more standards-compliant.

--HG--
extra : source : a19eb606871f918e3d9e195b487b5276855edc8e
2013-05-29 17:10:58 +01:00
David Given 69953d016c Add support for snprintf and vsnprintf. Try and make the return value a bit
more standards-compliant.

--HG--
branch : dtrg-videocore
2013-05-29 17:10:58 +01:00
David Given d3e3e72860 Update from trunk.
--HG--
branch : dtrg-videocore
2013-05-29 15:03:48 +01:00
David Given 6fff2d45fe Attempt to fix 64-bitness error in ashow. Deprecate the structure format macros in h/out.h because they make no sense on 64-bit platforms. 2013-05-29 14:48:51 +01:00
David Given e0c121d6e6 Use relocation enumerations rather than hard-coded values for relocation types
(these were causing problems due to the enumeration values having changed).
2013-05-29 14:11:04 +01:00
David Given 1f36370d87 Implement nop (the C compiler sometimes generates this!).
--HG--
branch : dtrg-videocore
2013-05-26 22:54:53 +01:00
David Given ae993b1eb2 Add a crude README.
--HG--
branch : dtrg-videocore
2013-05-26 19:54:22 +01:00
David Given 38e4726f5c Boot code now works properly in both kernel and bare-metal mode.
--HG--
branch : dtrg-videocore
2013-05-26 19:41:37 +01:00
David Given ef25c53c9c Fix bug in ine/dee.
--HG--
branch : dtrg-videocore
2013-05-26 18:59:19 +01:00
David Given e01f00e320 Allow reading from the mini UART. Add a check to not touch the UART unless it's been initialised (in case of accidents when running in kernel mode).
--HG--
branch : dtrg-videocore
2013-05-26 18:58:54 +01:00
David Given 366cd10194 Remainders are calculated correctly. printf now works.
--HG--
branch : dtrg-videocore
2013-05-26 13:13:58 +01:00
David Given 510888e6d5 .csb now works.
--HG--
branch : dtrg-videocore
rename : mach/vc4/libem/csa.s => mach/vc4/libem/csb.s
2013-05-26 13:06:25 +01:00
David Given 6284512b37 Fix erroneous section check (symbols may not have a defined section in pass 1).
--HG--
branch : dtrg-videocore
2013-05-26 00:35:15 +01:00
David Given bd9497be77 Renamed the pi-specific functions to be a bit cleaner.
--HG--
branch : dtrg-videocore
rename : plat/rpi/libsys/phys_to_user.s => plat/rpi/libsys/pi_phys_to_user.s
rename : plat/rpi/libsys/uart.s => plat/rpi/libsys/pi_uart.s
rename : plat/rpi/libsys/user_to_phys.s => plat/rpi/libsys/pi_user_to_phys.s
2013-05-26 00:22:39 +01:00
David Given 308d41e083 Added triple-quad load and store (used by the signal stuff).
--HG--
branch : dtrg-videocore
2013-05-26 00:22:08 +01:00
David Given e299cc3bcf stdio (output only) now works.
--HG--
branch : dtrg-videocore
2013-05-25 23:59:31 +01:00
David Given 8c21a2ef9b Stop fighting the terrible code and remove the regvar support --- it didn't help much and was a pain.
--HG--
branch : dtrg-videocore
2013-05-25 23:58:35 +01:00
David Given 6a672d5e96 Heap allocations now works.
--HG--
branch : dtrg-videocore
2013-05-25 23:28:47 +01:00
David Given 3b07fee160 Major bugfix where instructions weren't being shrunk correctly. (Turns out there's built-in support for doing this, which I hadn't found.)
--HG--
branch : dtrg-videocore
2013-05-25 23:26:10 +01:00
David Given b6680a48cc Disable register variables. The code is a bit worse, but having two stackable registers makes things much easier to understand.
--HG--
branch : dtrg-videocore
2013-05-25 13:31:58 +01:00
David Given d7efb0a32c Implement .csa.
--HG--
branch : dtrg-videocore
rename : mach/vc4/libem/dummy.s => mach/vc4/libem/csa.s
2013-05-25 13:31:27 +01:00