Skip to content

Releases: fontamsoc/pu32

Release pu32.20211226

26 Dec 16:32
Compare
Choose a tag to compare
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

20 Dec 03:00
Compare
Choose a tag to compare
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

05 Dec 22:02
Compare
Choose a tag to compare
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

21 Nov 23:06
Compare
Choose a tag to compare
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

23 Oct 13:47
Compare
Choose a tag to compare
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

16 Oct 14:42
Compare
Choose a tag to compare
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

09 Oct 22:44
Compare
Choose a tag to compare
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

04 Oct 00:00
Compare
Choose a tag to compare
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

01 Sep 02:11
Compare
Choose a tag to compare
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

22 Aug 16:22
Compare
Choose a tag to compare
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()