Raymond Toy pushed to branch master at cmucl / cmucl
Commits: d1317fa3 by Raymond Toy at 2012-11-23T09:35:49-08:00 First cut at ARM vm definitions.
- - - - - 4cba930e by Raymond Toy at 2012-11-23T11:05:19-08:00 First step at insts. Incomplete, but testing out pull requests.
- - - - - 37b87911 by Raymond Toy at 2012-12-01T15:53:03-08:00 Add instruction definitions for basic data-processing, load/store, and branches.
- - - - - 69b33d83 by Raymond Toy at 2012-12-02T09:28:41-08:00 Clean up so it can compile.
- - - - - 86006c39 by Raymond Toy at 2012-12-02T09:34:43-08:00 Add ARM package.
- - - - - 701304d7 by Raymond Toy at 2012-12-02T09:35:11-08:00 Update vmdir to add arm directory.
- - - - - aa27358f by Raymond Toy at 2012-12-02T10:30:42-08:00 Get file to compile successfully.
o Add PC as a defreg, so we can do (simple) PC-relative addressing. o Clean up locations for float types.
- - - - - 89a19543 by Raymond Toy at 2012-12-02T12:31:13-08:00 Merge branch 'rtoy-update-packages-setup' into add-insts-1
- - - - - 5c9e2ae7 by Raymond Toy at 2012-12-02T12:35:11-08:00 First version of parms for ARM, based on SPARC.
- - - - - 014cf49b by Raymond Toy at 2012-12-02T12:35:24-08:00 Add arm-fasl-file-implementation.
- - - - - cc72fe95 by Raymond Toy at 2012-12-02T12:36:01-08:00 Merge branch 'rtoy-add-parms' into add-insts-1
- - - - - ecde5808 by Raymond Toy at 2012-12-02T13:11:43-08:00 Add default value for cond for the branch instructions.
- - - - - 0dcfb902 by Raymond Toy at 2012-12-02T13:31:24-08:00 Export arm-fasl-file-implementation.
- - - - - bb60a70c by Raymond Toy at 2012-12-02T21:40:41-08:00 Add multiply instructions.
- - - - - 36944bb0 by Raymond Toy at 2012-12-02T21:52:18-08:00 Update from review.
- - - - - bbed0c05 by Raymond Toy at 2012-12-04T21:35:16-08:00 More instructions o Cleaned up some things, with commments added. o Divide and BKPT instructions added. o Added many floating-point instructions.
Compiles, with warnings.
- - - - - 0a38720c by Raymond Toy at 2012-12-04T22:43:29-08:00 o Clean up fp-reg-tn-encoding o Other random cleanups and typo fixes.
- - - - - 23684725 by Raymond Toy at 2012-12-05T20:56:53-08:00 o Add format-base for the basic instruction layout and try to use it in more places. o Remove disassembler instruction conflicts from all instructions except ldrh and ldrsh. (Don't know why they conflict. They look different.)
- - - - - 8eb90a04 by Raymond Toy at 2012-12-05T21:35:39-08:00 Add movw and movt.
- - - - - 9ac73ac9 by Raymond Toy at 2012-12-05T21:42:52-08:00 Change format-mul and format-bkpt to include format-base.
- - - - - 09d8a6ac by Raymond Toy at 2012-12-05T21:46:36-08:00 Change format-2-immed and format-2-reg to include format-base.
- - - - - ee28af74 by Raymond Toy at 2012-12-05T22:28:22-08:00 o Change format-2-halfword* to format-0-halfword*, and include format-base. o Fix some issues in conflicting instructions because we forgot to set the size field for the disassembler. o Actually implement the vmov instructions.
Woohoo! disassem::print-backend-inst-space prints out all the defined instructions.
- - - - - 850a291e by Raymond Toy at 2012-12-06T19:10:21-08:00 Update printer for condition-code argument type to print out the cond field correctly. In all other inst printers, we can just say "cond" now. (I think.)
- - - - - 1cb46330 by Raymond Toy at 2012-12-06T20:10:42-08:00 Fix the encodings for single and double regs.
- - - - - 51b139f4 by Raymond Toy at 2012-12-06T21:36:34-08:00 o Define VLDR/VSTR instructions. o Minor cleanup for printing BLX instructions.
- - - - - 76369810 by Raymond Toy at 2012-12-07T23:21:06-08:00 o Add shift-type arg type and use it to print out the shift type. o Add dummy maybe-add-notes. o Correct some printers to print the right thing.
- - - - - 2abba9d5 by Raymond Toy at 2012-12-08T00:31:41-08:00 Fix some more printers.
- - - - - 62b8a597 by Raymond Toy at 2012-12-08T10:33:03-08:00 o Fix up printers for many instructions o Fix up some instruction formats o Fix up some instrcution definition macros
- - - - - 667c76c3 by Raymond Toy at 2012-12-08T13:54:51-08:00 o Clean up the MOV inst. It doesn't support the shifted register operand anymore. (That's a pseudo-op according to ARM). o Added the shift instructions.
- - - - - 0f30e089 by Raymond Toy at 2012-12-08T14:24:39-08:00 Fix printing of shift instructions.
- - - - - e6a5c81d by Raymond Toy at 2012-12-08T15:26:21-08:00 Update VCMP/VCMPE instruction so that it at least disassemble.
- - - - - 572a33d3 by Raymond Toy at 2012-12-09T09:48:36-08:00 Many bug fixes: o There is no STRSH and STRSB instructions, Duh! o Make all instruction formats include format-base and update emitters and instructions appropriately. o Define MVN separately from the other data processing instructions; it's not quite like them. o Fix some bugs in bits in the shift instructions. o Fix bad definition of mls (it never sets the flags)
- - - - - 452384e4 by Raymond Toy at 2012-12-09T11:00:57-08:00 Add UDF, SVC, and NOP instructions.
- - - - - e981aa8d by Raymond Toy at 2012-12-10T19:27:29-08:00 Add vmsr and vmrs to access FPSCR.
- - - - - 9cd3d947 by Raymond Toy at 2012-12-10T21:03:13-08:00 o Add MRS o Add VMOV (ARM reg to/from single-reg)
- - - - - eceece45 by Raymond Toy at 2012-12-13T21:14:55-08:00 Initial version of parms, copied from the sparc port.
- - - - - 59bba4c8 by rtoy at 2012-12-13T21:18:19-08:00 Merged in arm-rtoy-add-parms (pull request #4: Initial version of parms, copied from the sparc port.) - - - - - 1b2d3aac by Raymond Toy at 2012-12-13T21:22:35-08:00 Update parms for ARM
o Add correct float trap info for ARM. o Add initial guess for static symbols, number-stack-displacement. o Remove sparcisms.
- - - - - 3a462aaa by Raymond Toy at 2012-12-13T21:43:04-08:00 Support fixups for the MOVW and MOVT instructions. (Untested.)
- - - - - 2c1b7b7b by Raymond Toy at 2012-12-15T09:09:07-08:00 Clean up o Add some comments, o Indent some things
- - - - - 7f8c5532 by Raymond Toy at 2012-12-15T12:00:04-08:00 Add MSR and fix some issues o Add MSR instruction o Fix incorrect number of args for emit-format-vfp-fpscr. o Fix incorrect number of args for emitter in define-load/store-extra.
- - - - - 532cd200 by Raymond Toy at 2012-12-16T09:31:42-08:00 o Update inst column width o Try to clean up VCVT instructions somewhat. Still needs work.
- - - - - 5e9eb99a by Raymond Toy at 2012-12-16T09:49:42-08:00 o Need to use STREAM arg in SHIFT-TYPE arg-type printer. o Add CLZ instruction.
- - - - - b7d13c95 by Raymond Toy at 2012-12-17T21:29:28-08:00 o Allow using ARM register names instead of lisp register names when disassembling instructions. (This is useful when comparing disasembly from other disassemblers that use ARM syntax.) o Minor changes to use less vertical code space. o Forgot to add #<shift> for ROR shifts. o Forget to set z 0 for the format-0-reg-shifted printer.
- - - - - 17d7fc0d by Raymond Toy at 2012-12-19T19:26:18-08:00 Change BKPT to allow any cond value in disassembly, but only allow :al on assembly.
- - - - - c8abf8b7 by Raymond Toy at 2012-12-19T19:59:38-08:00 Add instruction macro li.
- - - - - f10f9dfa by Raymond Toy at 2012-12-26T14:43:41-08:00 Update according to review.
- - - - - 4a696ced by rtoy at 2012-12-26T15:11:59-08:00 Merged in rtoy-update-packages-setup (pull request #3: Add ARM package, update vmdir, get vm.lisp to compile) - - - - - a942899b by Raymond Toy at 2012-12-26T16:21:06-08:00 Initial version of script to cross-compile from x86 to arm/linux.
- - - - - 65b752f3 by Raymond Toy at 2012-12-27T09:55:06-08:00 Remove comment that should have been removed. Pull request #3 didn't seem to merge this correctly?
- - - - - b8ab518c by Raymond Toy at 2012-12-27T10:27:04-08:00 Turn off scheduler; update some dependency information.
- - - - - 945fa74c by Raymond Toy at 2012-12-27T14:11:35-08:00 Merge branch 'arm-rtoy-add-insts' into arm-rtoy-add-macros
Conflicts: src/compiler/arm/vm.lisp
- - - - - 1fc71290 by Raymond Toy at 2012-12-27T14:12:41-08:00 Merge branch 'master' into arm-rtoy-add-insts
Conflicts: src/compiler/arm/vm.lisp
- - - - - d29d214c by Raymond Toy at 2012-12-27T14:13:17-08:00 Merge branch 'arm-rtoy-add-insts' into arm-rtoy-add-macros
- - - - - fc59e148 by Raymond Toy at 2012-12-27T14:14:18-08:00 Initial checkin of sparc version.
- - - - - 04f86bea by Raymond Toy at 2012-12-29T09:40:26-08:00 Add macros.lisp.
- - - - - 411349a4 by Raymond Toy at 2012-12-29T10:51:39-08:00 Fix according to review comments.
- - - - - 53920aff by rtoy at 2012-12-29T10:56:20-08:00 Merged in arm-rtoy-add-parms (pull request #5: Update parms for ARM) - - - - - 2da27b79 by Raymond Toy at 2012-12-29T10:59:39-08:00 Merge branch 'master' into arm-rtoy-add-insts
Conflicts: src/compiler/arm/parms.lisp
- - - - - ecf2f3b6 by Raymond Toy at 2012-12-29T11:21:48-08:00
- - - - - 68acb9cb by Raymond Toy at 2012-12-29T11:24:24-08:00 Update to match current master version.
- - - - - a32baf9f by Raymond Toy at 2012-12-29T11:30:23-08:00 Clean up.
- - - - - 9e74c8a9 by Raymond Toy at 2012-12-29T11:32:37-08:00 More minor clean ups.
- - - - - 2a4507cd by Raymond Toy at 2012-12-30T08:54:32-08:00 Merge branch 'arm-rtoy-add-insts' into arm-rtoy-add-macros
Conflicts: src/compiler/arm/macros.lisp src/compiler/arm/parms.lisp
- - - - - 37e82709 by Raymond Toy at 2012-12-30T08:56:48-08:00 Default condition value in INST-CONDITION-CODE was wrong.
- - - - - 9e680d01 by Raymond Toy at 2012-12-30T08:57:05-08:00 Merge branch 'arm-rtoy-add-insts' into arm-rtoy-add-macros
- - - - - d70e634a by Raymond Toy at 2012-12-30T09:15:32-08:00 Fix typo, remove long-float-digits and exports for long-float stuff.
- - - - - 79b7b1c2 by Raymond Toy at 2012-12-30T10:17:55-08:00 Add missing closing paren, get rid of long-float-digits and exported long-float symbols.
- - - - - 6bab48f2 by rtoy at 2012-12-30T10:20:41-08:00 Merged in arm-rtoy-fix-parms (pull request #7: Fix typo and remove more long-float stuff) - - - - - 7d740040 by Raymond Toy at 2012-12-30T10:25:52-08:00 Merge branch 'master' into arm-rtoy-add-macros
- - - - - 85495f92 by Raymond Toy at 2012-12-30T10:29:19-08:00 Fix some comments; add FIXME notes.
- - - - - 8b6db912 by Raymond Toy at 2013-01-05T10:18:16-08:00 Merge branch 'master' into arm-rtoy-add-insts
- - - - - 4feb366c by Raymond Toy at 2013-01-05T20:55:36-08:00 o Fix according to review. o EMIT-FORMAT-VFP-2-ARG had too few entries. Update all uses of this emitter too. o FORMAT-VFP-2-ARG was missing (byte 3 25). o VMOV of ARM core registers was missing the cond field in the emitter. o FORMAT-VFP-FPSCR was missing (byte 3 25). Update users o VMRS was missing an arg in the emitter.
- - - - - eb15c0f8 by Raymond Toy at 2013-01-05T21:12:23-08:00 Fix SC stuff VMOV (for moving between ARM and FP regs).
- - - - - ec6e56f4 by Raymond Toy at 2013-01-05T21:16:03-08:00 Fix according to review.
- - - - - fc11723a by Raymond Toy at 2013-01-11T23:16:33-08:00 Update from review comments. More to come.
- - - - - 69b41900 by Raymond Toy at 2013-01-11T23:18:49-08:00 Forgot the cond field for VMRS and VMSR.
- - - - - dda21976 by Raymond Toy at 2013-01-12T07:46:20-08:00 More cleanup from review.
- - - - - c275c08d by Raymond Toy at 2013-01-13T16:29:10-08:00 More updates from review: o Rename DEFEINE-DATA-PROC o Split data processing instructions to include two separate instructions: the basic inst and the one that sets the flags. o Define new function to convert the condition flag to the appropriate code, with error checking.
- - - - - aa5bbd81 by Raymond Toy at 2013-01-13T16:55:58-08:00 Move body of emitter of define-one-data-proc-inst to its own function.
- - - - - a5163aad by Raymond Toy at 2013-01-13T17:11:18-08:00 o Use EMIT-DATA-PROC-FORMAT in more places o Update it to handle the case where src1 is 0.
- - - - - faf10b2d by Raymond Toy at 2013-01-13T17:19:50-08:00 o Need to define src1 as a reg type to disassemble compare instructions correctly. o Update EMIT-DATA-PROC-FORMAT to handle the case where dst should be 0 instead of a tn.
- - - - - 1662caeb by Raymond Toy at 2013-01-13T17:22:29-08:00 Set opcode width to 8; 16 is too long for most instructions.
- - - - - ac88e2aa by Raymond Toy at 2013-01-13T21:43:11-08:00 Add closing paren that was missing.
- - - - - 5058f793 by Raymond Toy at 2013-01-13T22:30:51-08:00 More cleanups to have separate instruction definitions for one with no setting of flags and one with.
- - - - - e6ef05f6 by Raymond Toy at 2013-01-13T22:47:43-08:00 Fix disasembly for umull and other two-output multipliers. The registers were printed in the wrong order.
- - - - - 176e0b86 by Raymond Toy at 2013-01-13T22:57:44-08:00 o Remove another use of inst-condition-code o NOP instruction was not printing out the cond field.
- - - - - 1b49932b by Raymond Toy at 2013-01-13T23:01:39-08:00 Set opcode column width to 9 for umullsne, and similar.
- - - - - 484d7ba7 by Raymond Toy at 2013-01-13T23:05:37-08:00 Test code for disassembler.
- - - - - cecddf89 by Raymond Toy at 2013-01-13T23:08:38-08:00 Add comments.
- - - - - c3adadda by Raymond Toy at 2013-01-13T23:35:38-08:00 Add docstrings for make-shift and make-ea.
- - - - - 65ced8b1 by Raymond Toy at 2013-01-13T23:48:32-08:00 Fix typos introduced when changing :post-indexed to :indexed.
- - - - - ec262f69 by Raymond Toy at 2013-01-14T20:18:54-08:00 More cleanups. o Replace INST-CONDITION-CODE with CONDITION-CODE-ENCODING and remove that function. o Remove INST-SET-FLAGS and fix up one last usage of it. o Rename ENCODE-SHIFT to SHIFT-TYPE-ENCODING to match CONDITION-CODE-ENCODING.
- - - - - 3bb27c1d by Raymond Toy at 2013-01-26T09:23:47-08:00 Update according to review comments.
- - - - - d582ce46 by Raymond Toy at 2013-01-29T22:08:33-08:00 Update according to review
insts.lisp: o Update according to review. o Fix some bugs in some instructions
test-disassem.lisp: o Update some disassembly tests to include the fact that we now have separate <foo> and <foo>s instructions.
- - - - - 1431676e by rtoy at 2013-01-30T18:45:32-08:00 Merged in arm-rtoy-add-insts (pull request #6)
Add ARM instructions, cross-compile script, and a simple test program for the disassembler. - - - - - 602b676b by Raymond Toy at 2013-01-30T22:48:12-08:00 Fix up FP insts that were postponed.
arm/insts.lisp: o Fix up FP insts o Correct the printer for the VMOV.F32 and VMOV.F64 instructions.
arm/test-disassem.lisp: o Add tests for the VMOV.F32 and VMOV.F64 instructions.
- - - - - d61a7e3a by Raymond Toy at 2013-02-22T19:05:10-08:00 * Fix type issue in MAKE-SHIFT: SHIFT TYPE can also be :rrx. * Change DEFINE-VFP-3-INST not to need inst-name. Derive the type from the types of the args.
- - - - - c357f113 by Raymond Toy at 2013-02-22T21:11:18-08:00 Simplify instruction definitions for vneg and vcmp and friends. These instructions now figure out the appropriate bits from the types of the registers.
Also change vcvt instructions to have their own macro.
- - - - - 9e49e533 by Raymond Toy at 2013-02-22T21:15:40-08:00 Oops. Accidentally duplicated define-vfp-3-insts. Remove it.
- - - - - 998cb8eb by Raymond Toy at 2013-02-22T22:55:35-08:00 Remove unused stuff:
* Remove opa1 and &optional doublep from define-vfp-3-inst. * Remove opc4 from define-vfp-2-inst. * Fix typo in default printer and print name in define-vcvt-inst * Remove opc3 from define-vfp-cmp-inst.
- - - - - 372d5db3 by Raymond Toy at 2013-02-22T22:55:59-08:00 Add test pattern for vadd.
- - - - - 7f703dc1 by Raymond Toy at 2013-02-22T22:59:04-08:00 Fix typo.
- - - - - 3164b75d by Raymond Toy at 2013-02-24T08:45:52-08:00 Fix according to review comments.
* Fix indentation and whitespace issues. * Fix mistake in load/store printer where the address was printed as [rn#+off] instead of [rn, #+off] * Change define-fp-load/store-inst to derive the instruction size from the type of dst tn.
- - - - - 66f81619 by Raymond Toy at 2013-02-24T08:46:17-08:00 Add some tests for VLDR and VSTR.
- - - - - 57765403 by Raymond Toy at 2013-02-25T19:15:14-08:00 Cleanup some indentation and use backquotes everywhere as needed.
- - - - - 2e9fdb18 by Raymond Toy at 2013-02-25T21:03:00-08:00 Unify the VMOV variants into one instruction.
- - - - - 6cbe4f68 by Raymond Toy at 2013-02-25T21:03:20-08:00 Add test for moving 2 ARM regs to/from a double-precision reg.
- - - - - 1ad77293 by Raymond Toy at 2013-02-27T19:24:16-08:00 Cleanup according to review comments.
Also removed the redundant op0 field from format-6-vfp-vmov-core-double. It should have been derived from format-base. The printers were updated to use opb0 instead op0.
- - - - - c94fda4f by rtoy at 2013-03-01T18:07:21-08:00 Merged in arm-rtoy-fixup-fp-insts (pull request #8)
Fix up FP insts that were postponed. - - - - - d9d73df3 by Raymond Toy at 2013-03-01T18:19:12-08:00 Merge branch 'master' into arm-rtoy-add-macros
- - - - - ea6b4af7 by Raymond Toy at 2013-07-19T19:26:41-07:00 Update according to Robert's review comments.
- - - - - 101e57e5 by Raymond Toy at 2013-07-19T19:28:35-07:00 Replace 3 with (1- vm:word-bytes)
- - - - - 28da61ac by Raymond Toy at 2013-07-19T19:31:34-07:00 Initial version from sparc.
- - - - - 66714196 by Raymond Toy at 2013-07-19T19:47:48-07:00 Merge branch 'arm-rtoy-add-macros' into arm-rtoy-add-support
- - - - - f03794c8 by Raymond Toy at 2013-07-19T19:54:56-07:00 Dummy stub implementation generating an error for everything.
- - - - - 517a3f11 by Raymond Toy at 2013-07-19T19:57:58-07:00 Merge tag 'snapshot-2013-07' of ssh://common-lisp.net/var/git/projects/cmucl/cmucl into arm-rtoy-sync-2013-07
Snapshot 2013-07
- - - - - eb996427 by rtoy at 2013-07-19T20:05:01-07:00 Merged in arm-rtoy-sync-2013-07 (pull request #10)
Sync ARM code with upstream cmucl snapshot 2013-07 - - - - - 4067106d by Raymond Toy at 2013-07-22T20:40:26-07:00 Add FIXME for Load-Stack-TN.
- - - - - 3f2fc5af by Raymond Toy at 2013-07-29T22:11:11-07:00 Update according to review comments.
- - - - - 63ee0fd3 by rtoy at 2013-08-04T09:09:29-07:00 Merged in arm-rtoy-add-macros (pull request #9)
Add macros.lisp, based on the sparc version - - - - - 6b195191 by Raymond Toy at 2013-08-04T09:21:47-07:00 Merge branch 'master' into arm-rtoy-add-support
- - - - - 1475803d by Raymond Toy at 2013-08-06T21:05:48-07:00 Fix package.
- - - - - 5a5e0aac by Raymond Toy at 2013-08-07T19:45:12-07:00 Initial version, copied from sparc.
- - - - - 968494cd by Raymond Toy at 2013-08-07T20:13:32-07:00 Oops. ARM's move instruction is called "mov", not "move".
- - - - - 3207c38b by Raymond Toy at 2013-08-07T20:14:05-07:00 Add some instructions for dumping data and header objects that we didn't implement earlier.
- - - - - 0d82ed7e by Raymond Toy at 2013-08-07T20:14:53-07:00 Implement for ARM, but many VOPs signal errors. Only the most obvious VOPs are implemented.
- - - - - 542af328 by Raymond Toy at 2013-08-08T20:35:23-07:00 o Fix typo move->mov o Add not-implemented pseudo-instruction to cause a halt trap.
- - - - - 6ac12821 by Raymond Toy at 2013-08-08T20:35:40-07:00 Use not-implemented.
- - - - - 09685ec3 by Raymond Toy at 2013-08-08T20:38:13-07:00 Merge branch 'arm-rtoy-add-support' into arm-rtoy-add-move
- - - - - b9f8ab45 by Raymond Toy at 2013-08-08T20:41:10-07:00 o Use NOT-IMPLEMENTED inst instead of ERROR. o Remove SPARC stuff
- - - - - cb6769f6 by Raymond Toy at 2013-08-09T19:55:12-07:00 Remove bodies of vops which aren't implemented.
- - - - - 057521fe by Raymond Toy at 2013-08-09T19:59:15-07:00 Fix typo: missing closing paren.
- - - - - 64c16ef9 by Raymond Toy at 2013-08-09T20:02:40-07:00 Fix another typo in :type arg of a structure slot.
- - - - - 27a1fb94 by Raymond Toy at 2013-08-09T20:13:38-07:00 Initial version, based on sparc/float.lisp
- - - - - 370c1525 by Raymond Toy at 2013-08-09T21:21:00-07:00 Fix some bugs o Reindent def-load/store-word nicely o In ALLOCATION, make sure instructions have three args; the ARM port doesn't support two-arg instructions so both source args are needed. o In WITH-FIXED-ALLOCATION, we need to give PSEUDO-ATOMIC a temp reg. o Assert that temp-tn is always given in PSEUDO-ATOMIC because we always need a temp reg.
- - - - - dcfe1d27 by Raymond Toy at 2013-08-09T21:22:42-07:00 Fix some bugs. o The compare instructions don't have a dst arg, so remove it. o Fix typo in the declaration of the type of src. We wrote dst, not src as it should be.
- - - - - a2e14443 by Raymond Toy at 2013-08-09T21:23:13-07:00 First cut at an ARM implementation. Not yet finished with all the VOPS yet.
- - - - - c7a90762 by Raymond Toy at 2013-08-10T07:29:02-07:00 Disable :complex-fp-vops on ARM for now.
- - - - - fb6f5f57 by Raymond Toy at 2013-08-10T07:29:56-07:00 Implemeent more VOPS or make them not-implemented. Long-float support ripped out.
- - - - - 63101b94 by Raymond Toy at 2013-08-10T07:51:02-07:00 Remove misplaced extra closing paren.
- - - - - 056c55bc by rtoy at 2013-08-20T19:44:36-07:00 Merged in arm-rtoy-add-support (pull request #11)
Add assembly/support.lisp, based on sparc - - - - - 398717a8 by rtoy at 2013-08-20T20:03:22-07:00 Merged in arm-rtoy-add-move (pull request #12)
Add arm/move.lisp, based on sparc - - - - - b0ad8945 by rtoy at 2013-08-20T20:12:09-07:00 Merged in arm-rtoy-add-support (pull request #15)
Merge pull request #12 to master - - - - - 51bf6c91 by Raymond Toy at 2013-08-22T19:30:41-07:00 Patch from the arm-rtoy-add-sap branch used in pull request #14, but only includes sap.lisp, since that branch was based off of the float branch.
- - - - - b70f5ed8 by rtoy at 2013-08-22T19:35:23-07:00 Merged in arm-rtoy-add-sap-2 (pull request #16)
Implement sap.lisp (again) - - - - - 801ee707 by Raymond Toy at 2013-08-22T19:43:13-07:00 Update according to review comments.
- - - - - fca696d1 by Raymond Toy at 2013-08-24T08:54:38-07:00 Change how ldr/str/vldr/vstr instructions are handled using new approach. MAKE-EA is gone.
* insts.lisp * Replace old MAKE-EA function and structures with PRE-INDEX, POST-INDEX, and MAKE-OP2. * Fix a couple of errors in vldr/vstr: * Addressing options are more limited than ldr * The offset is now explicit, and is checked for valid values.
* macros.lisp: * Fix some errors in the instructions because all 3 args are needed for three-arg instructions. * Update uses of MAKE-EA. * The or instruction is ORR, not OR.
* sap.lisp: * Update uses of MAKE-EA.
- - - - - 31272579 by Raymond Toy at 2013-08-29T20:49:29-07:00 More fixups: o Fix up definitions for compare instructions. o Make load/store-extra-inst behave the same as load/store instructions. o Fix typo in load/store.
- - - - - 94225cfb by Raymond Toy at 2013-08-29T21:37:50-07:00 More fixups: o It's emit-format-0-reg-shifted, not emit-format-0-reg-shift o It's src1, not imm16. o It's emit-format-0-mul, not emit-format-mul. o In load/store-extra-inst, make the index 8 bits, not 12. We don't currently support the imm12 type. o For load/store-inst, clean up implementation a bit o Fix typo in udf inst: segment, not eegment. o Fix typo: emit-formt-0-msr -> emit-format-0-msr. o Fix typo: format-vfp-3-arg -> emit-format-vfp-3-arg o Fix quoting in define-vcvt-inst macro. o It's dst-or-src, not dst-or-src-or-cond.
- - - - - df872928 by Raymond Toy at 2013-08-29T21:43:25-07:00 Fix more typos: o indexing-mode-post-indexed -> indexing-mode-post-index o encooding -> encoding
- - - - - 205dcae8 by Raymond Toy at 2013-08-29T21:53:01-07:00 More fixes: o Fix typo: reg -> tn o Fix typo: opts -> cond o Fix typo: emit-branch -> emit-branch-imm o Add emit-header-data
- - - - - e3615776 by Raymond Toy at 2013-08-30T20:27:03-07:00 Fix Issue #7. Handle moving an immediate float value to a register.
- - - - - 3f2673bd by Raymond Toy at 2013-08-30T20:31:57-07:00 Fix typo: emit-format-vfp-2-reg -> emit-format-vfp-2-arg.
- - - - - 153d7eff by Raymond Toy at 2013-08-30T20:38:07-07:00 Fix some typos: o The type is called tn, not reg. o The shift type is called shift-type, not shift-types.
- - - - - ff2779a0 by Raymond Toy at 2013-08-30T20:50:10-07:00 Fix more typos: o set-flags-p -> set-flags-bit. o reg -> tn. o There's no shift operand in the RRX instruction!
- - - - - d2d04246 by Raymond Toy at 2013-08-30T20:58:25-07:00 Fix a bunch more cases of reg -> tn.
No more warnings or issues when compiling insts.lisp. Yay!
- - - - - 5ab6ab86 by Raymond Toy at 2013-08-30T23:52:56-07:00 ALLOCATION requires that a temp-tn be given because PSEUDO-ATOMIC needs a temp-tn. Check for that in ALLOCATION and pass the temp-tn through to PSEUDO-ATOMIC. Check that a temp-tn is supplied in PSEUDO-ATOMIC.
- - - - - 73412b1c by Raymond Toy at 2013-09-01T07:48:33-07:00 Add comments.
- - - - - 4088527b by Raymond Toy at 2013-09-01T09:02:15-07:00 Import sparc/system.lisp.
- - - - - a4734628 by Raymond Toy at 2013-09-01T09:19:41-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - d39dca5f by Raymond Toy at 2013-09-01T09:21:10-07:00 Import sparc char.lisp.
- - - - - e9ad17fb by Raymond Toy at 2013-09-01T09:23:50-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - 6199e303 by Raymond Toy at 2013-09-01T09:24:59-07:00 Import sparc memory.lisp.
- - - - - b6ad7806 by Raymond Toy at 2013-09-01T09:28:36-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - 98b4de5a by Raymond Toy at 2013-09-01T09:31:01-07:00 Import sparc static-fn.lisp.
- - - - - 61e02856 by Raymond Toy at 2013-09-01T14:20:24-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - 28a028ac by Raymond Toy at 2013-09-01T14:21:24-07:00 Import sparc arith.lisp.
- - - - - 36b4d9c9 by Raymond Toy at 2013-09-01T14:22:02-07:00 Fix boilerplate.
- - - - - c78f3fbc by Raymond Toy at 2013-09-01T15:10:47-07:00 inst.lisp: o Add NOT instruction macro
arith.lisp: o First cut using NOT-IMPLEMENTED almost everywhere o Remove the zero SC class.
- - - - - abc4824e by Raymond Toy at 2013-09-01T20:19:12-07:00 o Forgot a few more generators that need to be NOT-IMPLEMENTED. o Update logandc1/2, logior, and logxor with correct instructions. Comment out logorc1/2 and logeqv.
- - - - - c50b82d4 by Raymond Toy at 2013-09-01T20:52:15-07:00 o Remove the binops that can't be done in one instruction. o Remove sparc-v9 vops and references. o Compile modular arith stuff in the ARM package, not C.
- - - - - 7d02809b by Raymond Toy at 2013-09-01T20:54:46-07:00 Remove modular versions of logeqv, logorc1, and logorc2 since we don't have vops for those now.
- - - - - 287a47bd by Raymond Toy at 2013-09-01T20:58:19-07:00 Remove modular-backend versions of logeqv, logorc1, and logorc2 since we don't have vops for those now.
- - - - - b06b14b8 by Raymond Toy at 2013-09-01T21:00:33-07:00 Import sparc subprim.lisp.
- - - - - 2b4777a3 by Raymond Toy at 2013-09-01T21:04:49-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - b24a4af4 by Raymond Toy at 2013-09-01T21:06:00-07:00 Import sparc debug.lisp.
- - - - - 17d0afc5 by Raymond Toy at 2013-09-01T21:14:47-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - 596d585a by Raymond Toy at 2013-09-01T21:16:37-07:00 Import sparc c-call.lisp.
- - - - - 329aeb42 by Raymond Toy at 2013-09-01T21:17:35-07:00 Fix boilerplate.
- - - - - e70e996a by Raymond Toy at 2013-09-01T21:19:09-07:00 Remove long-float.
- - - - - aadd2c52 by Raymond Toy at 2013-09-01T21:21:38-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - 0741b934 by Raymond Toy at 2013-09-01T21:23:05-07:00 Import sparc cell.lisp.
- - - - - e2cd9f4c by Raymond Toy at 2013-09-01T21:27:37-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - 3f3e7570 by Raymond Toy at 2013-09-02T12:08:37-07:00 Import sparc values.lisp.
- - - - - f3b25c83 by Raymond Toy at 2013-09-02T12:09:17-07:00 Fix boilerplate.
- - - - - b0e6efc8 by Raymond Toy at 2013-09-02T12:11:49-07:00 Author: Raymond Toy <toy.raymond@gmail.com> --- log message follows this line --- Update for ARM, using NOT-IMPLEMENTED.
- - - - - 459a45ab by Raymond Toy at 2013-09-02T12:13:14-07:00 Import sparc alloc.lisp.
- - - - - e800001f by Raymond Toy at 2013-09-02T12:13:53-07:00 Fix boilerplate.
- - - - - 17f9f77f by Raymond Toy at 2013-09-02T12:18:26-07:00 Author: Raymond Toy <toy.raymond@gmail.com> --- log message follows this line --- Update for ARM, using NOT-IMPLEMENTED.
- - - - - eee8bf0c by Raymond Toy at 2013-09-02T12:20:27-07:00 Import sparc call.lisp.
- - - - - 86e64020 by Raymond Toy at 2013-09-02T12:21:08-07:00 Fix boilerplate.
- - - - - 30d73d8d by Raymond Toy at 2013-09-02T15:19:59-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - 0a8e7a79 by Raymond Toy at 2013-09-02T15:21:04-07:00 Import sparc nlx.lisp.
- - - - - e9d404e8 by Raymond Toy at 2013-09-02T15:21:30-07:00 Fix boilerplate.
- - - - - daedf624 by Raymond Toy at 2013-09-04T19:53:48-07:00 Update for ARM, using NOT-IMPLEMENTED.
- - - - - 32137d15 by Raymond Toy at 2013-09-04T20:03:54-07:00 o Fix up according to review comments. o Add instruction macro for neg.
- - - - - 64563a09 by Raymond Toy at 2013-09-16T19:15:30-07:00 Clean up according to review comments.
- - - - - af6b2484 by Raymond Toy at 2013-09-16T19:17:02-07:00 Merge upstream CMUCL snapshot-2013-09 into arm-rtoy-sync-2013-09
- - - - - 09ad790d by rtoy at 2013-09-16T19:20:06-07:00 Merged in arm-rtoy-sync-2013-09 (pull request #19)
Sync ARM code with upstream cmucl snapshot 2013-09 - - - - - 00b69c04 by Raymond Toy at 2013-09-16T19:20:45-07:00 Merge branch 'master' into arm-rtoy-change-make-ea-2
- - - - - 8030622f by rtoy at 2013-09-20T19:32:21-07:00 Merged in arm-rtoy-change-make-ea-2 (pull request #18)
Remove MAKE-EA and replace it with a new scheme, take 2 - - - - - 74e0bd71 by Raymond Toy at 2013-09-20T19:58:09-07:00 Merge branch 'arm-rtoy-add-float' into arm-rtoy-add-float-2
First cut; float.lisp unchanged so it has errors.
- - - - - a2055982 by Raymond Toy at 2013-09-20T20:13:02-07:00 o Clean up using the new vldr/vstr instruction. o Anything vldr/vstr that didn't have a word offset has been replaced with NOT-IMPLEMENTED.
- - - - - 3fcab5fc by Raymond Toy at 2013-09-30T20:01:30-07:00 Update according to review.
- - - - - 3f461e7e by Raymond Toy at 2013-09-30T20:02:16-07:00 Merge /Volumes/share2/src/clnet/cmucl/release-20e into arm-rtoy-sync-to-20e
- - - - - acf14931 by rtoy at 2013-09-30T20:04:28-07:00 Merged in arm-rtoy-sync-to-20e (pull request #21)
Sync ARM code with upstream cmucl 20e - - - - - 8abcd920 by Raymond Toy at 2013-09-30T20:05:12-07:00 Merge branch 'master' into arm-rtoy-add-float-2
- - - - - 17500b2f by Raymond Toy at 2013-09-30T20:10:45-07:00 Oops. Replace move-long-reg with move-double-reg in a couple of places.
- - - - - 83cc8605 by rtoy at 2013-09-30T21:45:19-07:00 Merged in arm-rtoy-add-float-2 (pull request #20)
Add arm/float.lisp, take 2 - - - - - ef625a96 by Raymond Toy at 2013-10-01T19:27:04-07:00 Implement system.lisp
- - - - - cade7564 by Raymond Toy at 2013-10-01T19:32:03-07:00 Merge branch 'arm-rtoy-change-make-ea-add-char' into arm-rtoy-add-char.lisp
- - - - - 132f5fde by Raymond Toy at 2013-10-01T19:36:01-07:00 Merge branch 'arm-rtoy-change-make-ea-add-memory' into arm-rtoy-add-memory.lisp
- - - - - 1843aff2 by Raymond Toy at 2013-10-01T19:41:34-07:00 Merge branch 'arm-rtoy-change-make-ea-add-arith' into arm-rtoy-add-arith.lisp
- - - - - d8ac6f3d by Raymond Toy at 2013-10-01T19:44:03-07:00 Merge branch 'arm-rtoy-change-make-ea-add-subprim' into arm-rtoy-add-subprim.lisp
- - - - - a30d1ccc by Raymond Toy at 2013-10-01T19:48:44-07:00 Merge branch 'arm-rtoy-change-make-ea-addstatic-fn' into arm-rtoy-add-static-fn.lisp
- - - - - d1cfec1d by Raymond Toy at 2013-10-01T19:50:59-07:00 Merge branch 'arm-rtoy-change-make-ea-debug' into arm-rtoy-add-debug.lisp
- - - - - 0b5ec267 by Raymond Toy at 2013-10-01T20:02:04-07:00 Merge branch 'arm-rtoy-change-make-ea-c-call' into arm-rtoy-add-c-call.lisp
- - - - - 71c9f0ca by Raymond Toy at 2013-10-01T20:05:57-07:00 Remove nl1-offset.
- - - - - af612b5c by Raymond Toy at 2013-10-02T19:22:54-07:00 Merge branch 'arm-rtoy-add-memory.lisp' into arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call
- - - - - aeda9844 by Raymond Toy at 2013-10-02T19:23:09-07:00 Merge branch 'arm-rtoy-add-arith.lisp' into arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call
- - - - - 93b591ac by Raymond Toy at 2013-10-02T19:23:17-07:00 Merge branch 'arm-rtoy-add-subprim.lisp' into arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call
- - - - - fc04211b by Raymond Toy at 2013-10-02T19:23:25-07:00 Merge branch 'arm-rtoy-add-system.lisp' into arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call
- - - - - 6c5058d5 by Raymond Toy at 2013-10-02T19:23:36-07:00 Merge branch 'arm-rtoy-add-static-fn.lisp' into arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call
- - - - - 1319781b by Raymond Toy at 2013-10-02T19:23:42-07:00 Merge branch 'arm-rtoy-add-debug.lisp' into arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call
- - - - - f3650913 by Raymond Toy at 2013-10-02T19:23:49-07:00 Merge branch 'arm-rtoy-add-c-call.lisp' into arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call
- - - - - f5314cc7 by Raymond Toy at 2013-10-02T19:52:02-07:00 Merge branch 'arm-rtoy-change-make-ea-add-alloc' into arm-rtoy-add-more
- - - - - cab409a6 by Raymond Toy at 2013-10-02T19:52:15-07:00 Merge branch 'arm-rtoy-change-make-ea-add-call' into arm-rtoy-add-more
- - - - - 15eaa054 by Raymond Toy at 2013-10-02T19:52:31-07:00 Merge branch 'arm-rtoy-change-make-ea-add-cell' into arm-rtoy-add-more
- - - - - c4dce9ec by Raymond Toy at 2013-10-02T19:52:51-07:00 Merge branch 'arm-rtoy-change-make-ea-add-nlx' into arm-rtoy-add-more
- - - - - 3465a2ae by Raymond Toy at 2013-10-02T19:52:57-07:00 Merge branch 'arm-rtoy-change-make-ea-add-values' into arm-rtoy-add-more
- - - - - b72c1a48 by Raymond Toy at 2013-10-02T20:24:08-07:00 C callbacks aren't supported.
- - - - - d802e48b by Raymond Toy at 2013-10-02T20:26:34-07:00 Import from sparc: emit-compute-inst, compute-code-from-lra.
- - - - - b3e99418 by Raymond Toy at 2013-10-02T20:48:49-07:00 Make emit-compute-inst and compute-code-from-lra using NOT-IMPLEMENTED.
- - - - - c00875a5 by Raymond Toy at 2013-10-02T20:49:44-07:00 o Replace cname with lexenv. o Remove a3-a5 offset. o Remove nl1-offset. o Remove nl1-nl3 offset.
- - - - - 190c3780 by rtoy at 2013-10-03T19:41:16-07:00 Merged in arm-rtoy-add-more (pull request #31)
Add alloc.lisp, call.lisp, cell.lisp, nlx.lisp, values.lisp. - - - - - 88998679 by Raymond Toy at 2013-10-03T19:42:06-07:00 Merge branch 'master' into arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call
- - - - - 6d872a6a by rtoy at 2013-10-07T18:50:22-07:00 Merged in arm-rtoy-add-char-mem-arit-subprim-system-static-fn-debug-c-call (pull request #30)
Pull requests 22-29 all in one - - - - - 1d1e4fba by Raymond Toy at 2013-10-07T18:57:25-07:00 Copy sparc version.
- - - - - 04130c40 by Raymond Toy at 2013-10-07T18:58:33-07:00 Convert to ARM, using NOT-IMPLEMENTED.
- - - - - 85b95440 by Raymond Toy at 2013-10-07T18:58:53-07:00 Copy sparc version.
- - - - - d5ee77af by Raymond Toy at 2013-10-07T19:06:24-07:00 Convert to ARM, using NOT-IMPLEMENTED.
- - - - - 0992f0cc by Raymond Toy at 2013-10-07T19:06:34-07:00 Copy sparc version.
- - - - - 43b21e98 by Raymond Toy at 2013-10-07T19:07:56-07:00 Convert to ARM, using NOT-IMPLEMENTED.
- - - - - 942e871a by Raymond Toy at 2013-10-07T19:08:04-07:00 Copy sparc version.
- - - - - fa6b5167 by Raymond Toy at 2013-10-07T19:13:11-07:00 Convert to ARM, using NOT-IMPLEMENTED.
- - - - - 922a6ddf by Raymond Toy at 2013-10-07T19:15:21-07:00 ARM doesn't have a zero SC.
- - - - - 21c321dd by Raymond Toy at 2013-10-07T19:32:26-07:00 Copy sparc version.
- - - - - 711646b5 by Raymond Toy at 2013-10-07T19:36:10-07:00 Convert to ARM, using NOT-IMPLEMENTED.
- - - - - 3b5af2be by Raymond Toy at 2013-10-07T19:36:30-07:00 Copy sparc version.
- - - - - 464ad2e0 by Raymond Toy at 2013-10-07T19:37:52-07:00 Convert to ARM, using NOT-IMPLEMENTED.
- - - - - 032b9630 by Raymond Toy at 2013-10-07T19:38:05-07:00 Copy sparc version.
- - - - - dfab4945 by Raymond Toy at 2013-10-07T19:41:32-07:00 Convert to ARM, using NOT-IMPLEMENTED.
- - - - - 619b178b by Raymond Toy at 2013-10-07T19:41:37-07:00 Copy sparc version.
- - - - - 9ee11ea6 by Raymond Toy at 2013-10-07T19:48:12-07:00 Convert to ARM, using NOT-IMPLEMENTED.
- - - - - 7b1dd1b4 by Raymond Toy at 2013-10-07T20:21:07-07:00 Rip out non-existent non-descriptor regs.
- - - - - f3b81939 by Raymond Toy at 2013-10-07T20:21:15-07:00 Rip out non-existent non-descriptor regs.
- - - - - 5ecdb450 by Raymond Toy at 2013-10-07T20:22:08-07:00 o Rip out non-existent non-descriptor regs. o Comment out some assembly routines because I don't know how to implement them even with NOT-IMPLEMENTED. See comments.
- - - - - 8b0841c4 by rtoy at 2013-10-13T17:18:21-07:00 Merged in arm-rtoy-add-rest-assembly (pull request #33)
Add rest of the files in src/assembly/arm - - - - - 3c03ee48 by Raymond Toy at 2013-10-13T17:21:47-07:00 Update according to review:
o Remove #-unicode and #+long-float.
- - - - - f6267f93 by rtoy at 2013-10-13T17:23:59-07:00 Merged in arm-rtoy-add-rest-compiler (pull request #32)
Add rest of the files in src/compiler - - - - - 4f669928 by Raymond Toy at 2013-10-13T17:24:23-07:00 Update according to review:
o Remove #-unicode and #+long-float.
- - - - - 3c913f24 by rtoy at 2013-10-13T17:27:36-07:00 Merged in arm-rtoy-add-rest-compiler (pull request #34)
Add rest of the files in src/compiler - - - - - 503a73cc by Raymond Toy at 2013-10-13T18:04:11-07:00 Comment out fast-unary-ftruncate and double-float-bits. These are not yet supported in the rest of the code for ARM.
- - - - - 8339da19 by Raymond Toy at 2013-10-13T18:04:44-07:00 Comment out symbol-hash and %set-symbol-hash. These are not yet supported in the rest of the code for ARM.
- - - - - c3d96db9 by Raymond Toy at 2013-10-14T18:47:54-07:00 Fix cross-compile issues. We can now build and load the cross-compiler.
assembly/arm/array.lisp: o Oops. There is no a3 register. Randomly rename to a2 until we implement this.
compiler/arm/call.lisp: o ARM doesn't support the clear-memory option when allocating a frame, so comment that out from the vop info args.
tools/cross-scripts/cross-x86-arm.lisp: o Need to rename the cross-compiler package (X86) to OLD-X86. Forgot to do that initially. o Export the OLD-X86 names (instead of X86, which no longer exists since it was renamed).
tools/worldcom.lisp: o Oops. Need to add case for ARM to compile the files from the assembly/arm directory.
- - - - - 41b3c05d by rtoy at 2013-10-19T08:59:11-07:00 Merged in arm-rtoy-cross-compile-fix (pull request #35)
Fixes to get cross-compiler to build and load. - - - - - ecdc1eb0 by Raymond Toy at 2013-10-20T09:34:33-07:00 Comment out the extra descriptor temps in DEFINE-FULL-CALL. This causes a packing error because too many descriptors are used.
- - - - - e62f14bd by Raymond Toy at 2013-10-20T09:35:16-07:00 ldr/str instruction was not handling the case with an immediate offset value. Add support.
- - - - - 789a535c by Raymond Toy at 2013-10-21T09:35:40-07:00 It's lisp::*allocation-pointer*, not arm::*allocation-pointer*.
- - - - - 8f234e67 by Raymond Toy at 2013-10-21T10:32:56-07:00 Just use a normal tn for nfp-tn. (Not sure if this is right or not, but we don't have a dedicated nfp register on ARM.)
- - - - - d9594f54 by Raymond Toy at 2013-10-21T10:33:19-07:00 Assembly works, if loaded up late enough.
- - - - - 2a35f8d9 by Raymond Toy at 2013-11-06T18:04:49-08:00 Allow interactive mode where output goes to the screen and errors stop the compilation.
- - - - - 56bc20ea by Raymond Toy at 2013-11-06T18:12:34-08:00 Merge branch 'master' of /Volumes/share2/src/clnet/cmucl/dev/cmucl into rtoy-merge-2013-11
- - - - - 12654b5e by rtoy at 2013-11-06T18:30:08-08:00 Merged in arm-rtoy-merge-upstream-2013-11 (pull request #37)
Merge cmucl 2013-11 - - - - - fe5d524f by Raymond Toy at 2013-11-06T19:42:10-08:00 More cross-compiler fixes
o Move macro NOT-IMPLEMENTED from macros.lisp to insts.lisp because macros.lisp is loaded AFTER insts.lisp. Need the macro to be defined because we use NOT-IMPLEMENTED in a few places. o Can't use NOT-IMPLEMENTED in COMPUTE-CODE-FROM-LRA because we need an emitter function, not an assembly instruction. Blindly use the sparc version.
- - - - - a456baaf by Raymond Toy at 2013-11-16T14:13:33-08:00 Fix typo.
- - - - - ca33c670 by Raymond Toy at 2013-11-16T14:24:31-08:00 Update according to review
o New make-nfp-tn o Remove commented-out code.
- - - - - 515c556b by Raymond Toy at 2013-11-20T20:25:02-08:00 ignore-me-sc-number doesn't exist. Use something else for now.
- - - - - f9a7df9c by Raymond Toy at 2013-11-20T20:25:53-08:00 sap-ref-single and sap-ref-double has to be implemented in a different way because vldr is different from ldr.
- - - - - e292d8b9 by Raymond Toy at 2013-11-27T12:00:45-08:00 Fix up according to review.
insts.lisp: o Add type ARM-SIGNED-OFFSET. o Use it. o Make indentation consistent in a few places.
sap.lisp: o Use ARM-SIGNED-OFFSET
- - - - - 8d9329ed by rtoy at 2013-11-27T19:06:14-08:00 Merged in arm-rtoy-xcompile-1 (pull request #36)
Cross-compile step 1 - - - - - c7a5c65b by Raymond Toy at 2013-11-30T18:12:48-08:00 Add comment of where we can stop to play with the target compiler.
- - - - - c5584157 by Raymond Toy at 2013-11-30T18:14:26-08:00 Add constant NUMBER-STACK-DISPLACEMENT, for consistency with sparc. Correct the value or remove it later if not needed.
- - - - - b1d9925b by Raymond Toy at 2013-11-30T18:15:30-08:00 Implement COMPUTE-CODE-FROM-FN, based on sparc version.
- - - - - 95ce82dd by Raymond Toy at 2013-11-30T18:15:48-08:00 Implement IF-EQ vop, based on sparc version.
- - - - - 46b4694b by Raymond Toy at 2013-11-30T18:16:29-08:00 Implement more of the guts of XEP-ALLOCATE-FRAME.
- - - - - 04e27070 by Raymond Toy at 2013-12-02T22:10:57-08:00 Fix many issues and implement a few more missing pieces.
The fixes: o Forgot to define a printer for the reg MOV case. o Use the correct values for the emitter for the register MOV inst. o Comment out the flex-operand case. We don't support that. o The split-imm16-printer was not printing the imm16 value out correctly. o Add some comments to the format-2-immed-printer to make it clearer what's happening. (We had the U and W values backwards.) o Rename DECODE-INDEXING-MODE to DECODE-IMMEDIATE-INDEXING-MODE to make it clearer. Add some comments too. o Add comments to DECODE-INDEXING-AND-OPTIONS. o Fix DEFINE-LOAD/STORE-INST. o We were not generating the correct instruction for stores. o Need to compute the reg encoding for the indexing-mode register. o Better implementation of NOT-IMPLEMENTED that takes an arg saves that to r0 so the trap handler can figure out what VOP is not implemented.
The new stuff: o Implement EMIT-COMPUTE-INST better, and always use the worst-case for now.
- - - - - eb66550e by Raymond Toy at 2013-12-02T22:11:30-08:00 Add defregtn for a0 so NOT-IMPLEMENTED can access it easily.
- - - - - 880bf853 by Raymond Toy at 2013-12-02T22:12:23-08:00 In the generator, define a macro VOP-NOT-IMPLEMENTED that calls NOT-IMPLEMENTED with the vop name (as a symbol).
- - - - - b018f856 by Raymond Toy at 2013-12-02T22:13:00-08:00 Don't need to load insts.lisp anymore since we're farther along. Just comment it out.
- - - - - 8036914f by Raymond Toy at 2013-12-02T22:15:36-08:00 Implement more.
o In XEP-ALLOCATE-FRAME use the new VOP-NOT-IMPLEMENTED. o Implement VERIFY-ARGUMENT-COUNT.
- - - - - fe4ada4a by Raymond Toy at 2013-12-03T19:59:42-08:00 Add macrolet VOP-NOT-IMPLEMENTED to the generator so that VOPs can call VOP-NOT-IMPLEMENTED to get the VOP name. VOP-NOT-IMPLEMENTED calls NOT-IMPLEMENTED with the VOP name.
- - - - - 1954acf5 by Raymond Toy at 2013-12-03T20:00:23-08:00 Replace NOT-IMPLEMENTED with VOP-NOT-IMPLEMENTED to pass the VOP name to NOT-IMPLEMENTED.
- - - - - 22e1a70a by Raymond Toy at 2013-12-23T12:08:55-08:00 Rename VOP-NOT-IMPLEMENTED to EMIT-NOT-IMPLEMENTED. But still calls NOT-IMPLEMENTED.
Update all uses of VOP-NOT-IMPLEMENTED accordingly.
- - - - - a98ae3a5 by rtoy at 2013-12-23T12:49:54-08:00 Merged in arm-rtoy-compile-1 (pull request #38)
Compile step 1 - - - - - 01a68888 by Raymond Toy at 2013-12-23T15:46:48-08:00 Fix typo. The saves should not be in the assembl block. (Found this when I tried compiling this on x86.)
- - - - - e2dc029b by rtoy at 2013-12-23T15:48:43-08:00 Merged in rtoy-fix-emit-not-implemented (pull request #39)
Fix typo. The saves should not be in the assembly block. - - - - - 8f8b4575 by Raymond Toy at 2014-03-16T09:29:05-07:00 Merge tag 'snapshot-2014-03' of ssh://common-lisp.net/var/git/projects/cmucl/cmucl into rtoy-sync-snapshot-2014-03
Snapshot 2014-03
- - - - - 064bdbb9 by rtoy at 2014-03-16T09:34:37-07:00 Merged in rtoy-sync-snapshot-2014-03 (pull request #40)
Sync to upstream snapshot-2014-03 - - - - - 57033744 by Raymond Toy at 2014-03-17T19:12:30-07:00 Implement EMIT-NOT-IMPLEMENTED for assembly-routines and for vm-support-routines.
- - - - - bdd90b05 by Raymond Toy at 2014-03-17T19:12:55-07:00 There's no cname; use lexenv instead.
- - - - - 3450284f by Raymond Toy at 2014-03-17T19:13:39-07:00 Missed this before; it's EMIT-NOT-IMPLEMENTED, not VOP-NOT-IMPLEMENTED.
- - - - - 977521f8 by rtoy at 2014-03-18T20:38:33-07:00 Merged in arm-rtoy-more-emit-not-implemented (pull request #41)
More EMIT-NOT-IMPLEMENTED fixes and a few typos - - - - - 2e6113bb by Raymond Toy at 2014-05-14T19:47:53-07:00 Use register layout assignment 3.
compiler/arm/vm.lisp: o Use the register assignment 3 from the design notes doc.
compiler/arm/c-call.lisp: o Use csp-offset instead of nsp-offset, which doesn't exist anymore. o Remove reference to cfunc, which doesn't exist anymore.
compiler/arm/insts.lisp: o Use csp-tn instead of nsp-tn for emit-not-implemented.
compiler/arm/parms.lisp: o Add *c-stack-pointer* to hold the real C stack pointer since we're using the ARM SP (r13) register as the Lisp stack pointer. o Remove the static FP constants. ARM can load these as immediates.
compiler/arm/print.lisp: o Remove reference to cfunc, which doesn't exist anymore.
- - - - - 09cede35 by Raymond Toy at 2014-05-17T11:49:33-07:00 Update according to review.
- - - - - 3e2b5120 by Raymond Toy at 2014-05-18T08:06:44-07:00 Use any tn for the number stack tn.
- - - - - 764563ff by Raymond Toy at 2014-05-18T08:07:19-07:00 Remove the code that references nsp-tn. We'll have to reimplement it ourselves later since we don't have an nsp-tn anymore.
- - - - - 24ed2af9 by rtoy at 2014-05-20T23:21:59-07:00 Merged in arm-rtoy-reg-assignments-3 (pull request #42)
Use register layout assignment 3. - - - - - 55d42e6e by Raymond Toy at 2014-09-04T21:23:15-07:00 Merge ssh://common-lisp.net/var/git/projects/cmucl/cmucl into arm-rtoy-sync-2014-09 to sync to latest upstream code.
- - - - - bb21c787 by rtoy at 2014-09-04T21:27:28-07:00 Merged in arm-rtoy-sync-2014-09 (pull request #43)
Sync to upstream 2014-09 sources - - - - - f5e661e6 by Raymond Toy at 2014-10-12T12:34:06-07:00 Merge ssh://common-lisp.net/var/git/projects/cmucl/cmucl into rtoy-sync-2014-10-12
- - - - - 758a5d9e by rtoy at 2014-10-12T12:37:27-07:00 Merged in arm-rtoy-sync-2014-10-12 (pull request #44)
Sync to upstream sources 2014-10-12 - - - - - 1327537c by Raymond Toy at 2014-12-11T19:34:14-08:00 Use the LIP register as the NFP register too.
- - - - - 083a2330 by Raymond Toy at 2014-12-11T20:43:59-08:00 Enable *debug-pack* and call lisp-conflicts when we fail to pack.
- - - - - a80220c8 by Raymond Toy at 2014-12-11T20:44:42-08:00 Comment out temporaries in vops where the temps area used.
If the temp was targeted, remove the targeting as well.
- - - - - bcd12ccf by Raymond Toy at 2014-12-14T14:59:22-08:00 Comment out all temporaries from VOPs when possible.
Many of these, along with the args and results of the VOP were causing TN conflicts during compilation. It's silly to have them when most VOPs aren't even implemented, so kill them off when possible. Also required moving some targeting of args/results to temporaries.
- - - - - f6c817fb by Raymond Toy at 2014-12-14T15:09:24-08:00 Remove the temps instead of commenting the out.
- - - - - d19637f5 by Raymond Toy at 2014-12-15T22:26:19-08:00 Oops. Really remove the temps instead of conditionalize them out.
- - - - - f8a65e40 by Raymond Toy at 2014-12-17T19:57:43-08:00 Add more comments.
- - - - - 6c2a83fd by Raymond Toy at 2014-12-17T20:05:18-08:00 Merge branch 'arm-rtoy-nfp-using-lip' into arm-rtoy-remove-vop-temps
Conflicts: src/compiler/arm/call.lisp
- - - - - e3dc0fa1 by Raymond Toy at 2014-12-17T20:21:05-08:00 Fix typo. There is no x arg/result/temp in the MOVE-FROM-SIGNED VOP.
- - - - - 1c22ae21 by Raymond Toy at 2014-12-17T20:21:46-08:00 Undo *debug-pack* changes.
- - - - - b7e7d1bb by Raymond Toy at 2014-12-17T20:22:16-08:00 Address review comments and delete the #+nil'ed out code.
- - - - - acedbc56 by Raymond Toy at 2014-12-18T23:23:20-08:00 Replace the NFP register with the static symbol LISP::*NUMBER-FRAME-POINTER*.
Update all uses of NFP to use *number-frame-pointer*; use LIP as a temporary, when needed, to load the value of *n-f-p*.
- - - - - 7669328d by Raymond Toy at 2014-12-18T23:24:24-08:00 Add definition of lip-tn.
- - - - - b241072e by Raymond Toy at 2014-12-18T23:24:57-08:00 Merge branch 'arm-rtoy-nfp-using-lip' into arm-rtoy-remove-vop-temps
- - - - - 44c091ce by Raymond Toy at 2014-12-20T07:47:19-08:00 Oops. *number-frame-pointer* isn't in the lisp package. Remove package qualifier.
- - - - - 4cf1f655 by Raymond Toy at 2014-12-20T07:49:23-08:00 Merge branch 'arm-rtoy-nfp-using-lip' into arm-rtoy-remove-vop-temps
- - - - - a58848b2 by Raymond Toy at 2014-12-20T08:00:38-08:00 Explictly declare a temp for lip instead of just using it.
- - - - - 788d683f by Raymond Toy at 2014-12-20T08:20:22-08:00 Update comment.
- - - - - de273824 by Raymond Toy at 2014-12-20T08:21:49-08:00 Merge branch 'arm-rtoy-nfp-using-lip' into arm-rtoy-remove-vop-temps
- - - - - f484ee6e by Raymond Toy at 2014-12-23T09:36:17-08:00 Update comment about TN usage for MAKE-NFP-TN.
- - - - - b82c57e9 by Raymond Toy at 2014-12-24T10:08:28-08:00 Merge branch 'arm-rtoy-nfp-using-lip' into arm-rtoy-remove-vop-temps
- - - - - e6b85310 by Raymond Toy at 2014-12-24T12:56:03-08:00 Fix typo in vm-support-routine's.
The VM support routines must return a list of the instructions.
- - - - - e88f3b8f by rtoy at 2014-12-24T18:31:41-08:00 Merged in arm-rtoy-fix-typo-generate-call-sequence (pull request #47)
Fix typo in vm-support-routine's - - - - - ad6b9449 by rtoy at 2014-12-24T18:32:17-08:00 Merged in arm-rtoy-nfp-using-lip (pull request #45)
Add *number-frame-pointer* to be used as the nfp - - - - - bb1ea7dd by Raymond Toy at 2014-12-24T18:33:22-08:00 Merge branch 'master' into arm-rtoy-remove-vop-temps
- - - - - 7066a3e7 by rtoy at 2014-12-26T12:39:48-08:00 Merged in arm-rtoy-remove-vop-temps (pull request #46)
Remove temporaries from VOPs - - - - - b2266305 by Raymond Toy at 2014-12-26T12:40:42-08:00 Remove extraneous blank lines and #+nil stuff.
- - - - - 1014e01f by rtoy at 2014-12-26T12:42:28-08:00 Merged in arm-rtoy-remove-vop-temps (pull request #48)
Remove extraneous blank lines and #+nil stuff. - - - - - 16bfc824 by Raymond Toy at 2014-12-26T13:43:37-08:00 Fix issue #17.
The load/store inst macro forgot to support the case where src2 can be a simple register.
- - - - - dca9060d by Raymond Toy at 2014-12-26T15:09:03-08:00 Fix issue #19: simplify disassembly for str/ldr.
If the shift type is LSL and the amount is 0, don't print anything, since that's the default.
- - - - - 9700a5f0 by Raymond Toy at 2014-12-26T15:29:40-08:00 Set larger values for print length/level.
Use large values for *print-length*, *print-level*, and friends so that compiler messages show more information.
- - - - - d5ac2242 by Raymond Toy at 2014-12-27T11:14:05-08:00 Add lexenv to list of descriptor regs.
Forgot that lexenv is a descriptor reg and should be listed as such. This Fixes issue #18.
- - - - - 605d83d8 by Raymond Toy at 2014-12-27T13:03:35-08:00 Merge branch 'arm-rtoy-deeper-print-level-length' into arm-rtoy-issue-16
- - - - - a8371cda by rtoy at 2014-12-27T21:46:54-08:00 Merged in arm-rtoy-issue-17 (pull request #49)
Fix issue #17. - - - - - ed457084 by rtoy at 2014-12-27T21:47:55-08:00 Merged in arm-rtoy-issue-18 (pull request #52)
Add lexenv to list of descriptor regs. - - - - - 31d0e2fb by Raymond Toy at 2014-12-27T21:54:52-08:00 Move the print variables to the cross-compile lisp file instead of cross-build-world.sh.
- - - - - a04642a3 by Raymond Toy at 2014-12-27T22:41:00-08:00 Merge branch 'master' into arm-rtoy-issue-19
- - - - - 8f6f0e6a by Raymond Toy at 2014-12-27T22:46:20-08:00 Use macrolet.
- - - - - 5cc956ee by Raymond Toy at 2014-12-28T10:34:40-08:00 Address comment 1.
- - - - - 66f5c0cb by rtoy at 2014-12-28T10:35:18-08:00 Merged in arm-rtoy-deeper-print-level-length (pull request #51)
Set larger values for print length/level. - - - - - e362ad3f by Raymond Toy at 2014-12-28T10:42:58-08:00 Add better comments as requested in review.
- - - - - 2fa560b3 by Raymond Toy at 2014-12-28T10:51:36-08:00 Remove temps from assembly routines.
Fixes issue #16. There was a conflict between allocate-vector and data-vector-ref/simple-vector. Removed the other temps from the assembly routines too, since they're not used yet.
- - - - - 63d60369 by Raymond Toy at 2014-12-28T10:51:57-08:00 Revert some changes accidentally pulled from other requests; they're not relevant to this, but were useful for debugging this issue.
- - - - - d532878f by Raymond Toy at 2014-12-28T11:00:52-08:00 Merge tag 'snapshot-2014-12' of /Volumes/share2/src/clnet/cmucl/dev/cmucl into arm-rtoy-sync-2014-12
Snapshot 2014-12
- - - - - 4b992b36 by rtoy at 2014-12-28T11:04:08-08:00 Merged in arm-rtoy-sync-2014-12 (pull request #54)
Sync to upstream snapshot-2014-12 - - - - - 38d54390 by Raymond Toy at 2014-12-28T11:05:29-08:00 Merge branch 'master' into arm-rtoy-issue-16
- - - - - d28f50b2 by Raymond Toy at 2014-12-28T11:25:04-08:00 Put back the code from pull request #49 for issue 17.
- - - - - 02cd2d2e by Raymond Toy at 2014-12-28T15:29:52-08:00 Fix issue #21: Handle ldrh rt, rn, 0
We weren't correctly handling the case where the third arg was an immediate offset.
- - - - - 4d3c42a1 by Raymond Toy at 2014-12-28T15:30:23-08:00 Add a test case for issue #21.
Add a function to disassemble the assembled result too so we can see how it disassembles.
- - - - - 87958285 by Raymond Toy at 2014-12-28T15:34:42-08:00 Handle negative immediate values correctly for ldrh.
Add simple test for this too.
- - - - - aa0d5bde by Raymond Toy at 2014-12-29T11:38:10-08:00 Support EMIT-NOT-IMPLEMENTED in DEF-VM-SUPPORT-ROUTINE
This fixes issue #22 by wrapping the result returned from GENERATE-RETURN-SEQUENCE in a macrolet defining EMIT-NOT-IMPLMENTED.
- - - - - 823e60c5 by rtoy at 2014-12-29T12:07:20-08:00 Merged in arm-rtoy-issue-19 (pull request #50)
Fix issue #19: simplify disassembly for str/ldr. - - - - - 96627929 by rtoy at 2014-12-29T12:17:06-08:00 Merged in arm-rtoy-issue-16 (pull request #53)
Remove temps from assembly routines - - - - - 1be7fb17 by Raymond Toy at 2014-12-29T12:19:29-08:00 Merge branch 'master' into arm-rtoy-issue-21
- - - - - c1ff7fbd by Raymond Toy at 2014-12-29T12:30:35-08:00 Address review comments.
Fix typos, clarify comments.
- - - - - 292a7f6a by Raymond Toy at 2014-12-29T14:07:33-08:00 Replace EMIT-NOT-IMPLEMENTED in RECEIVE-UNKNOWN-VALUES
Fixes issue #23. Just call NOT-IMPLEMENTED directly instead with the appropriate symbol.
- - - - - b4b74f9b by Raymond Toy at 2014-12-29T14:15:48-08:00 Replace EMIT-NOT-IMPLEMENTED in DEFAULT-UNKNOWN-VALUES and EMIT-MULTIPLY.
Cross compiler now builds without warnings.
- - - - - 4a0d27cc by Raymond Toy at 2014-12-29T14:52:48-08:00 Clean out armf files too.
See issue #24.
- - - - - 7356d42c by rtoy at 2014-12-29T14:57:23-08:00 Merged in arm-rtoy-issue-24 (pull request #58)
Clean out armf files too.
Fixes issue #24. - - - - - 456d240e by Raymond Toy at 2014-12-29T14:59:54-08:00 Merge branch 'master' into arm-rtoy-issue-23
- - - - - ebf96470 by Raymond Toy at 2014-12-29T18:33:49-08:00 More fixups for ldrh.
The generated instruction is wrong when the second src operand is an indexing operation. And there needs to be separate cases for src2 being an indexing operation and a simple TN. (For a simple TN, we were subtracting instead of adding.)
Add tests for this as well.
- - - - - 38a31e56 by Raymond Toy at 2014-12-29T19:46:34-08:00 Fix typo and line-up comments neatly for the disassembled instruction.
- - - - - 65df8ad4 by Raymond Toy at 2014-12-29T19:48:58-08:00 Arrange instruction examples in columns; clarify a comment.
- - - - - baf9ac5a by Raymond Toy at 2014-12-29T19:54:14-08:00 Remove package prefixes from not-implemented.
- - - - - 1f0c550b by rtoy at 2014-12-29T20:01:59-08:00 Merged in arm-rtoy-issue-21 (pull request #55)
Fix issue #21: Handle assembly of ldrh with immediate or register offset - - - - - 0189f3fa by rtoy at 2014-12-29T20:02:44-08:00 Merged in arm-rtoy-issue-22 (pull request #56)
Support EMIT-NOT-IMPLEMENTED in DEF-VM-SUPPORT-ROUTINE - - - - - a886d42d by rtoy at 2014-12-29T20:03:35-08:00 Merged in arm-rtoy-issue-23 (pull request #57)
EMIT-NOT-IMPLEMENTED not defined in RECEIVE-UNKNOWN-VALUES, DEFAULT-UNKNOWN-VALUES and EMIT-MULTIPLY - - - - - b0563539 by Raymond Toy at 2014-12-29T20:15:19-08:00 Sort the list of fasl extensions alphabetically.
- - - - - dad51423 by rtoy at 2014-12-29T20:35:47-08:00 Merged in arm-rtoy-pull-request-58-a (pull request #59)
Sort the list of fasl extensions alphabetically. - - - - - 1da11510 by Raymond Toy at 2014-12-29T21:00:49-08:00 Allow the prev and carry-in args to be on the unsigned-stack.
- - - - - 6e520197 by Raymond Toy at 2014-12-29T21:01:18-08:00 Merge branch 'master' into arm-rtoy-issue-25
- - - - - df1e6d88 by Raymond Toy at 2014-12-29T21:19:34-08:00 Add OLD-VM:CHAR-BYTES.
See issue #27.
- - - - - 12f3ec1e by rtoy at 2014-12-30T15:05:11-08:00 Merged in arm-rtoy-issue-25 (pull request #60)
Fix issue #25: Allow 2 args to be on the unsigned-stack - - - - - db602e57 by rtoy at 2014-12-30T15:27:48-08:00 Merged in arm-rtoy-issue-27 (pull request #61)
Cross-compile script needs to add CHAR-BYTES - - - - - 5726616e by Raymond Toy at 2014-12-30T15:47:03-08:00 Put all int args on the stack instead in registers for call-out.
This follows what the RT port does in the call-out vop.
Also, some functions want two return values in registers, so update RESULT-REG-OFFSET appropriately.
With these changes the cross-compile successfully builds a kernel.core.
See issue #26.
- - - - - ba36728a by Raymond Toy at 2014-12-30T22:40:33-08:00 Remove register-args slot from arg-state and simplify int-arg by removing the unused branch that handled the integer register args.
- - - - - 01c175bd by Raymond Toy at 2014-12-30T22:42:47-08:00 Rename my-make-wired-tn to the more conspicuous c-call-wired-tn, like for the RT port.
- - - - - 132d2de8 by rtoy at 2014-12-30T23:14:46-08:00 Merged in arm-rtoy-issue-26 (pull request #62)
Put all int args on the stack instead in registers for call-out.
Fixes issue #26. - - - - - e444f7f1 by Raymond Toy at 2014-12-31T10:24:31-08:00 Support ARM/linux config for create-target.sh
See issue #30.
- - - - - 5d03d682 by Raymond Toy at 2014-12-31T10:31:18-08:00 Add Config files for ARM/linux.
See issue #29
- - - - - 27f8ab02 by Raymond Toy at 2014-12-31T13:30:32-08:00 When not using gencgc, we were selecting the wrong gc file and options. Follow sparc in this.
- - - - - f322f572 by Raymond Toy at 2014-12-31T14:04:15-08:00 Add arm-lispregs.h and arm-validate.h
Initial implementation of these files. Roughly correct but probably needs work. This is just to get things compiling.
- - - - - 939c3af1 by Raymond Toy at 2014-12-31T15:18:23-08:00 Update according to comments.
Move -marm from CPPFLAGS to CFLAGS. No need to check for gcc version. Remove old __NO_CTYPE and _GNU_SOURCE defines.
- - - - - 31fabd21 by Raymond Toy at 2014-12-31T16:40:00-08:00 Replace -mfpu=vfpv3-d16 with -ffp-contract=off to make sure we never generate fused macs. This could potentially break the fdlibm routines. vfpv3-d16 is the default anyway.
- - - - - 05362eb5 by Raymond Toy at 2014-12-31T16:47:22-08:00 Update according to review.
Remove _ prefix (and suffix) from _ARM_LISPREGS_H_. Define REGS macro which was left out.
- - - - - 84fa139f by Raymond Toy at 2014-12-31T16:59:00-08:00 Update according to review, and correct some sizes
Remove prefix and suffix from _ARM_VALIDATE_H_ Use correct values for address map (from design doc). Replace MB_128 with MB and adjust other usages appropriately. Remove support for gencgc
- - - - - effeca8a by Raymond Toy at 2014-12-31T17:05:36-08:00 Fix typo: sc -> scp.
- - - - - 4e7d62b0 by Raymond Toy at 2014-12-31T17:09:08-08:00 Fix another typo: offset -> reg.
- - - - - 55cd7107 by Raymond Toy at 2014-12-31T17:29:55-08:00 Fix up printf warnings.
See issue #34.
- - - - - ef1cb87c by Raymond Toy at 2014-12-31T17:45:49-08:00 Address review comments.
- - - - - 2a9e5d86 by Raymond Toy at 2014-12-31T20:43:10-08:00 Clean up CFLAGS some more; don't need -march or -fp-contract.
- - - - - c6a0eeb8 by Raymond Toy at 2015-01-01T09:58:36-08:00 Set default heap size to 128 as specified in the design notes. Also detab and fix a few space issues.
- - - - - 89af8f22 by Raymond Toy at 2015-01-01T09:59:27-08:00 Fix typo.
- - - - - 58e761f7 by Raymond Toy at 2015-01-01T10:11:02-08:00 Add assert for nwords > 0 and add default: case.
Still need to initialize nwords to get rid of compiler warning.
- - - - - 389212f1 by Raymond Toy at 2015-01-01T12:46:07-08:00 Initial implementation of Linux-os-arm.c, with splitting out of x86 stuff from Linux-os.c to Linux-os-x86.c.
- - - - - 23450b84 by Raymond Toy at 2015-01-01T15:34:51-08:00 Move emit-not-implemented macrolet outside assemble.
x86 builds again.
See issue #36.
- - - - - d5f4d587 by Raymond Toy at 2015-01-01T16:42:17-08:00 Add include files.
- - - - - c4a7449d by Raymond Toy at 2015-01-01T16:51:49-08:00 Fix typo.
- - - - - aeb8e885 by Raymond Toy at 2015-01-01T16:53:14-08:00 Define reg_PC.
- - - - - 52c8996b by Raymond Toy at 2015-01-01T18:00:25-08:00 Need to include assert.h and forgot to remove an #if 0.
- - - - - a6e66fa6 by Raymond Toy at 2015-01-01T18:02:38-08:00 Actually remove the code that was moved to Linux-os-x86.c.
- - - - - 5f647694 by Raymond Toy at 2015-01-01T18:05:06-08:00 Remove unneeded #if's.
- - - - - 8b0c47fc by Raymond Toy at 2015-01-02T16:32:42-08:00 Smash arm_linux case into x86_linux case.
- - - - - 6a39548f by Raymond Toy at 2015-01-02T17:21:23-08:00 Add LISPPTR to print out lisp objects as we want.
- - - - - 18d85856 by Raymond Toy at 2015-01-02T17:21:59-08:00 Use LISPPTR as needed.
- - - - - 86d50eb2 by Raymond Toy at 2015-01-02T17:25:18-08:00 Remove blank line.
- - - - - 0fe0c95e by rtoy at 2015-01-02T17:26:21-08:00 Merged in arm-rtoy-issue-36 (pull request #67)
Move emit-not-implemented macrolet outside assemble. Fixes issue #36. - - - - - 9fe9242d by Raymond Toy at 2015-01-02T18:21:06-08:00 Remove CAT macro; remove parens for NREGS.
- - - - - 7adcf5ac by Raymond Toy at 2015-01-02T18:24:40-08:00 Address review comments.
Also added RESEVERED_SPACE to leave some room at the end of each space that is not mapped so we can detect when we've reached the end of the space.
- - - - - 92ddb238 by Raymond Toy at 2015-01-02T18:30:12-08:00 Move arm_common into arm_linux and remove Config.arm_common.
Add TODO to reverse this someday if needed.
- - - - - 6def5b2d by Raymond Toy at 2015-01-03T15:41:55-08:00 Stub out routines needed arm-arch.c.
- - - - - 910c664b by rtoy at 2015-01-04T11:10:24-08:00 Merged in arm-rtoy-issue-30 (pull request #63)
Support ARM/linux config for create-target.sh Fixes issue #30 - - - - - 1e5492ab by Raymond Toy at 2015-01-04T11:13:01-08:00 Remove duplicated lines.
- - - - - 7c1260fc by Raymond Toy at 2015-01-04T18:37:10-08:00 Simplify according to review.
- - - - - b267045c by Raymond Toy at 2015-01-04T18:39:38-08:00 Remove UNDEFSYMPATTERN.
- - - - - b6071490 by Raymond Toy at 2015-01-05T08:46:28-08:00 Clean up according to review.
- - - - - c3260001 by rtoy at 2015-01-05T08:47:46-08:00 Merged in arm-rtoy-issue-29 (pull request #64)
Add Config files for ARM/linux. Fixes issue #29 - - - - - 920c5b80 by Raymond Toy at 2015-01-05T08:48:32-08:00 Merge branch 'master' into arm-rtoy-issue-34
- - - - - 154acfeb by Raymond Toy at 2015-01-05T08:56:02-08:00 Mostly revert to master version and use %lx instead of %x.
- - - - - 2613d207 by Raymond Toy at 2015-01-05T08:57:26-08:00 Remove LISPPTR.
- - - - - 66cbdc5b by Raymond Toy at 2015-01-05T09:01:50-08:00 Define and use KB.
- - - - - b80364ad by Raymond Toy at 2015-01-05T09:01:54-08:00 Merge branch 'master' into arm-rtoy-issue-31
- - - - - 175e18bf by Raymond Toy at 2015-01-05T09:04:26-08:00 Can't undef these; they're needed in lisp.c at least.
- - - - - c4e99d32 by Raymond Toy at 2015-01-05T10:00:32-08:00 Merge branch 'master' into arm-rtoy-issue-32
Conflicts: src/lisp/Config.arm_linux
- - - - - a2405e2c by Raymond Toy at 2015-01-05T10:14:24-08:00 Put everything back into Linux-os.c, with arm updates.
- - - - - 5aeb4f3b by Raymond Toy at 2015-01-05T10:15:42-08:00 Don't have Linux-os-x86.c anymore.
- - - - - 88cabc3d by Raymond Toy at 2015-01-05T10:16:24-08:00 Remove Linux-os-arm.c and Linux-os-x86.c.
- - - - - 261c915f by Raymond Toy at 2015-01-05T16:23:00-08:00 Fix typo introduced when moving the x86-64 version of os_sigcontext_reg to the x86 implementation.
- - - - - e1eff413 by Raymond Toy at 2015-01-05T20:09:06-08:00 Implement LDM/STM instructions.
See isseu #11.
The syntax is not great but to keep it inline with other instructions where the condition code is at the end, the list of registers is really a list.
Some simple tests added in test-disassem.lisp.
- - - - - 9ba12871 by Raymond Toy at 2015-01-05T22:48:33-08:00 Fix typo, and remove extra space.
- - - - - f4614ea6 by rtoy at 2015-01-05T22:49:27-08:00 Merged in arm-rtoy-issue-11 (pull request #70)
Implement LDM/STM instructions.
Fixes issue #11. - - - - - bbd4d8fa by Raymond Toy at 2015-01-05T22:55:49-08:00 Fix up according to review.
Control stack grows up. Use os_sigcontext_reg instead of os_sigcontext_pc (which should not be implemented in Linux-os.c for arm).
- - - - - a487d347 by Raymond Toy at 2015-01-05T23:10:52-08:00 Remove RESERVED_SPACE stuff. Other ports don't need this.
- - - - - 01ca2636 by Raymond Toy at 2015-01-06T19:01:03-08:00 Clean up according to review.
arm-lispregs.h: * Add comment for last #endif
arm-validate.h: * Oops. Forgot to remove one use of RESERVED_SPACE. * Add comment for last #endif
- - - - - 61a1c5e2 by rtoy at 2015-01-06T19:02:48-08:00 Merged in arm-rtoy-issue-31 (pull request #65)
Add arm-lispregs.h and arm-validate.h
Fix issue #31. - - - - - 6d07520f by Raymond Toy at 2015-01-06T19:12:15-08:00 Fix up according to review.
* Remove <inttypes.h> * Make gc_abort() call abort().
- - - - - ddbf90b3 by Raymond Toy at 2015-01-06T19:12:18-08:00 Merge branch 'master' into arm-rtoy-issue-34
- - - - - 66d3151f by Raymond Toy at 2015-01-06T19:27:23-08:00 Refactor according to review.
Use abort() when needed Push #ifdef's up and add #error as needed.
- - - - - 19badbbf by Raymond Toy at 2015-01-06T19:27:29-08:00 Merge branch 'master' into arm-rtoy-issue-32
- - - - - 704a7e16 by Raymond Toy at 2015-01-06T19:35:04-08:00 Clean up personality() parts, add abort() for unimplemented ARM version of sigsegv_handler().
- - - - - 9d31afdd by Raymond Toy at 2015-01-06T19:37:39-08:00 Fix up DPRINTF so it should compile.
- - - - - f117474d by Raymond Toy at 2015-01-06T20:50:10-08:00 Reimplement NOT-IMPLEMENTED to dump the symbol name into the code stream.
See issue #41. The symbol name is now saved into the instruction stream as a sequence of bytes. The length is encoded into a branch instruction before the bytes so that if the trap is continued, the bytes are skipped over nicely.
Had to update how EMIT-NOT-IMPLEMENTED was calling NOT-IMPLEMENTED and a few other places where bare NOT-IMPLEMENTED was called directly.
- - - - - 89cbb3fe by Raymond Toy at 2015-01-06T21:28:25-08:00 Abort instead of returning NULL. Include stdlib.h to get abort defined.
- - - - - d103be12 by Raymond Toy at 2015-01-07T19:21:42-08:00 Tabify the x86_64 and arm os_sigcontext_reg routines to match existing style.
- - - - - a6a58fce by rtoy at 2015-01-07T19:23:51-08:00 Merged in arm-rtoy-issue-32 (pull request #68)
Initial implementation of Linux-os.c for ARM Fixes issue #32. - - - - - 5a548df5 by Raymond Toy at 2015-01-07T19:31:04-08:00 Remove gc_assert.
- - - - - aa65235c by rtoy at 2015-01-07T19:31:52-08:00 Merged in arm-rtoy-issue-34 (pull request #66)
Fix up printf warnings in gc.c. Fix issue #34. - - - - - 9a3320d3 by Raymond Toy at 2015-01-07T19:37:57-08:00 Update according to review.
o Use do {} while in NOT_IMPLEMENTED and call abort too. o Return NULL in arch_init. o Remove some return statements that can't be reached due to NOT_IMPLEMENTED. o Rip out contents of sigill_handler and replace with NOT_IMPLEMENTED. o Lisp stack grows down for the arm port, so decrement the pointer, not increment.
- - - - - 770f93de by Raymond Toy at 2015-01-07T19:38:27-08:00 Merge branch 'master' into arm-rtoy-issue-37
- - - - - 761cc8e2 by Raymond Toy at 2015-01-07T19:39:59-08:00 Remove trailing space after \ continuation.
- - - - - 50b488cf by Raymond Toy at 2015-01-07T19:41:34-08:00 Remove extra space.
- - - - - 91b08bd6 by rtoy at 2015-01-08T18:59:17-08:00 Merged in arm-rtoy-issue-37 (pull request #69)
Stub out routines needed in arm-arch.c. Fixes issue #37. - - - - - 88278c67 by Raymond Toy at 2015-01-08T19:02:09-08:00 Add support for arm/linux for EXTERN.
(This seems like the wrong place for that!)
- - - - - 9ebf5ba0 by Raymond Toy at 2015-01-08T19:03:01-08:00 Merge branch 'master' into arm-rtoy-issue-43
- - - - - 28bb562f by Raymond Toy at 2015-01-08T19:03:23-08:00 Merge branch 'master' into arm-rtoy-issue-41
- - - - - 8b7bf6d3 by Raymond Toy at 2015-01-10T10:14:41-08:00 Address review comments.
o Use a B instruction o Remove unused defregtn a0.
- - - - - 8c6c8f2e by Raymond Toy at 2015-01-10T15:31:46-08:00 Use ALLOCATION_POINTER and BINDING_STACK_POINTER for C runtime.
Arm uses the static symbols *allocation-pointer* and *binding-stack-pointer* to implement the allocation pointer and binding stack pointer instead of dedicated registers. Update the C code to use these appropriately.
See issue #44.
- - - - - cc4484c8 by Raymond Toy at 2015-01-10T15:33:25-08:00 Remove some temporarily #if 0'd code.
- - - - - 6254f759 by Raymond Toy at 2015-01-10T15:37:29-08:00 Stub out restore_fpu for arm.
See issue #45.
- - - - - c4c86ac8 by Raymond Toy at 2015-01-10T16:13:17-08:00 Add not-implemented trap code for use by NOT-IMPLEMENTED.
See issue #46.
- - - - - 9da1d885 by Raymond Toy at 2015-01-10T17:21:39-08:00 Initialize current_control_stack_pointer correctly for ARM.
The ARM Lisp stack will grow down, not up like other RISC ports.
See issue #51.
- - - - - 28c194f2 by Raymond Toy at 2015-01-10T17:38:04-08:00 Disable optimization.
We don't need full optimization at this stage of development, so use -Og instead of -O2.
- - - - - 1f00d76d by rtoy at 2015-01-11T08:35:03-08:00 Merged in arm-rtoy-issue-45 (pull request #73)
Fix issue #45: Stub out restore_fpu for arm. - - - - - ae548650 by rtoy at 2015-01-11T08:50:42-08:00 Merged in arm-rtoy-issue-51 (pull request #74)
Fix issue #51: Initialize current_control_stack_pointer correctly for ARM. - - - - - 244471a8 by Raymond Toy at 2015-01-11T10:31:47-08:00 Simplify not-implemented.
- - - - - 2d9a5e31 by Raymond Toy at 2015-01-11T10:51:56-08:00 Implement emit-relative-branch correctly for ARM.
The offset in the branch imeediate instruction is offset by 8 bytes. If the instruction is at address n and the offset value in the instruction is x, the actual target of the branch is the address n + x + 8. This needs to be accounted for when we emit relative branchs and also in the disassembly of relative branches.
See issue #52.
- - - - - b0b4a223 by Raymond Toy at 2015-01-11T10:56:06-08:00 Fix typo.
- - - - - 414dcc00 by Raymond Toy at 2015-01-11T11:08:17-08:00 Update according to review.
- - - - - 5095724f by rtoy at 2015-01-11T13:34:29-08:00 Merged in arm-rtoy-compile-for-debug (pull request #75)
Disable optimization for now - - - - - 745afef4 by Raymond Toy at 2015-01-11T13:57:06-08:00 Update according to review.
- - - - - 2fae54ff by Raymond Toy at 2015-01-11T14:04:37-08:00 Fix up comment for relative-branch-offset
- - - - - 351f4db9 by Raymond Toy at 2015-01-11T14:13:48-08:00 Don't need an .extern for arm/linux.
Also put back original indentation of EXTERN.
- - - - - 415f01f5 by Raymond Toy at 2015-01-11T16:29:39-08:00 Add EMIT-NOT-IMPLEMENTED to vops that may already have implementations.
See issue #53.
- - - - - 25877d1d by Raymond Toy at 2015-01-11T16:33:02-08:00 Merge branch 'arm-rtoy-issue-41' into arm-rtoy-issue-46-on-41
Conflicts: src/compiler/arm/insts.lisp
- - - - - 494e5b1c by Raymond Toy at 2015-01-11T17:35:52-08:00 Put args on the stack in the right place in funcall0 and friends.
- - - - - e03f5ef6 by Raymond Toy at 2015-01-11T20:05:09-08:00 Export not-implemented-trap and make sure object-not-list-trap value doesn't overlap the other trap values.
- - - - - 80e7f095 by Raymond Toy at 2015-01-11T22:43:51-08:00 Implement initial sigill handler for not-implemented trap.
See issue #57.
- - - - - a2d6591c by Raymond Toy at 2015-01-12T19:14:20-08:00 Merge branch 'master' into arm-rtoy-issue-43
- - - - - 7d25b045 by Raymond Toy at 2015-01-12T19:27:15-08:00 Revert change.
- - - - - 24d3f283 by Raymond Toy at 2015-01-12T20:00:58-08:00 First cut at call_into_lisp.
This implements most of the first part of call_into_lisp to get into lisp. The return from lisp is not yet implemented.
See issue #43.
- - - - - 12014237 by Raymond Toy at 2015-01-12T22:16:31-08:00 Fix mistake in computing the actual function address.
- - - - - 093e5eca by Raymond Toy at 2015-01-13T20:33:36-08:00 Use 16 double-float registers.
- - - - - 487d7061 by Raymond Toy at 2015-01-13T20:36:56-08:00 Implement XEP-ALLOCATE-FRAME
- - - - - 6da00306 by rtoy at 2015-01-14T19:13:02-08:00 Merged in arm-rtoy-issue-41 (pull request #71)
Reimplement NOT-IMPLEMENTED to dump the symbol name into the code stream.
Fix issue #41. - - - - - c5c32c0a by rtoy at 2015-01-14T19:13:46-08:00 Merged in arm-rtoy-issue-53 (pull request #77)
Fix issue #53: Add EMIT-NOT-IMPLEMENTED to vops that may already have been implemented - - - - - f1329f8c by rtoy at 2015-01-14T19:14:17-08:00 Merged in arm-rtoy-issue-55 (pull request #79)
Fix issue #55: Put args on the stack in the right place in funcall0 and friends. - - - - - ce99877e by rtoy at 2015-01-14T19:15:55-08:00 Merged in arm-rtoy-issue-46-on-41 (pull request #78)
Fix issue #46: NOT-IMPLEMENTED gets its own trap code - - - - - 8c447794 by Raymond Toy at 2015-01-14T19:17:46-08:00 Merge branch 'master' into arm-rtoy-issue-56
- - - - - c1c940eb by Raymond Toy at 2015-01-14T19:36:03-08:00 Kill :vfpv3-d16 and fix float-registers to 16 in vm.lisp.
- - - - - 127b4226 by Raymond Toy at 2015-01-14T19:40:52-08:00 Update according to review.
- - - - - 6dc5e3ef by Raymond Toy at 2015-01-14T19:46:22-08:00 Update according to review:
o Kill clear-memory-p o Use string for not-implemented.
- - - - - 0b44d7fb by Raymond Toy at 2015-01-14T20:03:47-08:00 Update according to review.
- - - - - b964a499 by Raymond Toy at 2015-01-14T20:09:56-08:00 Fix a few compiler notes.
- - - - - c3c25012 by Raymond Toy at 2015-01-14T21:01:43-08:00 Merge branch 'master' into arm-rtoy-issue-57
- - - - - b9047cdc by Raymond Toy at 2015-01-14T21:09:51-08:00 Merge branch 'master' into arm-rtoy-issue-43
- - - - - ab311f22 by Raymond Toy at 2015-01-14T21:12:58-08:00 Merge branch 'arm-rtoy-issue-44' into arm-rtoy-issue-43
- - - - - 57e91dfe by Raymond Toy at 2015-01-14T21:41:16-08:00 Update according to review.
- - - - - bd08a69a by Raymond Toy at 2015-01-15T19:50:41-08:00 Update according to review.
- - - - - 2ceac803 by Raymond Toy at 2015-01-15T20:03:14-08:00 Update according to review.
o Remove .text from FUNCDEF o The header word for undefined_tramp and closure_tramp is wrong. ARM is little-endian so the type_FunctionHeader byte needs to come first. o Don't need the .align for undefined_tramp and closure_tramp. o Align function_end_breakpoint_guts to 8 bytes because sparc does. Not sure if this is really necessary, though.
- - - - - a5749fb1 by Raymond Toy at 2015-01-15T20:18:22-08:00 Fix typo in getting the high part of the address of current_control_stack_pointer.
- - - - - b4fcf05b by Raymond Toy at 2015-01-15T20:30:56-08:00 Use inst byte instead of emit-byte
See issue #58.
- - - - - 820eb269 by Raymond Toy at 2015-01-15T20:42:17-08:00 Fix typo.
- - - - - 926359d4 by Raymond Toy at 2015-01-15T22:31:51-08:00 Implement undefineds-assem.S.
See issue #35.
- - - - - b2ffbf70 by Raymond Toy at 2015-01-17T09:09:35-08:00 Be lenient in disassembling CMP
When disassembling a CMP instruction, allow the dst register field of the instruction to be any value instead of fixing it to 0. The dst isn't printed anyway.
See issue #54.
- - - - - f278aaa2 by Raymond Toy at 2015-01-17T09:15:47-08:00 Better disassembly for MOV Rd, Rs
The actual instruction is LSL Rd, Rs, #0, which we'd like disassembled as MOV, which is a bit easier to understand.
See issue #15.
- - - - - 593f7381 by Raymond Toy at 2015-01-17T09:24:14-08:00 Add test from issue #54.
- - - - - 19c530aa by Raymond Toy at 2015-01-17T10:48:38-08:00 Include the name when disassembling UDF.
See issue #60.
When disassembling the UDF instruction, print out the name as a disassembly note.
We also updated the udf printer to print the immediate using the current radix instead of always using base 10. This for consistency with how other numbers are printed.
- - - - - ba0c7ade by Raymond Toy at 2015-01-18T20:05:19-08:00 Access static symbols correctly, and save the current C stack pointer and frame pointer to the static symbols so Lisp can access them.
- - - - - b8a4eb34 by Raymond Toy at 2015-01-19T11:15:12-08:00 Swap CFP and OCFP register assignments.
r11 is preserved across C function calls, so it's advantageous to make CFP be r11 and OCFP be r12. r12 is not preserved across call, but OCFP is stored on the Lisp stack, so we can easily recover the value.
See issue #62.
- - - - - c680c1f1 by rtoy at 2015-01-19T19:43:45-08:00 Merged in arm-rtoy-issue-58 (pull request #84)
Fix issue #58: Use inst byte instead of emit-byte - - - - - 49f644f1 by rtoy at 2015-01-19T19:44:41-08:00 Merged in arm-rtoy-issue-44 (pull request #72)
Fix issue 44: Use ALLOCATION_POINTER and BINDING_STACK_POINTER in C runtime - - - - - 5db171c3 by Raymond Toy at 2015-01-19T19:49:09-08:00 Put the printer def all on one line, per review comments.
- - - - - bcea8e75 by rtoy at 2015-01-19T19:49:56-08:00 Merged in arm-rtoy-issue-15 (pull request #87)
Fix issue #15: Better disassembly for MOV Rd, Rs - - - - - 5188ce34 by Raymond Toy at 2015-01-19T19:57:45-08:00 Update according to review.
- - - - - 1b031db7 by Raymond Toy at 2015-01-19T20:45:45-08:00 Add new function-header trap value and use it in XEP-ALLOCATE-FRAME.
- - - - - f35fdb72 by rtoy at 2015-01-20T20:05:26-08:00 Merged in arm-rtoy-issue-54a (pull request #86)
Fix issue #54: Be lenient in disassembling CMP - - - - - a7a2dcab by rtoy at 2015-01-20T20:06:01-08:00 Merged in arm-rtoy-issue-56 (pull request #82)
Fix issue #56: Use 16 double-float registers. - - - - - 73ffadc7 by Raymond Toy at 2015-01-22T21:02:10-08:00 Implement BX instruction and fix %LI.
The BX instruction is not previously implemented and we need it.
We also take this opportunity to correct the %LI function. Previously, the MOVW instruction would be used after the MOVT instruction, but that would clear the high bits set by MOVT.
See issue #63.
- - - - - 5762665a by rtoy at 2015-01-23T18:25:24-08:00 Merged in arm-rtoy-issue-63 (pull request #90)
Fix issue #63: Implement BX instruction and fix %LI. - - - - - 0990bbf6 by Raymond Toy at 2015-01-24T23:14:59-08:00 Merge branch 'master' into arm-rtoy-issue-43
- - - - - 6e8e11be by Raymond Toy at 2015-01-24T23:20:14-08:00 Add missing NOT-IMPLEMENTED stuff.
- - - - - 3ba5dca4 by Raymond Toy at 2015-01-25T08:53:04-08:00 Add more missing NOT-IMPLEMENTED stuff.
- - - - - 025d6ff6 by Raymond Toy at 2015-01-27T19:22:08-08:00 Update according to review.
* Remove FUNCDEF * Upper case load/store/load_symbol_value/store_symbol_value. * Use ldr reg, =foo instead of movw/movt. * Insert spaces around commas. * Rename SET_SIZE to ENDFUNC. * Change .global to .globl. * Remove unneeded .text and .align.
- - - - - 5a5e568c by Raymond Toy at 2015-01-30T21:10:40-08:00 Store the function pointer into the fdefn-raw-addr-slot instead of the raw address.
This matches sparc and ppc and slightly simplifies scavenging the fdefn object.
- - - - - ee564327 by Raymond Toy at 2015-01-31T09:40:45-08:00 Need to load up arm assembly files.
- - - - - 425a453c by rtoy at 2015-02-01T08:56:29-08:00 Merged in arm-rtoy-issue-66 (pull request #93)
Fix issue #66: Need to load up arm assembly files. - - - - - 3dc799a0 by rtoy at 2015-02-01T08:57:18-08:00 Merged in arm-rtoy-issue-65 (pull request #92)
Fix issue #65: Store function pointer into fdefn-raw-addr-slot instead of the raw address - - - - - 231e67b9 by rtoy at 2015-02-01T08:58:50-08:00 Merged in arm-rtoy-issue-48 (pull request #83)
Fix issue #48: Implement XEP-ALLOCATE-FRAME - - - - - e988eae5 by rtoy at 2015-02-01T08:59:13-08:00 Merged in arm-rtoy-issue-52 (pull request #76)
Fix issue #52: Implement emit-relative-branch correctly for ARM. - - - - - 286d6231 by Raymond Toy at 2015-02-01T13:46:22-08:00 Merge branch 'master' into arm-rtoy-issue-43
- - - - - 2e907465 by Raymond Toy at 2015-02-01T14:04:11-08:00 Add D(x)=x, for completeness.
- - - - - 27d4e242 by Raymond Toy at 2015-02-01T14:06:09-08:00 Remove FIXME comment and clean up following comment.
- - - - - 424456d2 by Raymond Toy at 2015-02-01T14:10:35-08:00 Cuddle brace with case statement.
- - - - - 50c6e6f9 by Raymond Toy at 2015-02-01T15:25:24-08:00 Renumber traps so we don't use 16 as a trap value.
Also took opportunity to make add pseudo-atomic trap as part of the defenum.
- - - - - 32acdae4 by Raymond Toy at 2015-02-01T15:28:22-08:00 Fix some comments.
- - - - - 105916ec by Raymond Toy at 2015-02-01T15:57:49-08:00 Remove LOAD/STORE and add .pool to ENDFUNC.
- - - - - da760020 by rtoy at 2015-02-01T20:49:20-08:00 Merged in arm-rtoy-issue-57 (pull request #80)
Fix issue #57: Implement initial sigill handler for not-implemented trap. - - - - - fc96eba7 by Raymond Toy at 2015-02-01T21:27:49-08:00 Make D(foo) do nothing and add TODO to clean this up.
- - - - - 573158b9 by Raymond Toy at 2015-02-01T21:34:49-08:00 Remove ambiguous part of comment.
- - - - - 514856b3 by rtoy at 2015-02-02T18:51:49-08:00 Merged in arm-rtoy-issue-35 (pull request #85)
Fix issue #35: Implement undefineds-assem.S. - - - - - fc7454c9 by Raymond Toy at 2015-02-02T18:56:12-08:00 Remove bogus comment.
- - - - - 20d97d9e by rtoy at 2015-02-02T18:57:23-08:00 Merged in arm-rtoy-issue-43 (pull request #81)
Fix issue #43: Initial implemention of call_into_lisp - - - - - 400bb985 by rtoy at 2015-02-02T18:58:46-08:00 Merged in arm-rtoy-issue-67 (pull request #94)
Fix issue #67: Renumber traps so we don't use 16 as a trap value. - - - - - 254b3a5e by Raymond Toy at 2015-02-02T19:36:04-08:00 Change NOT_IMPLEMENTED to require a message and value. Useful for printing additional information.
- - - - - bdae0934 by Raymond Toy at 2015-02-02T19:44:42-08:00 Implement call_into_c.
- - - - - b329355a by Raymond Toy at 2015-02-03T19:54:16-08:00 Remove linkage-tables feature for arm/linux
The initial port for arm will not use linkage-tables. Update code accordingly.
tools/cross-scripts/cross-x86-arm.lisp: o Remove :linkage-table from the set of features we want for arm. Put it on the mis-features list.
lisp/undefineds.h: o Update with symbols arm/linux wants.
compiler/generic/new-genesis.lisp: o Update symbol lookup for our arm implementation that doesn't use the PVE_stub stuff. o Add implementation for arm for handling fixups o Minor fix adding conditionalization for linkage-table that was inadverntly missed long ago.
- - - - - 7024f152 by Raymond Toy at 2015-02-03T21:06:40-08:00 More changes to support building without linkage tables.
Config.arm_linux: o Update NM to use linux-nm. o Need -lutil.
linux-nm: o Update to linux-nm to replace stub_ so we use the correct addresses in genesis.
- - - - - e93bfbea by Raymond Toy at 2015-02-03T21:23:53-08:00 Remove unneeded prints.
- - - - - 6e0141b7 by Raymond Toy at 2015-02-03T21:25:45-08:00 The new symbols are needed by linux and not just arm and linux.
- - - - - 4b03b406 by rtoy at 2015-02-03T21:27:53-08:00 Merged in arm-rtoy-issue-64 (pull request #91)
Fix issue #64: Add missing NOT-IMPLEMENTED stuff. - - - - - 2594875f by Raymond Toy at 2015-02-03T21:42:25-08:00 Fix typos and bugs in fixups.
o Encoding for the movt inst was using the encoding for movw. o Fix typo: It's :movw, not :mov3! o Reorder fixup code to use movw/movt, not movt/movw which wipes out the top 16 bits set by movt.
- - - - - a22cae0c by Raymond Toy at 2015-02-04T19:25:19-08:00 Update according to review.
- - - - - 8d0632e5 by Raymond Toy at 2015-02-04T19:27:26-08:00 Update according to review.
- - - - - c98e6c75 by rtoy at 2015-02-04T19:27:59-08:00 Merged in arm-rtoy-issue-61 (pull request #97)
Fix issue #61: Remove linkage-tables feature for arm/linux - - - - - a250751a by Raymond Toy at 2015-02-05T20:35:34-08:00 Merge branch 'master' into arm-rtoy-issue-60
- - - - - 55a360ab by Raymond Toy at 2015-02-05T21:15:15-08:00 Fix call to snarf-not-implemented-name.
- - - - - fc0d17cf by Raymond Toy at 2015-02-05T21:20:09-08:00 Add -X option to (break) after writing the core file.
Useful to stop the cross-compilation just before it quits so we can run compile-file or other tests using the cross-compiled target code.
- - - - - 207e23b2 by Raymond Toy at 2015-02-05T21:53:49-08:00 Print immediate values in the current output radix.
- - - - - 59a077e5 by Raymond Toy at 2015-02-05T21:57:30-08:00 Oops. Revert the print-immed change.
- - - - - 0cc43237 by Raymond Toy at 2015-02-05T21:58:23-08:00 Print immediate values in the current output radix.
- - - - - 52f5cd43 by rtoy at 2015-02-08T16:20:10-08:00 Merged in arm-rtoy-issue-69 (pull request #98)
Fix issue #69: Add -X option to (break) after writing the core file. - - - - - bea76dfe by rtoy at 2015-02-08T16:25:17-08:00 Merged in arm-rtoy-issue-59 (pull request #96)
Fix issue #59: Implement call_into_c. - - - - - ac0164fc by Raymond Toy at 2015-02-09T20:11:12-08:00 Use FORMAT to print out immediate values.
- - - - - 4072623e by Raymond Toy at 2015-07-18T17:10:25-07:00 Merge branch 'master' of gitlab cmucl (snapshot-2015-07) into arm-rtoy-sync-2015-07
- - - - - f1d04870 by rtoy at 2015-07-18T17:14:25-07:00 Merged in arm-rtoy-sync-2015-07 (pull request #100)
Sync to upstream snapshot-2015-07
- - - - - f0287256 by Raymond Toy at 2015-07-23T21:01:22-07:00 Merge branch 'master' into arm-rtoy-issue-70
- - - - - 31a4b882 by Raymond Toy at 2015-07-25T12:35:09-07:00 Merge branch 'master' into arm-rtoy-issue-68
- - - - - bf3d61fd by Raymond Toy at 2015-07-25T12:46:55-07:00 Merge branch 'master' into arm-rtoy-issue-62
- - - - - 1c7e9fe5 by Jon Boone at 2015-09-05T00:52:15-04:00 Attempted fix for call_into_lisp(): * modified call_into_lisp() to set the current frame pointer to the current stack pointer upon entry into the subroutine * cleaned up use of reg_NL1 as base pointer to passed in arguments
Attempted fix for arm-lispregs.h defintions * defined all register names as part of REGNAMES * corrected typo where reg_CSP was referred to as reg_SP
- - - - - 391c28ea by Jon Boone at 2015-09-06T16:40:18-04:00 removing extra spaces and indentation
- - - - - 1468de3c by rtoy at 2015-09-07T08:16:12-07:00 Merged in arm-rtoy-issue-70 (pull request #99)
Fix issue #70: Print immediate values in the current output radix.
- - - - - 482dcd4b by Raymond Toy at 2015-09-07T08:19:23-07:00 Merge branch 'master' into arm-rtoy-issue-68
- - - - - f6571270 by Raymond Toy at 2015-09-07T08:38:48-07:00 Merge branch 'master' into arm-rtoy-issue-60
- - - - - cfd39202 by Raymond Toy at 2015-09-07T09:26:23-07:00 Merge tag 'snapshot-2015-09' of /Volumes/share2/src/clnet/cmucl/dev/cmucl into arm-rtoy-sync-2015-09
Snapshot 2015-09
- - - - - f6f683ad by rtoy at 2015-09-07T09:28:39-07:00 Merged in arm-rtoy-sync-2015-09 (pull request #102)
Sync to upstream snapshot-2015-09
- - - - - 1528a699 by rtoy at 2015-09-07T17:20:07-07:00 Merged in arm-rtoy-issue-60 (pull request #88)
Fix issue #60: Include the name when disassembling UDF.
- - - - - 3330b7f9 by Jon Boone at 2015-09-07T20:37:22-04:00 reverting to original behavior with reg_CFP set to reg_NL0
- - - - - b3ffe768 by Raymond Toy at 2015-09-07T19:04:23-07:00 Merge branch 'master' into arm-rtoy-issue-68
- - - - - 768d390b by Raymond Toy at 2015-09-07T19:19:48-07:00 New version of NOT_IMPLEMENTED, suggested in review.
- - - - - 5a373364 by Raymond Toy at 2015-09-08T19:04:52-07:00 Rename NOT_IMPLEMENTED_MESSAGE to NOT_IMPLEMENTED and use it everywhere.
- - - - - 558bae7f by Raymond Toy at 2015-09-08T19:10:50-07:00 Merge branch 'master' into arm-rtoy-issue-62
- - - - - 05c9bcd7 by Raymond Toy at 2015-09-08T19:54:47-07:00 Remove null statement.
- - - - - 5666384c by Raymond Toy at 2015-09-08T20:03:48-07:00 Fix issue #71: Typo introduced in pull request #99.
Add the closing paren for eval-when back.
- - - - - 5207563e by rtoy at 2015-09-08T20:07:15-07:00 Merged in arm-rtoy-issue-71 (pull request #103)
Fix issue #71: Typo introduced in pull request #99.
- - - - - 27809316 by Raymond Toy at 2015-09-08T20:08:06-07:00 Merge branch 'master' into arm-rtoy-issue-68
- - - - - 6af670d7 by Raymond Toy at 2015-09-08T20:20:26-07:00 Use lose() instead of NOT_IMPLEMENTED.
- - - - - 6e427904 by rtoy at 2015-09-08T21:37:13-07:00 Merged in arm-rtoy-issue-68 (pull request #95)
Fix issue #68: Change NOT_IMPLEMENTED to require a message and value. Useful for
- - - - - 49d13a9a by Jon Boone at 2015-09-12T18:46:44-04:00 corrected typo -- NL1 is the pointer to the control-stack, not NL0
- - - - - e0137d5b by Raymond Toy at 2015-09-12T22:00:31-07:00 Initialize Lisp control stack pointer correctly.
Fixes #72. Set the control stack pointer a few words before the end of the control stack space so that the pointer points to an area that is actually writable.
- - - - - 7c557278 by Raymond Toy at 2015-09-14T19:42:18-07:00 Merge branch 'master' into arm-rtoy-issue-62
- - - - - 296b7f19 by Raymond Toy at 2015-09-14T19:45:55-07:00 Undo changes.
- - - - - 54bc2208 by Raymond Toy at 2015-09-14T19:49:33-07:00 Restore saved current_control_frame_pointer after returning.
- - - - - 2cb914e9 by Raymond Toy at 2015-09-14T20:02:41-07:00 Implement PRINT vop
- - - - - dd4231e8 by Raymond Toy at 2015-09-18T18:26:09-07:00 Back up just one word to get to the writable area.
- - - - - 05121630 by Raymond Toy at 2015-09-18T18:26:30-07:00 Stack grows down so use negative offsets for load/store stack-tn.
- - - - - 34376580 by Raymond Toy at 2015-09-18T20:23:30-07:00 Control stack offsets are negative.
- - - - - 0a5e0351 by Jon Boone at 2015-09-19T22:09:35-04:00 clarifying that the arguments are relative to the current frame pointer
- - - - - eb0afbe5 by Raymond Toy at 2015-09-20T17:52:45-07:00 Adjust the stack pointer and push the args correctly for the downward growing control stack on ARM.
- - - - - 90201c95 by Raymond Toy at 2015-09-24T20:25:16-07:00 Use LIP as the temp register for restoring CSP and CFP.
- - - - - 26b2dfbb by Raymond Toy at 2015-09-24T20:28:48-07:00 Revert change.
- - - - - 5286c957 by Raymond Toy at 2015-09-24T20:32:15-07:00 Store args in the correct order for the downward growing stack in funcall0 and friends.
- - - - - ad474c06 by rtoy at 2015-09-26T07:16:34-07:00 Merged in arm-rtoy-issue-62 (pull request #89)
Restore CFP after calling out to C
- - - - - 8077e42a by Raymond Toy at 2015-09-26T07:17:37-07:00 Merge branch 'master' into arm-rtoy-issue-72
- - - - - 0a40ee39 by Raymond Toy at 2015-09-27T13:04:29-07:00 Simplify the macros load-stack-tn and store-stack-tn.
- - - - - 7f7788a8 by Raymond Toy at 2015-09-27T13:06:11-07:00 Remove some trailing blanks at eol.
- - - - - 753c130c by rtoy at 2015-09-27T16:07:20-07:00 Merged in arm-rtoy-issue-72 (pull request #104)
Initialize Lisp control stack pointer correctly.
Fix issue #72
- - - - - ddd6e4f1 by Raymond Toy at 2015-09-27T16:09:31-07:00 Merge branch 'master' into arm-rtoy-issue-50-print
- - - - - 66fa223f by Raymond Toy at 2015-09-27T19:35:37-07:00 Fix obvious typo introduced in pull request #89.
We changed the register to hold the addresses, but weren't using it to load the values from that address!
- - - - - d3d9a065 by rtoy at 2015-09-27T19:37:16-07:00 Merged in arm-rtoy-pull-request-89-correction (pull request #106)
Fix obvious typo introduced in pull request #89.
- - - - - 1c5acfb5 by Raymond Toy at 2015-09-27T19:40:34-07:00 Update lisp stack offsets in call_into_c.
The lisp stack grows down so the offsets are negative!
- - - - - 8c9ef794 by Raymond Toy at 2015-09-27T19:40:58-07:00 Merge branch 'master' into arm-rtoy-issue-50-print
- - - - - 8092b31e by Raymond Toy at 2015-09-27T21:27:39-07:00 Only allocate 5 words.
The comment is updated as to what happens. I've verified this in the debugger and for each case I've looked at, the C stack pointer is double-word aligned just before the branch to the actual C routine.
- - - - - 10fddaee by Jon Boone at 2015-09-28T20:16:39-04:00 Merged in arm-jboone-asm-2015-09 (pull request #101)
correction of arm-lispregs.h definitions
- - - - - 7d742b80 by Raymond Toy at 2015-09-29T19:51:31-07:00 Merge branch 'master' into arm-rtoy-issue-50-print
- - - - - afc851a1 by Raymond Toy at 2015-09-29T20:48:22-07:00 Document the expected stack layout for call_into_lisp.
- - - - - 3de51380 by Raymond Toy at 2015-09-29T20:50:50-07:00 Add a few more comments.
- - - - - a2eac49e by Raymond Toy at 2015-09-29T20:51:36-07:00 * Remove some comments that should be in call_into_c. * Zero out the unused arg stack slots, just for debugging purposes.
- - - - - 85da9e79 by rtoy at 2015-09-30T21:33:39-07:00 Merged in arm-rtoy-issue-50-print (pull request #105)
Implement PRINT vop. Fixes issue #50.
- - - - - 65126b0b by Raymond Toy at 2016-09-05T12:30:38-07:00 Merge tag 'snapshot-2016-06' of common-lisp.net:cmucl/cmucl into rtoy-sync-snapshot-2016-06
Snapshot 2016-06
- - - - - eac639e3 by Raymond Toy at 2016-09-05T12:35:52-07:00 Merged in rtoy-sync-snapshot-2016-06 (pull request #107)
Sync upstream snapshot-2016-06
- - - - - 821366df by Raymond Toy at 2016-09-05T14:02:28-07:00 Define SIGNAL_STACK_SIZE
After merging the upstream snapshot, SIGNAL_STACK_SIZE needs to be defined. Define it so we can build lisp again.
- - - - - e2f97f37 by Raymond Toy at 2016-10-30T21:15:42-07:00 Merge branch 'master' of common-lisp.net:cmucl/cmucl into rtoy-sync-21b
- - - - - 41685321 by Raymond Toy at 2016-10-31T04:17:38+00:00 Merged in rtoy-sync-21b (pull request #108)
Sync to 21b
- - - - - 2dd8905d by Raymond Toy at 2016-11-13T08:49:18-08:00 Use altstack on ARM
When installing a low-level handler, use an alternate stack for handling signals.
This seems to allow our handlers to handle signals again. Recently, we started getting faults apparently before our handlers ever got a chance to run. We can make progress now when running kernel.core.
Long ago, this all worked, but I don't know what made it stop. For one, the OS on my panda board was updated (and downgraded). Don't know what made it stop working.
- - - - - 2c7fdfc0 by Raymond Toy at 2016-11-13T08:49:18-08:00 Debug prints in sigill handler.
- - - - - e16f13c4 by Raymond Toy at 2017-11-03T13:27:06-07:00 Merge tag '21c' into arm-rtoy-sync-21c
Release 21c
- - - - - aba4c6ff by Raymond Toy at 2017-11-03T20:29:58+00:00 Sync to upstream 21c
- - - - - 4ce773f3 by Raymond Toy at 2017-11-03T22:43:47-07:00 Set address of where the lisp control stack ends
Must of been deleted at some point when merging with upstream.
- - - - - 4323fc55 by Jon Boone at 2018-03-10T01:12:38-05:00 * added new conditional around F(sigvec) that excludes it from __linux__ as well
- - - - - 98624fa8 by Jon Boone at 2018-03-10T02:06:38-05:00 * corrected typo (changed __FReeBSD__ to __FreeBSD__)
- - - - - 9723f8d5 by Raymond Toy at 2024-04-02T16:38:40-07:00 Merge tag 'snapshot-2018-03' of common-lisp.net:cmucl/cmucl into arm-rtoy-sync-2018-03
Snapshot 2018-03 2018-03-02
- - - - - 8e42b0d6 by Raymond Toy at 2024-04-02T16:39:25-07:00 Merged in arm-rtoy-sync-2018-03 (pull request #111)
Sync to upstream 2018-03 snapshot
- - - - - ec527df9 by Raymond Toy at 2024-04-02T16:39:25-07:00 Fix up textdomains
Needed to add arm domain for with-textdomain because it was missing.
- - - - - 30c53c45 by Raymond Toy at 2024-04-02T16:40:51-07:00 Define COMPUTE-LRA-FROM-CODE
Copied from sparc.
We need this instruction to implement DEFINE-FULL-CALL for CALL-NAMED (at least).
- - - - - 04ec39f8 by Raymond Toy at 2024-04-02T16:40:51-07:00 Add missing closing paren
Not sure how this was deleted, but I didn't bother to figure it out.
- - - - - 09522a80 by Raymond Toy at 2024-04-02T16:40:51-07:00 Fix typo in loadw/storew.
We had (typep '(signed-byte 13) offs). Duh! It should be (typep offs '(signed-byte 13)).
- - - - - c56ac2be by Jon Boone at 2024-04-02T16:40:51-07:00 Merged in linux-jboone-remove-sigvec (pull request #110)
* added new conditional around F(sigvec) that excludes it from __linux__ as well
Approved-by: Raymond Toy <toy.raymond@gmail.com>
- - - - - b569a5fd by Raymond Toy at 2024-04-02T16:40:51-07:00 Merge branch 'master' into arm-rtoy-issue-76
- - - - - 4485910d by Raymond Toy at 2024-04-02T16:40:51-07:00 Print out more info for unknown udf code.
- - - - - 18b30077 by Raymond Toy at 2024-04-02T16:40:51-07:00 Reorder registers again.
Swap nfp with ocfp because r1 (nfp) is an output register and that conflicts with the wired-tn nfp. I don't think ocfp is wired to anything.
Update C and assembly code accordingly.
- - - - - cde679fa by Raymond Toy at 2024-04-02T16:40:51-07:00 Merged master, fixing conflicts
- - - - - c33998ab by Raymond Toy at 2024-04-02T16:40:51-07:00 Remove unneeded nop
ARM doesn't have a branch-delay slot.
- - - - - d1f327a1 by Raymond Toy at 2024-04-02T16:40:51-07:00 Merge branch 'arm-rtoy-issue-76-rename-regs-2' into arm-rtoy-issue-76
- - - - - 10e3bf95 by Raymond Toy at 2024-04-02T16:40:51-07:00 Add support for trapping error and cerror
Recognize the error and cerror traps and handle them. Not yet really tested, but looks plausible based on other implementations.
- - - - - 4dd42403 by Raymond Toy at 2024-04-02T16:40:51-07:00 Fix #74: Implement symbol-value
Basically copied the sparc version.
With this change, we can see that we're getting the symbol value of the symbol `*LISP-INITIALIZATION-FUNCTIONS*`. The value is:
``` (gdb) call print(0x41b103ab) $1= 0x41b103ab: list pointer $2= car: 0x41b0fae9: #<ptr to function header> $3= cdr: 0x41af476b: ($4=#<ptr to function header> $5=#<ptr to function header> $6=#<ptr to function header> $7=#<ptr to function header> ...) ```
- - - - - e75a9e2b by Raymond Toy at 2024-04-02T16:40:51-07:00 Fix up call-named
Put in emit-not-implemented so we can tell and compute the target address correctly because we forgot to handle the tag bits.
- - - - - a929ce00 by Raymond Toy at 2024-04-02T16:40:51-07:00 Implement arch_internal_error_arguments
Based on sparc and ppc version where we just grab the address of the word after the PC.
- - - - - dff5c16c by Raymond Toy at 2024-04-02T16:40:51-07:00 Implement allocate-full-call-frame
Basically copied the sparc version.
- - - - - 05d272f7 by Raymond Toy at 2024-04-02T16:40:51-07:00 Merged in arm-rtoy-issue-74 (pull request #112)
Fix #74: Implement symbol-value
Approved-by: Raymond Toy <toy.raymond@gmail.com>
- - - - - a674a7dc by Raymond Toy at 2024-04-02T16:40:51-07:00 Remove old attempts at call-named.
Just leave the sparc and RT versions; with the RT version being used.
- - - - - 214d316a by Raymond Toy at 2024-04-02T16:40:51-07:00 Rename and add new reg assignments like RT
This is a first step at implementing call-named (as mentioned in issue #76).
As best as I can tell it would be really useful to have nfp and cname as actual registers, which the RT port does. Thus, remove nl1 and nl2 and add nfp and cname. We didn't lose 2 of our non-descriptors though. The RT port makes nfp and ocfp non-descriptors so we recover that. We'll see if this works out ok.
So, rename and add the registers, updating the list of non-descriptors and descriptors.
Update arm-assem.s with these changes. Note that we make nargs be r2, the third arg to call_into_lisp. This slightly easier to read the assembly code.
Update arm-lispregs.h to have the right register assignments and names.
With this change running the kernel core gets as far as it used to with the ame error message.
- - - - - 62a967f3 by Raymond Toy at 2024-04-02T16:40:51-07:00 Merged in arm-rtoy-issue-75 (pull request #113)
Fix #75: Implement allocate-full-call-frame
Approved-by: Raymond Toy <toy.raymond@gmail.com>
- - - - - ce23df95 by Raymond Toy at 2024-04-02T16:40:51-07:00 Undo change to register-arg-names
We still have 3 args for this port.
- - - - - c1ce717c by Raymond Toy at 2024-04-02T16:40:51-07:00 Merged in arm-rtoy-issue-76-rename-regs (pull request #114)
Rename and add new reg assignments like RT
- - - - - 3bdadde5 by Raymond Toy at 2024-04-02T16:40:51-07:00 Fix #76: Implement call-named
* Define COMPUTE-LRA-FROM-CODE
Copied from sparc.
We need this instruction to implement DEFINE-FULL-CALL for CALL-NAMED (at least).
* Add missing closing paren
Not sure how this was deleted, but I didn't bother to figure it out.
* Fix typo in loadw/storew.
We had (typep '(signed-byte 13) offs). Duh! It should be (typep offs '(signed-byte 13)).
* Merged master, fixing conflicts
* Reorder registers again.
Swap nfp with ocfp because r1 (nfp) is an output register and that conflicts with the wired-tn nfp. I don't think ocfp is wired to anything.
Update C and assembly code accordingly.
* Fix up call-named
Put in emit-not-implemented so we can tell and compute the target address correctly because we forgot to handle the tag bits.
* Update arith.lisp because allow one arg to be on the unsigned stack. (Not really sure this is needed, but the RT port does this.)
* Make NFP hard-wired like the RT port (and all the other RISC ports).
- - - - - 1a981f2d by Raymond Toy at 2024-05-18T07:04:32-07:00 Merge tag 'snapshot-2024-04' into arm-rtoy-sync-snapshot-2024-04
Snapshot 2024-04
- - - - - 11c53c25 by Raymond Toy at 2024-05-18T07:07:36-07:00 Merge remote-tracking branch 'bitbucket/arm-rtoy-sync-snapshot-2024-04'
- - - - -
19 changed files:
- bin/clean-target.sh - bin/create-target.sh - bin/cross-build-world.sh - + src/assembly/arm/alloc.lisp - + src/assembly/arm/arith.lisp - + src/assembly/arm/array.lisp - + src/assembly/arm/assem-rtns.lisp - + src/assembly/arm/support.lisp - src/assembly/assemfile.lisp - src/code/debug-int.lisp - src/code/exports.lisp - + src/compiler/arm/alloc.lisp - + src/compiler/arm/arith.lisp - + src/compiler/arm/array.lisp - + src/compiler/arm/c-call.lisp - + src/compiler/arm/call.lisp - + src/compiler/arm/cell.lisp - + src/compiler/arm/char.lisp - + src/compiler/arm/debug.lisp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/6a6e64458e59b4a011d3085...