Releases: fontamsoc/pu32
Releases · fontamsoc/pu32
Release pu32.20211226
Release 20211226 * fontamsoc-hw 98470a8...1da5f75 (1): > bugfixes, new features and improvements use localparam ADDRBY2_* offsets in devtbl.* bugfix instructions getcap getver enhance gettlb to also use HPTW do not zero intialize registers array `ifndef SIMULATION with HPTW enabled, do not walk the page-table when %hptwpgd null nexys4ddr.bit b000ee6c2b9abe7b7d9791bc6c07db6acb7f70a618c16131204eb608aac2ad92 nexysvideo.bit 14a236aba6a4ebb52aae89f045b341f699219e4ef7a71e0e1b9b768b32ea4b03 * fontamsoc-sw f5e093a...c308588 (1): > memtest: remove unecessary redefinition of UARTADDR
Release pu32.20211219
Release 20211219 * buildroot 3b9c280fc4...cfcbef1566 (1): > bugfix patch for devmem atomic read-write support * fontamsoc-hw 77a96f5...98470a8 (1): > new features and improvements gpio device nexysvideo: improve performance use localparam for m_pi1r s_pi1r intctrlsrc intctrldst indexes pu: implement single cycle multiplication pu: implement clk_muldiv_i allowing muldiv to run using a faster clock remove pu32-xula2lx25 nexys4ddr.bit 44d9302e9a5f409897286e893bea42ceec05fc4438abad8eb3256dfeac9b70ed nexysvideo.bit 054788fee75992a9ce1d437f2f31c3bbf8216bc60e5a61a619c5a997ea3865a9 * fontamsoc-sw 1433dab...f5e093a (1): > GPIO device driver * linux 8f4e4332892d...06d990c6b59b (3): > pu32gpio support > improve pu32hdd Makefile > minor __access_ok() change
Release pu32.20211205
Release 20211205 * binutils db7f5cd1cb...a7967874c1 (1): > use __NR_arch_specific_syscall for easier syscall maintenance * fontamsoc-hw 94ca65c...77a96f5 (1): > bugfixes and improvements wb4smem: static memory device with Wishbone4 interface smem: remove USE2CLK usage, as it is complex and slower smem: misc fix when setting CNTRBITSZ pu32-sim: remove pi1_dcache on top of smem to speed-up simulation perint/pi1q: bugfix to prevent lock-up when slave is not ready from a PINOOP perint/pi1q: bugfix signal queueen dma: use its input wait_i nexys4ddr.bit 38aa6a70a96afe6ed41125c16e76ef39dee5933ce1ca30e41763ce307ff2eb35 nexysvideo.bit 0bfe840f012c6664d28aaac3a3e2fe9b39aa7e2bc28a7f52b4fe1c999455289f xula2lx25.bit ae09a8c0a5bcc1684bd80e7bbda067feb8a25b9451e815426027760ed124decf * fontamsoc-sw b067ac4...1433dab (5): > improve uintcpy() u8cpy() uintcmp() > use __NR_arch_specific_syscall for easier syscall maintenance > use DMA irq when loading the kernel > improve retrieval of coreid > misc doc improvement to DMA engine driver * glibc 7cb6498313...97d855ba53 (5): > memmove optimization > memset optimization > custom memset > memcpy optimization > __NR_gettls __NR_settls changes due to Linux now using __NR_arch_specific_syscall * linux ee412bb72b35...77a008841ff5 (7): > bugfix show_reg() show_stack() stacktrace() > memmove optimization > memset optimization > memcpy optimization > custom memset > assume ARCH_IRQ_ENABLED when from userspace > use __NR_arch_specific_syscall for easier syscall maintenance
Release pu32.20211121
Release 20211121 * binutils 4a86d4cf37...56e8e3ab5b (1): > increase BIOS space by 16KB * fontamsoc-hw 9929a05...cc679a2 (1): > bugfixes and improvements pu: fix identifier 'operands' is used before its declaration use ARCHBITSZ without ARCHBITSZIS* use dma dma device pu32-nexysvideo pu32-sim safer fifo bugfix uart_tx_phy adjustment for 16KB BIOS space increase socloader set a sufficiently large %ksl value; PRELDRADDR must not adjust it bugfix pi1r to prevent lock-up when a slave is not ready from a PINOOP bugfix pi1q to correctly set queuenotfull queuenotalmostfull nexys4ddr.bit 33efe32c05300bcb9ad5b5c55661a68b036d778a260fad1c4a6d934363c74a82 nexysvideo.bit 5f8e6c44efb66e976a8ad842df80ef64dc6d5d8d38b7a16f8552aabf8be680ea xula2lx25.bit 78ca6eca07051dabe7e632a23ea979e0be2739a5a5b89df0dbeddda3cd3fb18a * fontamsoc-sw b04f31f...b067ac4 (9): > implement kernel environment "BIOSend" to pass where BIOS ends in memory > enable additional parkpu() setup error messages; remove unnecessary ___ishw declaration > enable ram size check > use DMA engine to load the kernel > DMA engine driver > implement hexdumping of loaded kernel; enabled with macro DO_KERNEL_HEXDUMP > bugfix RAM device lookup > increase BIOS space by 16KB; and double its stack size > loader: set %ksl to a larger value such that PRELDRADDR does not need to * linux 4a12328d9455...c0df9b1e6604 (5): > fix pu32hdd Kconfig help text > pu32hdd: kernel command line argument pu32hdd_usebios to force BIOS use > pu32hdd: prevent /sys/module/pu32hdd/parameters/* invalid values > check for kernel environment "BIOSend" to claim unused BIOS space > increase BIOS space by 16KB
Release pu32.20211023
Release 20211023 * buildroot 8d57fad9cf...41de697bee (2): > match only /etc/profile.d/[a-zA-Z_]*.sh files; allowing to disable a script prepending it with a dot > enable dd third status line * fontamsoc-hw 8770c82...9929a05 (1): > improvements nexys4ddr.bit 81af3b69486e61b59caad617666a23fd87712d306a7b9fbe69c0266675ac8da6 xula2lx25.bit 5c315e918cd9df4d268e599bd163b86e7872e5ce644b17a3b1698d85d411e5d8 * fontamsoc-sw 541787a...b04f31f (5): > bugfix hwdrvblkdev and make use of double-buffering when reading/writing > bugfix hwdrvdevtbl to report correct interrupt index > implement pointer to function hwdrvblkdev_isbsy() called before hwdrvblkdev_isrdy() returns busy (0) > remove BIOS_FD_INTCTRLDEV handling > support for newer hardware interrupt controller implementation * linux 780d438eb0f7...13bf29614972 (3): > pu32hdd direct hardware access support > bugfix hwdrvdevtbl to report correct interrupt index > misc console driver improvements
Release pu32.20211016
Release 20211016 * buildroot 1727223930...00fa7a8cd3 (6): > enable socat > disable debug info for much smaller image size > iproute2 bugfix for netlink receive error Bad address (14) > use standalone iproute2 package; remove unnecessary commands from busybox * fontamsoc-hw 458e335...8770c82 (2): > bugfixes and improvements > improve pu32-nexys4ddr/litedram/litedram.v * glibc 99c9338bfa...d1d211631a (1): > bugfix SYSCALL_CANCEL() INTERNAL_SYSCALL_CANCEL() * linux d9e5b8d07f2c...9bdde46c1810 (3): > enable TUN/TAP > use PREEMPT_ENABLED instead of assuming its value > on pu32PreemptIntr, halt if preemption disabled
Release pu32.20211009
Release 20211009 * binutils 9311979630...423a1ed40f (1): > volatile load/store instructions support * fontamsoc-hw a9374ba...458e335 (1): > new instructions, bugfixes and improvements * fontamsoc-sw afebf35...541787a (1): > make use of volatile load/store * gcc 74e85e400885...94edff3a3b3c (1): > volatile load/store instructions support * glibc 1322ac9eeb...0539eff061 (2): > bugfix atomic_full_barrier(): clobber %sr > bugfix __pu32_syscall*(): clobber %sr * linux c833472a353b...b344b8ebeffa (4): > volatile load/store instructions support > bugfix __futex_atomic_op(): clobber %sr > bugfix cmpxchg(): clobber %sr > bugfix mb(): clobber %sr
Release pu32.20211003
Release 20211003 * binutils bd40a11f14...b0b628d294 (7): > binutils-sim SMP support: bugfixes > binutils-sim SMP support: bugfixes > binutils-sim SMP support: implement IPI (inter-processor interrupt) > binutils-sim SMP support: implement per core intctrlpipe > binutils-sim SMP support: save intrthreadid() corethread() thread IDs and stacks > binutils-sim SMP support: threads creation logics > binutils-sim SMP support: implement option --corecnt * fontamsoc-hw eb59bbc...a9374ba (2): > nexys4ddr performance tuning > icache dcache intctrl improvements and bugfixes * fontamsoc-sw 23a2797...afebf35 (2): > re-implement kernel environment ISHW to ___ISHW passing ksysopfaulthdlr address > in bios.c ksysopfaulthdlr(), remove the need for iskfault * glibc c48621a8ea...af26b42384 (2): > memcpy memmove > atomic_full_barrier() * linux 5de52410dd82...d9143528e49b (28): > with newer interrupt controller, interrupt source must be enabled to be used; and can be disabled > support for newer hardware interrupt controller implementation > improve pu32ctxswitchhdlr() > SMP support: ksysopfaulthdlr for secondary CPUs. Interrupts and IPI bugfixes > use raw_local_irq_* instead of local_irq_* > process.c improvement for code around do_IRQ(irqsrc) > SMP support: Initial implementation > implement custom irq_regs.h instead of using the generic version > PU32_DEBUG disabled by default > select DEBUG_IRQFLAGS if PU32_DEBUG > select PRINTK_CALLER if PU32_DEBUG > select RCU_EQS_DEBUG if PU32_DEBUG > select MEMTEST if PU32_DEBUG > select DEBUG_MEMORY_INIT if PU32_DEBUG > select KMEMLEAK if PU32_DEBUG > select DEBUG_PREEMPT if PU32_DEBUG > select SCHED_STACK_END_CHECK if PU32_DEBUG > select DEBUG_ATOMIC_SLEEP if PU32_DEBUG > deselect un-necessary kernel configs > pu32hdd_ops.getgeo does not need to be set > page table management improvements > console driver bugfix that prevents multiple request_irq() calls > bugfix ptrace.c and rework pu32hang() > further improve memmove() such that it tries harder to use memcpy() or uintcpy2() > further improve memcpy() such that it tries harder to use uintcpy() > improve memcpy memmove > .global not needed for uintcpy u8cpy uintcpy2 u8cpy2 > implement paging_init() later right before pu32ctxswitchhdlr()
Release pu32.20210831
Release 20210831 * binutils 8c492ae8ed...faa6909cf0 (1): > binutils-sim: improvement and bugfix clearing scpustate->dohalt * linux aea48245d2dc...9d59039a0e33 (9): > disable topology.c for now > __NR_PU32_switch_to bugfix; re-enable irq only if preempt enabled > ASID allocation > disable CONTEXT_TRACKING for now > bugfix CONTEXT_TRACKING > disable/enable irq instead of using spinlock ifndef CONFIG_SMP > use array instead of macros *_PER_CPU() > use raw_smp_processor_id() in pu32ctxswitchhdlr() instead of memory access to retrieve coreid > in activate_mm() call switch_mm() with its argument 'struct task_struct *' NULL
Release pu32.20210822
Release 20210822 * binutils 2313deddc8...53c32a09ed (6): > binutils-sim intrthread() polling improvements > only core0 does SIM_CPU_EXCEPTION_*; only core0 is prevented from halting > sim/common/sim-utils.c bugfix > prevent halting if binutils-sim (sim_open_kind == SIM_OPEN_DEBUG) true > binutils-sim sim_core_find_mapping bugfix > improve binutils-sim performing checks and parsing arguments early * buildroot 95dedc948e...c4b45202a2 (1): > devmem atomic read-write support * fontamsoc-sw 7129e91...c1c62c9 (1): > add GPL-2.0-only LICENSE.txt * linux bbc99cc3fd1a...f66124ef7218 (7): > include/asm/spinlock.h: arch_spin_trylock() bugfix > improvement of include/asm/spinlock.h re-implemention that replaces use of cmpxchg() > re-implement include/asm/spinlock.h > align BSS data to L1_CACHE_BYTES > make L1_CACHE_BYTES 128 for safety with native types up to that size > asm/barrier.h support > use memory fencing with set_pmd() and set_pte_at()