Commit Graph

4 Commits

Author SHA1 Message Date
Yann MAGNIN b8abc2eae7 VxKernel 0.6.0-19 : Add DMA driver
@add
<> board/fxcg50/board
  | add DMA module support
<> src/driver/mpu/sh/sh7305/dma
  | add async transfer primitives
  | add DMA memcpy algorithm
  | add DMA memset algorithm
  | add DMA wait primitives

@update
<> vhex/dma
  | [types] change dma_id_t type
  | [interface] add dma_spinwait primitives
<> vhex/driver
  | add DMA flags for driver interface
<> vhex/driver/mpu/sh/sh7305/dma
  | expose kernel-level primitives
  | add internal types definitions
<> src/driver/mpu/sh/sh7305/dma
  | proper channel cache
  | proper channel interrupt handler
  | proper channel error handler
  | proper address translation
  | proper driver installation (context save/restore)
  | proper driver interface exposition

@fix
<> vhex/keyboard/keycode
  | fix typedef again
<> src/dma
  | fix driver exposition
  | fix driver interface link dump
<> src/driver/mpu/sh/sh7305/intc
  | fix generic handler installation
2022-08-17 13:23:28 +02:00
Yann MAGNIN 7e01fb8444 VxKernel 0.6.0-18 : Add Vhex indirect call + prepare DMA driver
@add
<> vhex/defs/call
  | add common `vhex_call_t` which allow indirect call invocation
  | add default helper macros to generate internal struct
  | add default helper macros to involve manually the vhex call
<> vhex/dma
  | add DMA user-level API
  | add DMA user-level types
  | add DNA driver-level interface
<> vhex/driver/mpu/sh/sh7305
  | [dma] add hardware definition
  | [dma] prepare DMA driver definition (WIP)
  | [dma] add DMA driver declaration (WIP)
  | [dma] prepare DMA primitives     (WIP)
<> src/dma
  | wrap the DMA driver
  | expose the DMA user-level API
  | expose the DMA module

@update
<> board/fxcg50/fxcg50.ld
  | expose the two VRAM for the future frame render which use the triple
     buffering. For now, this method add ~347ko in the generated ELF, but it's a
     temporary.
<> driver/mpu/sh/sh7305
  | [intc] rename some kernel-level function
  | [intc] use the new vhex call mechanism instead of timer-specific indirect call
  | [intc] update the generic interrupt handler installation
  | [intc] isolate the generic interrupt handler
  | [rtc] use the new vhex call mechanism instead of rtc-specific indirect call
  | [keysc] use the new vhex call mechanism

@fix
<> src
  | [keyboard] fix key_t type definition
  | [keyboard] fix the driver priority
  | [timer] fix the driver priority
2022-08-11 19:21:02 +02:00
Yann MAGNIN e8e63016d5 VxKernel 0.6.0-17 : Add RTC driver + prepare FS support
@add
<> include/vhex/display/draw/rect
  | add filled rectangle API
<> src/display/draw/drect
  | add filled rectangle drawing API
<> board/fxcg50/
  | add devices special section (WIP)
<> include/vhex/device
  | add device structure (WIP)
<> include/vhex/driver/mpu/sh/sh7305/
  | [intc] add primitive which allow dummy default interrupt handler
  | [rtc]  add complete RTC hardware structure
  | [rtc]  add hardware-level kernel API
<> include/vhex/fs
  | add file system abstraction API (WIP)
  | add Fugue FAT file system abstraction API (WIP)
<> include/vhex/rtc
  | add RTC user-level API
  | add driver-level interface
  | add kernel-level types
<> src/fs
  | add base Fugue abstraction (WIP)
  | add libc functions (WIP)

@update
<> include/vhex/display/draw/text
  | merge halign and valign argument
  | add special alignment flags
<> include/vhex/driver
  | add RTC driver flags
<> include/vhex/driver/mpu/sh/sh7305/cpg
  | rename weird field
  | add Spread Spectrum emulator field
  | properly expand LSTATS register
<> src/driver/mpu/sh/sh7305
  | [intc] allow user-level interrupt handler installation
  | [intc] expose common interrupt handler
  | [rtc] add RTC entire driver
<> src/driver/scree/r61524
  | use complete VRAM instead of fragmented render

@fix
<> src/display
  | [text] fix height for text display geometry
  | [text] fix alignment calculation
  | [dclear] fix geometry support
<> src/driver/mpu/sh/sh7305
  | [cpg] fix driver installation
  | [cpg] fix driver spread spectrum
  | [cpg] fix driver declaration
  | [tmu] fix exception with the profiling primitives
2022-08-08 20:19:00 +02:00
Yann MAGNIN d48e09cb38 VxKernel 0.6.0-14 : Update whole project architecture
@update
<> configure
  | use TOML file format instead of INI for board description
  | block configuration script if it's not involved by the vxSDK
  | comment code and write documentation (WIP)
  | allow kernel module selection
<> Makefile
  | block compilation step if it's not involved by the vxSDK
  | remove the "build/" directory creation
  | moved to the root directory of the project
<> src/modules -> src
  | moved all "kernel modules" in the root directory
  | remove "kernel/" part of the project : now linked to the interrupt controller
<> vxsdk.toml
  | change compilation steps

@fix
<> driver/mpu/sh/sh7305/intc
  | fix TLB interrupt handler freeze
  | link kernel panic (exception/TLB)
<> include/vhex/display
  | add image API by default
2022-06-25 11:26:15 +02:00
Renamed from src/drivers/mpu/sh/sh7305/intc/intc.c (Browse further)