Releases: fontamsoc/pu32
Releases · fontamsoc/pu32
Release pu32.20230428
Release 20230428 * binutils 536b8077d2e...1e06c91efb8 (1): > sim: fix floating point instructions * fontamsoc-hw affe755...2d31932 (47): > litedram updates; use litex(2022.04); liblitedram(309f012d) > pu: rename multipu to cpu > dev/pi1q_to_axi4: improvements and insertion of reg between s_pi1q_rdy_w and cyc > dev/pi1_to_axi4: improvements and insertion of reg between pi1_rdy_o and cyc > dev/pi1b_to_wb4: improvements and insertion of reg between pi1b_rdy_o and wb4_cyc_o > dev/pi1q_to_wb4: improvements and insertion of reg between s_pi1q_rdy_w and wb4_cyc_o > dev/pi1_to_wb4: improvements and insertion of reg between pi1_rdy_o and wb4_cyc_o > lib/perint/pi1q: misc esthetic changes > lib/perint/pi1q: remove usage of lib/ram/dram.v > dev/pi1q_to_axi4: remove initial begin block > dev/pi1b_to_wb4: remove initial begin block > dev/pi1_to_axi4: remove initial begin block > dev/pi1_to_wb4: remove initial begin block > dev/pi1q_to_wb4: remove initial begin block > lib/perint/pi1q: remove initial begin block > dev/pi1_dcache: remove incorrect comment > dev/pi1_dcache: remove initial begin block > dev/pi1_dcache: better logic to generate cachedatibitsel > lib/wb4smem: better logic to generate sel_w > lib/addr: better logic to generate addr_o > pu: remove use of localparam ARCHBITSZMAX > pu: remove use of localparam XARCHBITSZMAX > dev/smem: better logic to generate sel_w > pi1q: remove gray-code logic > perint/pi1w: fix logic setting masteropsaved > perint/pi1r: fix logic setting masteropsaved > pu32-sim: use installed verilator > pu: remove init.pu.v > sdcard: simplify sdcardcsd > rename perint/pi1 to perint/pi1w > simplify bridges logic > pu: fix parameter VERSION > pu: split muldiv into imul and idiv > pu: opfdiv > pu: opfmul > pu: opfaddfsub > pu: misc changes > pu: opmuldiv misc changes > pu32-genesys2: fix xdc file > pu-* adjustments > pu: improve muldiv removing un-necessary start cycle > pu32-sim: defining PUMULDIVCLK must depends on SIMUSECLKDIV > pu32-sim: add CLK4XFREQ when SIMUSECLKDIV defined > pu: sequencer change for subsequent enhancements > pu: remove float from opmuldiv and improve it > pu: name sequencer states orangecrab0225.dfu sha256sum:6a56c503f58bf9c8bbf30494a68ecdbfeaeda895bdc936353d5017bc25452c13 orangecrab0285.dfu sha256sum:19603d05d3f5116950c004a9e53e4afcbb365bf44dea5d6cadb49eb52d649b6f nexys4ddr.bit sha256sum:f64a43cfb4e005c28734644b0706fb3d00f689dc3a3330b319f9b2e58e1c5da9 nexysvideo.bit sha256sum:10e6c53817264df2de4d332005b24ea0fedfa91350f586046c9905a9207cc80d genesys2.bit sha256sum:fe1f80e8317e6d6fe8b70fc383af55537211c50737c006311b69bc5eac7d7cd0 * glibc d83501e287...3b0f54b6ea (1): > define FE_TOWARDZERO FE_DOWNWARD FE_UPWARD
Release pu32.20230213
Release 20230213 * binutils 3958b5eca1d...38ce64c1476 (1): > gas: implement HANDLE_ALIGN() and NOP_OPCODE * buildroot 70a8aea22b...95fdad8c71 (9): > enable tmux > remove pkg-toolchain-external.mk calls to check_glibc() > add pu32-gcc > add pu32-binutils > add pu32-linux-headers > add pu32-glibc > enable coremark > enable dhrystone > enable whetstone * fontamsoc-hw d152b6b...affe755 (36): > update version.v > pu: superscalar-dual-issue > pu: rename _dcachemaster to pi1_upconverter_dcachemaster > pu: `ifdef SIMULATION, $finish on halt > pu: set sysopcode to OPNOTAVAIL if (!instrbufnotempty) > WIP: restore "pu: improve instrbuf[] for faster clk_i" > pu: keep always@() blocks separates > pu: improve comb-logics that use ARCHBITSZ or XARCHBITSZ > pu: revert simplify opsetgpr > pu: rework sequencer > pu: simplify opsetgpr > pu: simplify signals for timer and ext interrupts > pu: parameter VERSION to be used for getver > Revert "reduce signal changes" > pu: bugfix bit-selection used with the instruction buffer > pu: bugfix HPTW > pu: improve load-immediate documentation > pu-* adjustments > pu: simplify icachewe > bugfix localparam ICACHETAGBITSIZE > pu: simplify opld opldst logic > pu: dcache simplified logic > pu32-sim: make clkdiv optional > pu: sequencer: report halt state > pu: sequencer: simplify logic > move where dcache.pu.v gets included > pu: gprctrl: simplify logic > pu: memctrl: simplify logic > rework gpr13val > remove ram1i5o.v include > rework gpr[] > rework gprrdy[] > move where init.pu.v gets included > rename pu/dcache.comb.pu.v -> pu/dcache.pu.v > consolidate memctrl logic > consolidate gprctrl logic orangecrab0225.dfu d2fb00b69f970e6a95fc776842b479aa665353aa9785e2e562c56d0631df9360 orangecrab0285.dfu 67754e7d3845c2558cc3b3a03971b15077f86c1c86f57298a6e155076a276516 nexys4ddr.bit 264693c94c73f200b8c88c7b295dbf40e7410dc10ac8c1ccbe12594426077676 nexysvideo.bit f8b29e2e38d142364e690fb8ffbb6567c3d4355e6472a58cb78981649e988764 genesys2.bit 734ac4ec758aa75bbb07d3c91b63a59949c0a18394b4a47080bf7244fb448549 * gcc 5a661b48bb4a...f92aed906eed (3): > implement automaton-pipeline-description > remove attr cost > adjust LIB_SPEC LINK_SPEC * glibc 4737da3c67...9b1c227914 (2): > Revert "fix handling of init arrays" > improve memcpy() memmove() memset() * linux 8c8545c2469c...b21185c04a19 (5): > always disPreemptIntr > pu32hdd: fix irq > define cpu_relax() same as in other archs > improve memcpy() memmove() memset() > implement linkage.h
Release pu32.20221110
Release 20221110 * buildroot 345bc45749...27ed40372b (3): > Revert "enable expat gmp" > Revert "enable binutils" > remove BR2_ENABLE_DEBUG * glibc 42a9bcbd57...07c660be69 (1): > fix handling of init arrays * linux 7aa1165d56b4...1dfffbb57880 (1): > Revert "remove CONFIG_PREEMPT for speed"
Release pu32.20220920
Release 20220920 * binutils 06af491b5ed...2f203805963 (1): > make %tp always a fixed register * buildroot 5710e107fc...ba72b0f9f3 (1): > use -O3 optimization * fontamsoc-hw 37f28cf...3c7b52f (2): > pu32-sim: disable PUHPTW * gcc f83ff02d6bf2...a6e51512e87a (7): > make %tp always a fixed register > bugfix _Tmovsi _Tmovhi _Tmovqi > enable targetm_common > implement REG_ALLOC_ORDER > remove %{pthread:-D_REENTRANT} from CPP_SPEC > misc machine description improvement > TLS bugfix * glibc 920634d8d8...6538e58a00 (15): > get/set tls from/in %tp instead of using syscall > #define SINGLE_THREAD_BY_GLOBAL 1 > fix PTR_MANGLE() PTR_DEMANGLE() location declaration > ioctl.h bugfix > __clone() bugfix > rework tls support > remove symlink to dl-osinfo.h > remove use of libc-reentrant = yes > crtbegin fixes > revert un-necessary changes > use generic atomic_full_barrier() > crti.S crtn.S misc > use __typeof__ instead of typeof > remove .bss zeroing from _start() > pu32 specific fcntl.h * linux e1ca718163b4...a531a1e73943 (6): > %tp always a fixed register; store tls in user %tp > rename thread_info regs to irq_regs > use -O3 and remove use of PU32_DEBUG_disable_check_copy_size > comment-out -save-temps -fverbose-asm from KBUILD_CFLAGS > use generic barrier.h > set %1 null in start_thread()
Release pu32.20220902
Release 20220902 * binutils 9dc59d73567...a7db387ddd2 (1): > adjust load store volatile instruction naming * fontamsoc-hw 5326ee5...37f28cf (2): > update version.v > adjust load store volatile instruction naming * fontamsoc-sw 3b54260...a10d298 (3): > adjust load store volatile instruction naming > mksocimg use mknod to create loop-device partitions > mksocimg faster creation * gcc acfc980a2eec...d99f3d6fa224 (2): > misc elf.opt change > adjust load store volatile instruction naming * linux 189a18f3f635...6b513f04b5ea (1): > adjust load store volatile instruction naming
Release pu32.20220830
Release 20220830 * binutils a4cddff2bbd...12fbdd0d8ca (1): > specify 'signed' with type 'char' as it might not always be the case * buildroot d7a7eb4841...e61235fbc6 (4): > enable fbv > enable fbset > enable ffmpeg > increase rootfs size to 128M * fontamsoc-hw e91aa06...5326ee5 (70): > performance tuning > fbdev: pu32-genesys2 support > fbdev: pu32-nexysvideo support > fbdev: use fifo near_full_o signal instead of an additional fifo_fwft > fbdev: bugfix blank sync signals; fix names > fbdev: RLE3: report accel > fbdev: RLE2: throttle pixel buffering > fbdev: RLE1: pixel repeat count buffering > fbdev: RLE0: pixel repeat count decoding > fbdev > pi1_dcache: use fifo near_full_o near_empty_o signals > fifo: use gray-code to compute near_full_o near_empty_o signals > fifo: use gray-code to compute full_o empty_o signals > pi1q: use gray-code > pi1q_to_wb4: support multiple masters > dma: deprecate > dma: WIP: implement parameter XARCHBITSZ > keep initial blocks > pu32-nexys4ddr: connect to litedram using pi1q_to_wb4 instead of pi1b_to_wb4 > pu32-nexysvideo: connect to litedram using pi1q_to_wb4 instead of pi1b_to_wb4 > pu32-genesys2: connect to litedram using pi1q_to_wb4 instead of pi1b_to_wb4 > adjust where clocks are declared > xilinx-specific attributes > sdcard_spi: allow sdcard reset only if phy is in error state > pu32-nexys4ddr: remove use of PUDBG > pu32-nexysvideo: remove use of PUDBG > pu32-genesys2: remove use of PUDBG > remove FONTAMSOC_USE_STARTUPE2 > sdcard_spi_phy: bugfix: how spi.sclkdiv_i gets set > intctrl: use pi1b on PerInt ports for better timing > usb_serial: use pi1b on PerInt ports for better timing > uart_hw: use pi1b on PerInt ports for better timing > pwm: use pi1b on PerInt ports for better timing > devtbl: use pi1b on PerInt ports for better timing > pu32-sim: increase WB4SMEM_ARCHBITSZ from 128 to 256 > bootldr: prevent prefetch beyond mapping causing simulation failure > support XARCHBITSZ > ARCHBITSZ > Redesign PerInt MapSz from ADDRBITSZ to ARCHBITSZ > bootldr: support ARCHBITSZ 128 256 > minimal gtkwave saved traces > pu: implement parameter XARCHBITSZ > pu: improve logic within SIMULATION_pc_o > sdcard: implement parameter XARCHBITSZ > sdcard_spi_phy: rename ADDRBITSZ to CMDADDRBITSZ > sdcard_sim_phy: rename ADDRBITSZ to CMDADDRBITSZ > devtbl: implement parameter XARCHBITSZ > lib/addr.v > inst.pi1r.v: bugfix > inst.pi1q.v: bugfix > pi1_downconverter > pi1_upconverter: misc enhancements > pu32-nexys4ddr: support buttons > pu32-nexys4ddr: better gpio naming > PWM (Pulse Width Modulation) device > fix macro puts_hex() used in litedram.c > pi1b_to_wb4: improve naming of signals going through pi1b > multipu: improve naming of signals going through pi1b > sdcard_spi: improve naming of signals going through pi1b > devtbl: make output rst2_o a register > devtbl: misc improvement > devtbl: make pi1_mapsz_o a register > pi1_dcache: implement parameter BUFFERDEPTH > pi1_dcache: bugfix: usesampled > pi1_dcache: remove cachevalids > pi1_dcache: simplify how cachedatabitsels.i1 gets set > pi1_dcache: simplify how cachevalids.i1 gets set > pu32-orangecrab02: fix multipu.CLKFREQ() > pu32-orangecrab02: remove SLEWRATE=FAST from lpf to reduce heat > lib/perint/pi1.v: fix port s_mapsz_o to s_mapsz_i genesys2.bit sha256sum:79bcbca945ba6252bb0f24f5c24a044af6c0efc8edc4f58860b886a881afba65 nexys4ddr.bit sha256sum:62f1a723d58ef77a0a3546b865f590b65b5c3b3c959e0e31e2f7249d01a4e409 nexysvideo.bit sha256sum:0f42a63149f7fb26ba114a67a0c30ce3e332441a44ded4d4fa098da686980dc7 orangecrab0225.dfu sha256sum:52628bdc026fa29d8ce900d3cea4271d21dfaa248934549f3e63b62a39230d2f orangecrab0285.dfu sha256sum:c88c52541a39d9cffca40c00e856f0f5fdc5ef48d8f4f8a85c8b60c4226c971c * fontamsoc-sw 6493676...3b54260 (5): > backup spinlock implementation that was used with Linux > deprecate dma > bios: remove DMA use > bios: prints "kernel loaded" followed by kernel load time in 8bits hex seconds > fix macro puts_hex() * gcc 4c63a0a327d9...54cbd9c1499e (1): > enable libatomic * glibc 395d33f923...c3ae694154 (1): > define FE_UNDERFLOW and FE_OVERFLOW * linux b4d627d5b6a2...0332cbdb8ecb (10): > PU32 FrameBuffer Device Driver > pu32gpio: pr_info() after each device initialization > config FORCE_MAX_ZONEORDER to support large kmalloc() for framebuffer > increase L1_CACHE_SHIFT to match the largest supported hw-cache entry > improve get_mmu_context() > spinlock.h: use generic implementation > spinlock.h: must not sleep > spinlock.h: improve arch_read_lock() > spinlock.h: in arch_read_lock() protect READERCNT with LOCK > spinlock.h: improve comments
Release pu32.20220420
Release 20220420 * fontamsoc-hw 79307dd...e91aa06 (53): > devtbl: SOCID implementation > pi1b_to_wb4 > sdcard_spi: use pi1b instead of pi1q > pu: with multipu, use PI1Q instead of PI1B ifdef PUCOUNT > pu32-genesys2 > pu32-orangecrab > pu: document why parameter MULDIVCNT must be 4 or 8 > pu32-sim: improvements > pu32-xula2lx25: improvements > pu32-nexysvideo: improvements > pu32-nexys4ddr: improvements > lib/perint/pi1r.v: fix port s_mapsz_o to s_mapsz_i > pi1_dcache: implement parameter FETCHALLONMISS > lib/perint/pi1b.v > pi1*_to_*.v: ignore rst_i when setting rdy_o > pu: rework gettlb for faster clk_i > pu: bugfix HPTW > pu: adjust dtlb_rdy dtlbreadenable itlbreadenable signals > pu: improve instrbuf[] for faster clk_i > ram1i5o.v: misc > pu: create signals instrbufwe instrbufi > pu: shorten signal names > use fifo instead of fifo_fwft > pi1_dcache: use fifo instead of fifo_fwft > pu32-nexysvideo: LiteDRAM (2d021c8) Migen (7014bdc) LiteX (75134605) > pu32-nexys4ddr: LiteDRAM (2d021c8) Migen (7014bdc) LiteX (75134605) > litedram: fix wb4_rst_i and wb4_clk_i used by pi1q_to_wb4_wb_ctrl > re-write bootldr as memory-mapped device > misc improvements > pu icache.en usage bugfix > pu bugfix itlben > dev/devtbl.v: use RAMCACHESZ default of 2 > sdcard_spi_phy.v: set keepsdcardcshigh initially 1 > sdcard_spi_phy.v: keep spi_master.rst_i high for (state == RESET) > sdcard_spi_phy.v: set spi_master.read_i always 1 > pu32-nexysvideo: reduce ACTIVITY_CNTR_BITSZ to 1 > pu32-nexysvideo: share gp_o[0] between activity signal and gpio.o[0] > sdcard_spi_phy.v: set state initial value to RESET > use default of 16 for ARCHBITSZ > dev/devtbl.v: make for-loop used to generate pi1_mapsz_o work with yosys > pu32-nexysvideo: reduce RAMCACHEWAYCOUNT to 4 for better LUT usage > pu32-sim: dcacheinit improvements > pu: helpful debug statements > pu32-sim-small: improvements > pu32-sim-small: use plain.rtk > pu32-orangecrab0285-small: improvements > pu32-orangecrab0285-small: use plain.rtk > plain.rtk > pi1_dcache.v: use cenable_i only when m_pi1 operation is not NOOP > pi1_dcache.v: do not check cachevalids when conly_r true > pu32-orangecrab0285-small: remove unused ports > make PI1RMASTERCOUNT depend on last master device index genesys2.bit sha256sum:20f52450d8f9768c6faedbd463696b59fff3c1a7de8c4ffd8d74ff67565a83a7 nexys4ddr.bit sha256sum:3dc4ca2e6eb4f7cd347ddaab263a9bd3cf6cb7079114f9f9e8f4681b19131b7e nexysvideo.bit sha256sum:610f4a8693d7360d024d33aff17bbe14cb9f8a36002c1c24147cb51934e9eec9 orangecrab0225.dfu sha256sum:df8c37a0b7be6080cede0875e1a750c091f4357258697593dced56993591fd9b orangecrab0285.dfu sha256sum:7b372962c94ccaa2663d3b5b1cd0d296b808dd95036f42e131fb0cf399c08d06 * fontamsoc-sw bda14ac...6493676 (11): > improve puts_hex() > memtest pseudo-randomized memory accesses > bitmanip.h > memtest improvements > rewrite hexdump to use <stdio.h> functions > misc changes > remove print/print.h > rewrite bios to use <stdio.h> > rewrite memtest to use <stdio.h> > stdlib.h > stdio.h * linux 6c8d63fd0722...9bf215e82860 (3): > fix DevID 9 name from PDM to PWM > implement GPIO_IOCTL_IOCNT; make sysfs files write-only > call c_setup() only when #ifdef CONFIG_PROC_FS
Release pu32.20220305
Release 20220305 * binutils cb05592401c...b2eeeae0aae (1): > remote debugging rework * buildroot d68a8b6d39...12fb449a53 (4): > package/busybox: prevent init from modifying baudrate > install nanorc > set readline bell-style to none > keep unstripped busybox under ${STAGING_DIR} * fontamsoc-hw 1101109...79307dd (14): > update version.v > make PI1RMASTERCOUNT depend on last master device index > move verilator outside of soc-target folder > pu32-orangecrab0285-small > pu32-sim-small > pu32-sim: re-implement raminit as dcacheinit > rebuild litedram with latest hwdrvchar.h > default multipu.PUCOUNT to 1 > fix `ifndef PUMMU > spi_master.v: use fifo_fwft for transmit buffer > remove USE2CLK > bugfix spi_master ports declaration > dev/gpio.v: 't' must not affect 'i' by default > fix gp_i signal declaration nexys4ddr.bit a7d6b87c6732b8f9746dd82897f5fd876cca187ea272eeea20e19494bfdcac95 nexysvideo.bit d8f6f99798c4d482393dd0ffd2253c0440eae865ba17e94a7de5e8378d257cfe * gcc edc8d58c446e...48c342bc568d (2): > improve insn blockage > implement TARGET_INSN_COST * linux a35c3d068240...4ed16b56e6cf (4): > rename pu32stdout() to pu32printf() > ttyS: use baudrate only if non-null > ttyS: in pu32tty_tty_ops_close() use if (tty->count > 1) > rework gpio driver
Release pu32.20220123
Release 20220123 * fontamsoc-hw 503ccd3...442f1b6 (1): > improvements reduce INVALIDDEVMAPSZ to 4KB remove the need to update PI1RSLAVECOUNT and PI1RDEFAULTSLAVEINDEX when adding/removing a slave device simplify clk_muldiv_i usage nexysvideo: use multipu.clk_i(clk100mhz) and multipu.clk_muldiv_i(clk200mhz) nexys4ddr: use multipu.clk_i(clk100mhz) and multipu.clk_muldiv_i(clk200mhz) rename wire rst to rst_w nexys4ddr.bit sha256sum:697e460df080f53ce890298eb2d3d23390edf60106c021f9de7c80501f7d1057 nexysvideo.bit sha256sum:257b0d1c0e95b42b8579cf8c334788aba589fa5ad61278d5634c12bb7a52a5ee * glibc 13d76512c6...d92db8d2b7 (1): > misc improvement changes * linux 67a9b398592c...6d0a5e0a04c0 (2): > show Reserved instead of Void in /proc/iomem > show BIOS in /proc/iomem if it exist; reserve page holding parkpu() * Binutils upgraded to 2.37
Release pu32.20220117
Release 20220117 * buildroot 9078679140...65a1525fea (5): > enable zlib-ng > enable dhclient command > enable X/Y/Zmodem commands > revert IPROUTE2_BUILD_CMDS change > use -I$(STAGING_DIR)/usr/include in CPPFLAGS * fontamsoc-hw 1da5f75...503ccd3 (2): > bugfixes, new features and improvements instead use the bus interconnect clock wherever relevant simplify naming of pll_*_mhz.v files use multipu.TLBSETCOUNT(128) implement dev/devtbl.v, while making devtbl not target specific misc initialization changes remove vivado/makefile to keep things simple improve mapsz 64bits alignment logic ARCHBITSZ 256 support in pi1*_to_* smem wb4smem pu32-nexysvideo: misc improvements pu32-nexys4ddr: misc improvements pu: bugfix isopgettlb usage before declaration nexys4ddr.bit sha256sum:720a4708379c49ac13d1116e46fce6d545e15192ddb9281036cac5190dca5d0b nexysvideo.bit sha256sum:b872269549f60d9a396375017046bfdf70e4df9897d66dda30dcea693f524d6c > fixes to support SymbiFlow * fontamsoc-sw c308588...07931b3 (1): > enhance hwdrvdevtbl_find() * glibc 3cacd442d3...019a01951c (1): > remove code that set __USE_FORTIFY_LEVEL * linux 9f4213156a88...efc80fc58246 (4): > show TLB size in /proc/cpuinfo > /proc/iomem support > enhance hwdrvdevtbl_find() > rename /sys/module/pu32gpio/parameters/use_* to /sys/module/pu32gpio/parameters/IOCTL_USE_*