Description: Xtensa related

This file as text.
(active) Revisions in this set:
08c12ca4392fdf66b007ef89f4d391ad35a64b8c,27349661e08faf0d35056945bb9f845bdd4c7030,9e40d536cbf5d42a95ba8c69a15b64b5b2b25e78
34d1b90921c78fe89be27ec77cd3e61087063c06,83a6efd75995f6da1f5993a608550ef4ae12b1b9,28c0a47a953a21813de4ef29172d0257641de238
73c68236b6a7943b8f5207a78e58483bf96a2737,729425447f65fd44cd5a47a4379dd807a8cb8130,0d2db1a11c35a88e2c24705550768792acea5f61
d0106d08b9602633c00c758c36aef8a3068cbf5e,ad99285fec1def7dd295c799935a8082f95a4715,77f5abac667cd81758ef39f889cf5107b920904f
bcbdc4ad92c91d8544741bc36dd48f0f7fab9671,3189e4245d158f1a9ccabfc44fbe5fa55be2d2a8,678ca16d951ac865d47b2218af3ce8de81e86aa6
cfa9935c15439996735e322741979c4394545a64,5438bd66689a1d50683d9e1740a85c7b81d3624e,b449829a40d30c6a3de0a3cede92062c561d0dd6
5fa7bbfb9be0ba2b9c0b1d434c985daaba887c93,a156a9246badc08990c28fda1b74b6dc4426de23,637ede68793715269928afd0f0b174249b73fb86
2c689fa57253e3940cce0c90aeb41dea25eda155,e34a7596596e71081050fad9fa6ea77f55606930,46e8cb3e49219d01e61279455fdc6778b64cd954
b1759d9e9181b23b5298849c2bb9ee2b0389656a,fb2e262027c88fcd40a1f79cfc70401bdb9919ef,2a8f2f3662e15b66ea1364d057d011e08de8728c
014785833f1cdfae202ceaf2f33b45408ee10849,8c9c1d9798636e75e24410f8d18cd1de9a75e566,2146ca3616be92349bd106477daa15a6b95a17e6
222cad35a9915a39ed2f83e44106b1c35a05976a,470cc8eb1c05f2769aca541105070c4f5031da28,662f069a219cbe2c73d727086623964634800f93
aa2907cffa51957375f70b19a613b72769ae153b,819e2638bb490c73b4f73473238aa5eb239e5e83,65be647bbd03d92d01302af29576a070ca82dec0
705218fef11b511c23a0e5b024555332e4a5988e,2a957e77bf1b7c61414c3f18f41240510f135c37,639f1c476f25339367367195da4c04e7ebccd05f
f976083e7fce1a1b274667ee4ab6a2142321ff99,5631acc401d8f2149e0a8d50732aa5e0ca49d152,47f6af4416d8ef3d46b315a80fcfd9c9f8e5c574
7e4ee79e65eae2721b5b2785a9fd3eda878bd7d6,c239ae9414d743ba417b15abcd3f4b638abdf5a8,d7126bd42cd8a697998355c31feadc86312414f4
e858343c38650d828b410d1a655116ca54cdc981,28154cebd19d30ae4f3f0219cfc3496bcecb0a22,0290f364cc73f8d43bb80de8b94cf942393c8f60
17298086cafacbb5bd61f75d8860441415fbb984,db71a9428ac5ceb25078f792019137fe560f91d1,8fd53df3cd8aff0fb6875649a9d00c9dc5c3fa68
f51a893d1dc17579e99157bc5e8c8b91e9b38825,d1bbfe4cf75aca2bf00ec1cb1df43c5259fac736,a9a85711d51c890f453df4212ae866a911432458
391512546e73c8ac7687b1a6f7db65aa491447b1,0a40d927cb5a9e7ddc2889dcedfa6980c6a7c9a6,b787efb7fd4c1dcc169f3ef38e4aee09d426df3f
b51f3d6e534a178ae60fb26454e49686553620f9,0d41d86dd29e5a5c73692e4acc841013809d55fa,1f00875f8c0c8abbc0ee7d7af98b8282a4556f8f
3135effee3b9b61ccf624547eb4c6f9a22ad99ee,26db93d78cbf7656e49d700b123a33d10b5adea1,8e929b2879b133c1d49f9054d3a9ed5a0c7e1c39
314b8999aa9e96440feefa15167f235a00f61267,aab0884182ec68f679c454fcea27fcdee30df7d5,e147e191ca2aa54fdab540a8076f047a5e36bcac
5ef1ede0a4f4f63e977d0e71103602c25f8ff579,a96a43d0d8933118e0f8d6224dd21747d9316769,b41c8342c859189350928b08def09ccee5318ea5
1e0640c9e99f3c498d3ce4cb726589fac9662093,c2cf21d176a9a6db501940d2cd7931f1c651aa0d,ba9e9305566658b3153f311fc09ce20eca55ab47
ba3de67f3bbe7c6fb7dd93a4c7dca28358ada964,fa4cbc89a5256a5964460afe6a105e1390599a17,c1c201f93c721dda2fca9058649b51ec53df9757
6c6a16a15445cc5cd9343d31f8634eaba9e013e7,af8202be3d829691ed8fde03d521581c8a61820e,96a368fdf94976f59bac41f4da6c222a2833ea16
0ff034216a946c540dfd170fb611834ae9f66bb0,e8fabb752a5bb2506421e911497b1cc0aaaf9969,460369405ecbc3200eeaf38350bf8b2e082fd34f
4836ff29bd6df688f05ed8f1047cb43f54ba7231,79f74bf8cbc84baf1776c08713b3659103d86541,9dd0a1f3b59c01b9901688cb77c93a86e33abc24
759803f2689c544947533e29231cd63e42f6bf9e,2e23e2b0fd526e37e53a5ed07821159fd9a8822f,f99fbafabccaac7dd1cf69debc8c983973c14a1f
1dd914ffc8989cafc9415682a178a900249ca091,b7374401fd1c7390bf675877e56e3b386492fb14,2a0eeb41dfe764055b37f0680eff6977088fa7c7
9753dd964b78619828120f868b6ad78c9679a45d,093e227edb4839157cad181ea1ca84af6ff73132,b9cc9f2e8ae08632866645ac8e885cdc2008188f
301acdf54b9052314eae5ec755bcf23539db46af,b352449eac03cc090900bfa8f06b097b88e80a91,f2d45a0e9d7d46e4d86ccb2b3bb66c610a8cadbb
4141df7fe6b1eabd4727d02d7d025c4a62cc0d64,024ab0a8541406375fe10c9f8668c78667fda1b4,3ec0437d5fddb885c204ed9be2abbacee1b3346b
a49a7763079fc5df0be15ec3fa932015ccbbe69b,2edec13a0f2be3066ae9e6796ea7811b60971a56,702e63e59f821d2dbbdc2ca9ac21ef4846959fdf
7b2bd0b91766036ea7a58a8b5600b10523c5e52d,c2df0f23006ec371479ce58e37e5f1c86878db31,1643fc52106c05039db71882b3762db3240d8069
7eff3adbcb31ad65fa42aa2ea461e569fa947995,14d46bccba450eb00fda58f7be532e5438eebbcd,0df2c867ca2411939925f9c2639742c4ec7a6b72
0750fdf4102f004b0363c871b3acbb9e359158dd,74abe873151caecdd73cb2442631050bee0bb7d3,483837ae5cdf79f77aa935f79598da4c3740caf4
8b71455e3b43235a283b815771ec85060dedfb6e,8ef29235c37f5c8bb054f134b8eac6babd4b825d,7dfefcb1f6cc31063342cd5e5040f758d2b68b0b
1395b2850e61574e905737e4056d22f705664cf0,db9a284d60127aab3bda2820b952df53d4e65665,ba8cddb546484c10b7513ecf36e22e8cc1ba5591
7337515137f87d3ce7e35622250a4d68e2aa37cc,546a679f4e0114246f934e9d638dd84f64fd9d73,107a2e4e854adae9b198c52faf8d461eee253cf9
66e682dfdd0d61ff6ed172e40df4fbaa8d10e0d8,7e8a50452b06928db65533720819a259caa877ef,1ad31dd32d342622dc7b63a28facc251a58ce5e3
8a36e63a56821d703a543085ddd8b5de42cdca68,11b601d44cfbcb80f32c6d83c90e678dbabcf711,832c3d89c83841bbf21cea783064b14c6a5ad6d4
c73c98d995bb251f0d9b504eb638e6f2d7b5deb2,03b147eef8abda8567224e3c91f4c17afef584ec,3c6c403b7b8b289f64fbb909539e6b4c71e75319
2dcb31efcea8273af940376a91f35bf8639bc722,1cbdc9cc9aadd23470954741b89771f417014e35,37f1d085104ede10a8118595679d8fce7db34c94

Clicking a revision will expand files
 


+ Xtensa: register information
Commit consists out of
  • M .gitattributes
  • A compiler/utils/mkxtensareg.pp
  • A compiler/xtensa/rxtensacon.inc
  • A compiler/xtensa/rxtensadwa.inc
  • A compiler/xtensa/rxtensanor.inc
  • A compiler/xtensa/rxtensanum.inc
  • A compiler/xtensa/rxtensarni.inc
  • A compiler/xtensa/rxtensasri.inc
  • A compiler/xtensa/rxtensasta.inc
  • A compiler/xtensa/rxtensastd.inc
  • A compiler/xtensa/rxtensasup.inc
  • A compiler/xtensa/xtensareg.dat


+ Xtensa: lazarus project
Commit consists out of
  • M .gitattributes
  • A compiler/ppcxtensa.lpi


+ Xtensa: initial skeleton completed
+ xtensa-embedded support in the compiler
Commit consists out of
  • M .gitattributes
  • M compiler/fpcdefs.inc
  • M compiler/globals.pas
  • M compiler/options.pas
  • M compiler/pp.pas
  • M compiler/systems.inc
  • M compiler/systems.pas
  • M compiler/systems/i_embed.pas
  • M compiler/systems/t_embed.pas
  • A compiler/xtensa/aasmcpu.pas
  • A compiler/xtensa/agcpugas.pas
  • A compiler/xtensa/aoptcpu.pas
  • A compiler/xtensa/aoptcpub.pas
  • A compiler/xtensa/cgcpu.pas
  • A compiler/xtensa/cpubase.pas
  • A compiler/xtensa/cpuinfo.pas
  • A compiler/xtensa/cpunode.pas
  • A compiler/xtensa/cpupara.pas
  • A compiler/xtensa/cpupi.pas
  • A compiler/xtensa/cputarg.pas
  • A compiler/xtensa/hlcgcpu.pas
  • A compiler/xtensa/itcpugas.pas
  • A compiler/xtensa/racpugas.pas
  • A compiler/xtensa/raxtensa.pas
  • A compiler/xtensa/rgcpu.pas
  • A compiler/xtensa/symcpu.pas
  • A compiler/xtensa/xtensaatt.inc
  • A compiler/xtensa/xtensaop.inc


+ Xtensa: support in the build utilities
Commit consists out of
  • M compiler/entfile.pas
  • M compiler/utils/ppuutils/ppudump.pp
  • M packages/fpmkunit/src/fpmkunit.pp
  • M utils/fpcm/fpcmmain.pp


+ Xtensa: RTL skeleton
Commit consists out of
  • M .gitattributes
  • M rtl/embedded/Makefile
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc
  • A rtl/xtensa/cpuh.inc
  • A rtl/xtensa/makefile.cpu
  • A rtl/xtensa/math.inc
  • A rtl/xtensa/set.inc
  • A rtl/xtensa/setjump.inc
  • A rtl/xtensa/setjumph.inc
  • A rtl/xtensa/xtensa.inc


+ Xtensa: completed rtl skeleton
Commit consists out of
  • M .gitattributes
  • M rtl/embedded/system.cfg
  • M rtl/embedded/system.pp
  • M rtl/inc/systemh.inc
  • A rtl/xtensa/int64p.inc
  • A rtl/xtensa/strings.inc
  • A rtl/xtensa/stringss.inc
  • M rtl/xtensa/xtensa.inc


* Xtensa: completed compiler skeleton
Commit consists out of
  • M .gitattributes
  • M compiler/fpcdefs.inc
  • M compiler/options.pas
  • M compiler/psystem.pas
  • M compiler/systems.inc
  • M compiler/systems.pas
  • M compiler/xtensa/agcpugas.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpunode.pas
  • A compiler/xtensa/ncpuadd.pas
  • A compiler/xtensa/ncpucnv.pas
  • A compiler/xtensa/ncpumat.pas
  • M compiler/xtensa/racpugas.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


+ Xtensa: basic operations for Xtensa implemented
Commit consists out of
  • M .gitattributes
  • M compiler/systems/t_embed.pas
  • M compiler/xtensa/agcpugas.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpubase.pas
  • M compiler/xtensa/cpunode.pas
  • M compiler/xtensa/cpupara.pas
  • M compiler/xtensa/cpupi.pas
  • M compiler/xtensa/hlcgcpu.pas
  • M compiler/xtensa/ncpuadd.pas
  • M compiler/xtensa/ncpucnv.pas
  • A compiler/xtensa/ncpuutil.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


* Xtensa: initial controller types
Commit consists out of
  • M compiler/xtensa/cpuinfo.pas


+ Xtensa: a_loadaddr_ref_reg implemented
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: CALL0 abi started
Commit consists out of
  • M compiler/systems.inc
  • M compiler/systems.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpuinfo.pas
  • M compiler/xtensa/cpupi.pas


cgcpu: Implement a_cmp_reg_reg_label
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


xtensa: Add preliminary support for comparisons
Commit consists out of
  • M compiler/xtensa/aasmcpu.pas
  • M compiler/xtensa/agcpugas.pas
  • M compiler/xtensa/cpubase.pas
  • M compiler/xtensa/ncpuadd.pas
  • M compiler/xtensa/ncpumat.pas
  • M compiler/xtensa/xtensaatt.inc


makefiles: Add support for xtensa-embedded target.
Commit consists out of
  • M .gitattributes
  • M Makefile.fpc
  • M compiler/Makefile.fpc
  • M compiler/utils/fpc.pp
  • M rtl/embedded/Makefile.fpc
  • A rtl/embedded/xtensa/esp8266.pp


+ Xtensa: tcgcpu.a_load_ref_reg
Commit consists out of
  • M compiler/xtensa/agcpugas.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


+ Xtensa: tcgcpu.a_load_reg_ref
Commit consists out of
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


+ Xtensa: tcgcpu.a_op_reg_reg
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


ncpuadd: Fix handling of signs in comparisons
Commit consists out of
  • M compiler/xtensa/ncpuadd.pas


esp8266: Make startup code compile.
Commit consists out of
  • M rtl/embedded/xtensa/esp8266.pp


+ Xtensa: tcgcpu.a_op_const_reg
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: tcgcpu.a_op_const_reg_reg
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: tcgcpu.a_op_const_reg_reg
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: mathu.inc using only the softfloat unit provided mechanisms
Commit consists out of
  • M .gitattributes
  • A rtl/xtensa/mathu.inc


+ Xtensa: make use of ADDI
Commit consists out of
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


+ Xtensa: tcgcpu.g_concatcopy
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: cleanup unused stuff
+ Xtense: updated conditions
Commit consists out of
  • M compiler/xtensa/cpubase.pas
  • M compiler/xtensa/ncpucnv.pas
  • M compiler/xtensa/ncpumat.pas
  • M compiler/xtensa/racpugas.pas


* Xtense: prettify assembler output
Commit consists out of
  • M compiler/xtensa/agcpugas.pas


+ Xtensa: initial tcg64fxtensa.a_op64_reg_reg_reg
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: implemented tcg64fxtensa.a_op64_reg_reg
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: shifting fixed
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


Add immediate/zero comparisons.
Commit consists out of
  • M compiler/xtensa/aasmcpu.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpubase.pas
  • M compiler/xtensa/ncpuadd.pas


+ Xtensa: make use of slli and srli
Commit consists out of
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


xtensa: Add 64bit arithmetic operations.
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: cleanup dummy code
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: tcgcpu.maybeadjustresult
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: initial tcg64fxtensa.a_op64_const_reg_reg, still room for improvements
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: tcg64fxtensa.a_op64_const_reg
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: initial implementation of tcgcpu.g_proc_entry
Commit consists out of
  • M compiler/systems/i_embed.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


+ Xtensa: tcpuinlinenode.second_abs_long
Commit consists out of
  • M .gitattributes
  • M compiler/xtensa/cpunode.pas
  • A compiler/xtensa/ncpuinl.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


* Xtensa: set correct frame pointer register
Commit consists out of
  • M compiler/xtensa/cpupi.pas


* Xtensa: fix load_reg/ref_reg/ref
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: improve tcgcpu.fixref
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: more fixes for load_reg/ref_reg/ref
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: generate long calls
Commit consists out of
  • M compiler/xtensa/agcpugas.pas


+ Xtensa: initial support of the windowed abi
Commit consists out of
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpupara.pas
  • M compiler/xtensa/cpupi.pas


* Xtensa: no scheduler yet but loops can be unrolled
Commit consists out of
  • M compiler/xtensa/cpuinfo.pas


* Xtensa: fix txtensanodeutils.insert_init_final_table for the windowed abi
Commit consists out of
  • M compiler/xtensa/ncpuutil.pas


* Xtensa: parameter passing for the windowed abi
Commit consists out of
  • M compiler/xtensa/cpupara.pas


* Xtensa: improved handling of calling conventions
Commit consists out of
  • M compiler/xtensa/cpupara.pas


* Xtensa: proper code generation for unit initialization
Commit consists out of
  • M compiler/xtensa/ncpuutil.pas


* Xtensa: system_xtensa_embedded is an embedded system
Commit consists out of
  • M compiler/systems.pas


* Xtensa: align literals properly
Commit consists out of
  • M compiler/xtensa/hlcgcpu.pas


+ Xtensa: implemented tcputypeconvnode.second_int_to_bool
Commit consists out of
  • M compiler/xtensa/ncpucnv.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


* Xtensa: fix tcpunotnode.second_boolean
Commit consists out of
  • M compiler/xtensa/ncpumat.pas


+ initial FreeRTOS RTL support, largely based on the Embedded target, limited to Xtensa so far
Commit consists out of
  • M .gitattributes
  • M compiler/ngenutil.pas
  • M compiler/options.pas
  • M compiler/pmodules.pas
  • M compiler/systems.inc
  • M compiler/systems.pas
  • A compiler/systems/i_freertos.pas
  • A compiler/systems/t_freertos.pas
  • M compiler/xtensa/cpuinfo.pas
  • M compiler/xtensa/cputarg.pas
  • A rtl/freertos/Makefile
  • A rtl/freertos/Makefile.fpc
  • A rtl/freertos/check.inc
  • A rtl/freertos/classes.pp
  • A rtl/freertos/consoleio.pp
  • A rtl/freertos/dos.pp
  • A rtl/freertos/heapmgr.pp
  • A rtl/freertos/rtldefs.inc
  • A rtl/freertos/sysdir.inc
  • A rtl/freertos/sysfile.inc
  • A rtl/freertos/sysheap.inc
  • A rtl/freertos/sysos.inc
  • A rtl/freertos/sysosh.inc
  • A rtl/freertos/system.cfg
  • A rtl/freertos/system.pp
  • A rtl/freertos/systhrd.inc
  • A rtl/freertos/sysutils.pp
  • A rtl/freertos/tthread.inc
  • A rtl/freertos/xtensa/esp32.pp
  • M rtl/inc/heaph.inc
  • M rtl/inc/systemh.inc
  • M utils/fpcm/fpcmmain.pp


* Xtensa: fix tcgcpu.a_cmp_reg_reg_label
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: tcgcpu.g_concatcopy fixed: keep registers alive
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: fix TCPUAddNode.second_cmp
Commit consists out of
  • M compiler/xtensa/ncpuadd.pas


* Xtensa: use generic tcpuparamanager.getcgtempparaloc
Commit consists out of
  • M compiler/xtensa/cpupara.pas


* fix ppudump after addition of freertos-xtensa
Commit consists out of
  • M compiler/utils/ppuutils/ppudump.pp


* Xtensa: returning of 32 Bit values fixes
Commit consists out of
  • M compiler/xtensa/cpupara.pas


* Xtensa: shift operations fixed
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* make TLinkerInfo fields ansistrings as xtensa-freertos needs long command lines
Commit consists out of
  • M compiler/link.pas


+ Xtensa: add linklib statements, better _halt procedure
Commit consists out of
  • M rtl/freertos/xtensa/esp32.pp


+ Xtensa: generate all helper files to fpc can successfully compile a single program
Commit consists out of
  • M compiler/systems/t_freertos.pas


* ESP32: set flash size to a resonable value (assumes external flash for now)
Commit consists out of
  • M compiler/xtensa/cpuinfo.pas


* xtensa-freertos: enable softfloat for now
Commit consists out of
  • M compiler/options.pas


* Xtensa: spilling for bigger offsets fixed
Commit consists out of
  • M compiler/xtensa/rgcpu.pas


* Xtensa: reduce stack usage
Commit consists out of
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpupi.pas


* Xtensa: FreeRTOS uses windowed calling convention
Commit consists out of
  • M compiler/systems/i_freertos.pas


+ Xtensa: boolean registers * Xtensa: register numbers of floating point registers corrected
Commit consists out of
  • M compiler/xtensa/rxtensacon.inc
  • M compiler/xtensa/rxtensadwa.inc
  • M compiler/xtensa/rxtensanor.inc
  • M compiler/xtensa/rxtensanum.inc
  • M compiler/xtensa/rxtensarni.inc
  • M compiler/xtensa/rxtensasri.inc
  • M compiler/xtensa/rxtensasta.inc
  • M compiler/xtensa/rxtensastd.inc
  • M compiler/xtensa/rxtensasup.inc
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc
  • M compiler/xtensa/xtensareg.dat


* Xtensa: set fpu type dependending on the controller
Commit consists out of
  • M compiler/options.pas


+ Xtensa: the boolean extension is used as flags
Commit consists out of
  • M compiler/fpcdefs.inc
  • M compiler/ncgcnv.pas
  • M compiler/ncgutil.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpubase.pas


+ Xtensa: hard float support, i.e. make use of floating point extension if available
Commit consists out of
  • M compiler/defutil.pas
  • M compiler/nld.pas
  • M compiler/symdef.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpuinfo.pas
  • M compiler/xtensa/ncpuadd.pas
  • M compiler/xtensa/ncpucnv.pas
  • M compiler/xtensa/ncpumat.pas


* Xtensa: fix passing of floating point parameters
Commit consists out of
  • M compiler/xtensa/cpupara.pas


+ xtensa-linux
Commit consists out of
  • M packages/fpmkunit/src/fpmkunit.pp
  • M utils/fpcm/fpcmmain.pp


* compilation for non-Xtensa targets fixed
Commit consists out of
  • M compiler/defutil.pas
  • M compiler/nadd.pas


* building on non-x86/non-xtensa fixed
Commit consists out of
  • M compiler/symdef.pas


+ xtensa-linux support for the rtl makefile
Commit consists out of
  • M rtl/linux/Makefile
  • M rtl/linux/Makefile.fpc


+ basic xtensa-linux support in the compiler
Commit consists out of
  • M compiler/systems.inc
  • M compiler/systems/i_linux.pas
  • M compiler/systems/t_linux.pas
  • M compiler/xtensa/cputarg.pas


+ xtensa-linux: OS specific system unit header files
Commit consists out of
  • M .gitattributes
  • A rtl/linux/xtensa/sighndh.inc
  • A rtl/linux/xtensa/stat.inc
  • A rtl/linux/xtensa/syscallh.inc


+ more instructions
Commit consists out of
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


+ xtensa-linux added to systems_linux
Commit consists out of
  • M compiler/systems.pas


Fix ppudump after addition of system_xtensa_linux target
Commit consists out of
  • M compiler/utils/ppuutils/ppudump.pp


* improve assembler reader
Commit consists out of
  • M compiler/xtensa/racpugas.pas


+ optimize SUB for small constants using ADDI
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ initial thlcgxtensa.g_intf_wrapper
Commit consists out of
  • M compiler/xtensa/hlcgcpu.pas


+ initial xtensa-linux rtl
Commit consists out of
  • M .gitattributes
  • M compiler/systems.pas
  • M rtl/linux/bunxsysc.inc
  • M rtl/linux/linux.pp
  • M rtl/linux/osdefs.inc
  • M rtl/linux/ossysc.inc
  • M rtl/linux/ostypes.inc
  • M rtl/linux/system.pp
  • M rtl/linux/termios.inc
  • A rtl/linux/xtensa/bsyscall.inc
  • A rtl/linux/xtensa/si_c.inc
  • A rtl/linux/xtensa/si_dll.inc
  • A rtl/linux/xtensa/si_prc.inc
  • A rtl/linux/xtensa/sighnd.inc
  • A rtl/linux/xtensa/syscall.inc
  • A rtl/linux/xtensa/sysnr.inc


* fix taicpu.is_same_reg_move
Commit consists out of
  • M compiler/xtensa/aasmcpu.pas


* Xtensa: fix reg_cgsize
Commit consists out of
  • M compiler/xtensa/cpubase.pas


* Xtensa: properly align maxpushedparasize
Commit consists out of
  • M compiler/xtensa/cpupi.pas


* Xtensa: register numbers fixed
Commit consists out of
  • M compiler/xtensa/rxtensacon.inc
  • M compiler/xtensa/rxtensanum.inc
  • M compiler/xtensa/rxtensarni.inc
  • M compiler/xtensa/rxtensasup.inc
  • M compiler/xtensa/xtensareg.dat


* Xtensa: fixes spilling
Commit consists out of
  • M compiler/xtensa/aasmcpu.pas
  • M compiler/xtensa/rgcpu.pas


* dependencies fixes
Commit consists out of
  • M rtl/freertos/Makefile
  • M rtl/freertos/Makefile.fpc


* Xtensa: fix flag handling: B0 is considered as default flags
Commit consists out of
  • M compiler/hlcgobj.pas
  • M compiler/ncgutil.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpubase.pas
  • M compiler/xtensa/ncpuadd.pas


* Xtensa: fix expectloc of taddnode
Commit consists out of
  • M compiler/xtensa/ncpuadd.pas


* Xtensa: patch by Christo Crause to handle the sign extension architecture option, resolves 0036885
Commit consists out of
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/cpuinfo.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


amicommon: only include exec extensions when complied for v2.0
Commit consists out of
  • M rtl/amicommon/sysos.inc


* Xtensa: dummy overflow checking
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* go through cg to generate jumps, so the right jump is generated always
Commit consists out of
  • M compiler/xtensa/ncpuadd.pas


* use j.l in external wrappers, this is not save yet as A15 might contain
an argument: externals need to be called with call4 if they use all
parameter registers, this needs to be implemented
Commit consists out of
  • M compiler/xtensa/aasmcpu.pas
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


* build more units for FreeRTOS
Commit consists out of
  • M rtl/freertos/Makefile
  • M rtl/freertos/Makefile.fpc
  • M rtl/freertos/system.cfg


* Xtensa: generate better code for adding/subtracting 16 bit constants
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


* Xtensa: handle localsize > 32760
Commit consists out of
  • M compiler/xtensa/cgcpu.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


+ xtensa-embedded: patch by Christo Crause to check and support SUBARCH
Commit consists out of
  • M rtl/embedded/Makefile
  • M rtl/embedded/Makefile.fpc
  • M utils/fpcm/fpcmake.inc
  • M utils/fpcm/fpcmake.ini


* adapted xtensa-freertos to work with the currently stable ESP-IDF 4.0, partially based on a patch by Michael Ring
Commit consists out of
  • M compiler/systems/t_freertos.pas
  • M rtl/freertos/xtensa/esp32.pp


* Xtensa: make use of extui for shifting with constant values >=16
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


Set 'default' target to freertos in rtl/freertos directory
Commit consists out of
  • M rtl/freertos/Makefile
  • M rtl/freertos/Makefile.fpc


* xtensa-freertos requires also SUBARCH being set
Commit consists out of
  • M utils/fpcm/fpcmake.ini


* Xtensa: do SAR by a constant using SRAI
Commit consists out of
  • M compiler/xtensa/cgcpu.pas


+ Xtensa: make use of ADDX*
Commit consists out of
  • M .gitattributes
  • M compiler/xtensa/cpunode.pas
  • A compiler/xtensa/ncpumem.pas
  • M compiler/xtensa/xtensaatt.inc
  • M compiler/xtensa/xtensaop.inc


+ Xtensa: enable jump optimizer
Commit consists out of
  • M compiler/xtensa/aoptcpu.pas


* Xtensa: set source_cpu_string
Commit consists out of
  • M compiler/version.pas


* Xtensa: fpc_setjmp dummy
Commit consists out of
  • M rtl/xtensa/setjump.inc


+ xtensa-linux support for several packages
Commit consists out of
  • M packages/libffi/src/ffi.pp
  • M packages/rtl-extra/src/linux/unixsock.inc
  • M packages/rtl-extra/src/unix/ipc.pp


* simplify xtensa-linux building
Commit consists out of
  • M compiler/systems.pas
  • M compiler/xtensa/agcpugas.pas


+ Xtensa: Sptr
Commit consists out of
  • M rtl/xtensa/xtensa.inc


+ patch by Christo Crause: ESP8266 controller unit for freertos, resolves 0037336
Commit consists out of
  • M .gitattributes
  • A rtl/freertos/xtensa/esp8266.pp


Add -SfPROCESSES for arm cpu, to be able to compile fcl-base package as for xtensa
Commit consists out of
  • M rtl/freertos/system.cfg


- remove local Random() implementations that weren't exported anyway (LongInt <> Integer inside the System unit)
Commit consists out of
  • M rtl/embedded/system.pp
  • M rtl/freertos/system.pp
  • M rtl/gba/system.pp
  • M rtl/nds/system.pp
  • M rtl/wii/system.pp


* Xtensa: patch by Christo Crause: add support for windowed ABI stack dump, resolves 0037583
Commit consists out of
  • M rtl/freertos/consoleio.pp
  • M rtl/freertos/system.pp
  • M rtl/xtensa/xtensa.inc


* StackTop must be OS specific (and not CPU specific)
Commit consists out of
  • M rtl/freertos/system.pp
  • M rtl/xtensa/xtensa.inc


* reduce number of default libs
Commit consists out of
  • M rtl/freertos/xtensa/esp8266.pp


+ initial implementation of setjmp/longjmp
Commit consists out of
  • M rtl/xtensa/setjump.inc
  • M rtl/xtensa/setjumph.inc


* TThread.Terminate does not have any platform specific behavior (it should only set FTerminated to true and call TerminatedSet), thus move it to the platform independant part
Notes:
- Netware had a ThreadSwitch in there, but that is not really required
- some platform were missing the setting of FTerminated to True, thus they'll now do that as well
Commit consists out of
  • M rtl/amicommon/tthread.inc
  • M rtl/atari/tthread.inc
  • M rtl/beos/tthread.inc
  • M rtl/embedded/tthread.inc
  • M rtl/freertos/tthread.inc
  • M rtl/gba/tthread.inc
  • M rtl/go32v2/tthread.inc
  • M rtl/macos/tthread.inc
  • M rtl/msdos/tthread.inc
  • M rtl/nativent/tthread.inc
  • M rtl/nds/tthread.inc
  • M rtl/netware/tthread.inc
  • M rtl/netwlibc/tthread.inc
  • M rtl/objpas/classes/classes.inc
  • M rtl/os2/tthread.inc
  • M rtl/symbian/tthread.inc
  • M rtl/unix/tthread.inc
  • M rtl/wii/tthread.inc
  • M rtl/win/tthread.inc
  • M rtl/win16/tthread.inc


* Xtensa: disable simple random again, committed by accident
Commit consists out of
  • M rtl/inc/systemh.inc


* Xtensa FreeRTOS: unified haltproc
Commit consists out of
  • M rtl/freertos/xtensa/esp32.pp
  • M rtl/freertos/xtensa/esp8266.pp


* compilation fixed
Commit consists out of
  • M rtl/freertos/xtensa/esp32.pp


* Xtensa-FreeRTOS: use setjmp/longjmp provided by the Xtensa libraries, we
have to link against them anyways
Commit consists out of
  • M rtl/xtensa/setjump.inc
  • M rtl/xtensa/setjumph.inc


+ dummy implementation for FreeRTOS threading support
Commit consists out of
  • M rtl/freertos/systhrd.inc


* enable initialization of exceptions and threading on FreeRTOS
Commit consists out of
  • M rtl/freertos/system.pp


Fix problems in xtensa fpc_setjmp/fpc_longjmp for linux
Commit consists out of
  • M rtl/xtensa/setjump.inc