Commit Graph

4 Commits

Author SHA1 Message Date
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 7aada07d23 VxKernel 0.6.0-7 : First version of the timer API + update INTC API
@add
<> include/vhex/driver/mpu/sh/sh7305/intc
  | add interruption priority primitives
  | add all interruption configuration available
<> src/driver/mpu/sh/sh7305/intc
  | remove the install.c source file (merge its content in driver definition)
  | add proper priority primitive
  | add priority information

@update
<> include/vhex/timer
  | force TIMER_CONTINUE at 0
  | force TIMER_STOP at 1
<> src/driver/mpu/sh/sh7305/keysc
  | use the new interrupt priority primitives

@fix
<> src/driver/mpu/sh/sh7305/tmu
  | fix interrupt handler assembly crash for ETMUx
  | fix timer ID check security
  | fix timer available check
  | fix ETMUx interrupt handlers installation runtime patch
  | add timer interrupt level (enable interrupt)
<> src/modules/display/text/dtext
  | fix string cache reallocation
<> src/module/timer
  | fix driver flag check
  | fix module definition
2022-06-14 21:56:06 +02:00
Yann MAGNIN cb4af4f7bb VxKernel 0.6.0-5 : Clock driver + TMU/ETMU driver (WIP) + timer API
@add
<> include/vhex/driver/mpu/sh/sh7305/cpg
  | add hardware description
  | add kernel-level API to fetch clocks information
<> include/vhex/driver/mpu/sh/sh7305/tmu
  | add hardware description
<> include/vhex/timer
  | add timer API
  | add timer callback definition
  | add timer types information
<> src/drivers/mpu/sh/sh7305/cpg
  | add CPG driver declaration
  | add CPG driver kernel-API
  | prepare "real" driver installation hook
<> src/drivers/mpu/sh/sh7305/cpu/sleep
  | add CPU sleep primitives
<> src/drivers/mpu/sh/sh7305/intc/inth_callback
  | add special interrupt handler callback manager
<> src/drivers/mpu/sh/sh7305/tmu
  | add TMU interrupt handlers
  | add ETMU interrupt handlers
  | add TMU/ETMU driver-level API code
<> src/modules/timer
  | add timer API code (simply a binding to the TMU/ETMU driver)

@update
<> include/vhex/driver
  | add TIMER flags information
<> include/vhex/driver/cpu
  | add sleep primitive
<> include/vhex/driver/mpu/sh/sh7305/intc
  | return the address where the handle has been installed
<> src/driver/screen/r61524
  | perform the "sprite" VRAM merging before sending all pixel on screen

@fix
<> include/vhex/hardware
  | add workaround to allow this header to be included in ASM source file (.S)
<> src/modules/display/text/dfont
  | fix line discipline with \n
  | fix string size when a bad character is detected
2022-06-13 21:15:36 +02:00
Yann MAGNIN a916120d66 VxKernel 0.6.0-1 : Rework the graphic pipeline
@add
<> board/fxcg50/fxcg50-dynamic.ld : add the "user/addin" linker script
<> include/vhex/display* : rework the graphic API/pipeline
<> include/vhex/driver/scree/r61524 : add hardware description and API
<> drivers/screen/r61524 : add r61524 driver
<> module/display/dstack : new pipeline

@update
<> board/fxcg50/board : explicitly set the DWIDTH/DHEIGHT define
<> board/fxcg50/hypervisor : API update (WIP)
<> include/vhex/driver :
   | update driver information (use bitfield instead of define and macros)
   | configure driver's primitive cannot be NULL
   | driver can embed module data (ex: r61524 embed display module primitives)
<> include/vhex/hypervisor :
   | update driver information (use bitfield instead of define and macros)
   | update world information (use bitfield instead of define and macros)
   | remove useless "restricted" keyword in prototype
<> make/Makefile : add the support of the vxSDK (0.12.0)
<> module/display/dclear  : support of the new pipeline
<> module/display/display : support of the new pipeline
<> module/display/dupdate : support of the new pipeline
<> module/hypervisor/switch : support new driver/world structure
<> module/hypervisor/table  : support new driver/world structure
<> vxsdk.toml : support of the vxSDK 0.12.0

@fix
<> drivers/mpu/sh/sh7305/cpu/cpu : mask interrupt by default (cpu_atomic_end)
2022-05-27 11:57:55 +02:00
Renamed from include/vhex/drivers/mpu/sh/sh7305/intc.h (Browse further)