Files

244 lines
7.9 KiB
Plaintext
Executable File
Vendored

===============================================================================
= cam_os_wrapper change log =
===============================================================================
v1.0.23 - 2019-12-11
Added
- Support CamOsMemoryBarrier.
v1.0.22 - 2019-12-09
Added
- Support CamOsIdrInitEx for create IDR with maximum entry number.
v1.0.21 - 2019-08-09
Added
- Support CamOsThreadChangePriority.
v1.0.20 - 2019-08-02
Changed
- cam_os_util_list.h enable CAM_OS_HLIST_EMPTY again, it will cause ABICC
check g++ build fail.
v1.0.19 - 2019-08-01
Changed
- Change parameter order of following atomic function for alignment API style
CamOsAtomicAddReturn
CamOsAtomicSubReturn
CamOsAtomicSubAndTest
CamOsAtomicAddNegative
v1.0.18 - 2019-08-01
Added
- CamOsAtomicAndFetch / CamOsAtomicFetchAnd for AND operation.
- CamOsAtomicNandFetch / CamOsAtomicFetchNand for NAND operation.
- CamOsAtomicOrFetch / CamOsAtomicFetchOr for OR operation.
- CamOsAtomicXorFetch / CamOsAtomicFetchXor for XOR operation.
v1.0.17 - 2019-05-16
Enhanced
- CamOsGetTimeOfDay and CamOsSetTimeOfDay support nanosecond field in RTK.
v1.0.16 - 2019-05-10
Fixed
- cam_os_util_list.h cause ABICC check g++ build fail.
v1.0.15 - 2019-05-06
Added
- Add CamOsMemInvalidate for invalidate data in cache.
v1.0.14 - 2019-04-10
Fixed
- CamOsSetTimeOfDay, _TestCamOsSystemTime
Fix coverity issue - "Memory - illegal accesses".
v1.0.13 - 2019-03-05
Added
- CamOsIrq###
Support interrupt handler setup and control.
v1.0.12 - 2019-02-01
Fixed
- CamOsMutex_t and other CamOs### strust may cause alignment exception issue
in Linux.
v1.0.11 - 2019-01-24
Changed
- CamOsGetMonotonicTime sourcing from arch in RTK.
- Update Software Copyright.
v1.0.10 - 2019-01-16
Added
- CamOsMiuPipeFlush
Flush MIU write buffer.
Changed
- CamOsSpinLockIrq and CamOsSpinUnlockIrq are no longer supported.
v1.0.9 - 2018-12-27
Added
- CamOsPrintString
Writes the C string pointed without format to the standard output.
Fixed
- CamOsPrintf
Fix system crash if print more than 256 characters in RTK.
v1.0.8 - 2018-12-20
Added
- In kernel space, redirect atoi and qsort to linux kernel's implement.
Fixed
- In RTK and user space, CamOsAtomicIncReturn AND CamOsAtomicDecReturn will
return the value that before add or sub.
v1.0.7 - 2018-12-11
Added
- CamOsMsDelay / CamOsUsDelay
- CamOsSpin###
Support spinlock synchronization.
Fixed
- Replace __always_inline with FORCE_INLINE to avoid warnings in RTK.
v1.0.6 - 2018-09-13
Added
- CamOsHexdump
Print memory data in hex format.
- CamOsUsSleep
Suspend execution for microsecond intervals.
- CamOsTimeDiff
Returns the difference between two CamOsTimespec_t.
- CamOsMemFlush
Clean and invalidate cache.
- CamOsAtomicCompareAndSwap
An atomic instruction used in multithreading to achieve synchronization.
It compares the contents of a memory location with a given value and, only
if they are the same, modifies the contents of that memory location to a
new given value.
Changed
- CamOsThreadAttrb_t
Add szName field and support set name while thread created.
- CamOsTsemDownInterruptible
Change prototype define, it will return CamOsRet_e now.
- CamOsTcondWaitInterruptible
Change prototype define, it will return CamOsRet_e now.
v1.0.5 - 2017-12-18
Added
- CAM_OS_MAX_INT
- Makefile_Linux_user
Add Makefile for shared library build(make -f Makefile_Linux_user).
Changed
- CamOsTsemInit
In RTK, use MsCreateDynSemExtend to set nVal to current value, and set
init value to (CAM_OS_MAX_INT - 1). Because MsCreateDynSem sets nVal to
current value and init value and current value is larger than init value
will trigger exception.
- CAM_OS_MAX_TIMEOUT
Use u32 max value as CAM_OS_MAX_TIMEOUT
v1.0.4 - 2017-12-06
Changed
- Move offsetof definition to cam_os_util.h and add definition without
size_t to avoid compile error if stddef.h not be included.
Fixed
- In RTK, if timer has stopped, CamOsTimerModify start a new timer and
don't release the old timer.
v1.0.3 - 2017-11-30
Changed
- Integrate all header files into cam_os_wrapper.h. All functions could be
used just include cam_os_wrapper.h.
- CamOsTcond###
Replace wait queue with completion for Linux kernel to simplify control
flow.
v1.0.2 - 2017-11-24
Added
- CAM_OS_LIST_LAST_ENTRY
Support "list last entry" in cam_os_util_list.h
- NO_MDRV_MSYS
Support disable relative functions for msys
(add -DNO_MDRV_MSYS in Makefile)
Changed
- CamOsMemAlloc / CamOsMemCalloc
Use kzalloc when requested size <= 2KB(half of page size), and use vzalloc
when requested size > 2KB to improve memory usage
Fixed
- CamOsThreadSchedule / CamOsThreadWakeUp
Fix schedule and wakeup function in RTK
- CamOsRwsem###
Fix read write semaphore function in RTK
- CamOsTimer###
Fix timer function in RTK
v1.0.1 - 2017-11-20
Added
- CamOsTsemDownInterruptible
Add prototype define in cam_os_wrapper.h
- CamOsListSort
Add symbol to cam_os_export.c
Changed
- Support CamOsPhyMemMap/CamOsPhyMemUnMap in Linux user space
- Mutex can be used without initialization. It will be inited automatically.
- Support CamOsThreadStop/CamOsThreadShouldStop in RTK
- uint8_t/int8_t/uint16_t/int16_t/uint32_t/int32_t/uint64_t
/int64_t. Use u8/s8/u16/s16/u32/s32/u64/s64 to keep portability
- Remove bool(replace with u8) to keep portability
v1.0.0 - 2017-11-03
Added
- CamOsThreadSchedule/CamOsThreadWakeUp
Control thread to idle and wake up.
- CamOsMutexTryLock
Try lock the mutex, and return as non-blocking mode.
- CamOsRwsem###
Support read-write semaphore operation.
- CamOsPhyMemMap/CamOsPhyMemUnMap
Map and unmap physical memory to virtual address.
- CamOsMemCache###
Create a memory cache(memory pool) and allocate with specified size to
ignore internal fragmentation.
- CamOsTimer###
Support timer operation.
- CamOsIdr###
Support data record with IDR data structure. In Linux user space and RTK,
it is implemented with informal IDR(bitmap and array).
- CamOsInInterrupt
Check if current function runs in ISR.
- CamOsSmpMemoryBarrier
Symmetric multiprocessing memory barrier.
- CamOsStrError
Return string describing error number.
- CamOsPanic
Put system into panic.
- CamOsStrtol/CamOsStrtoul/CamOsStrtoull
Convert C string to long, unsigned long, unsigned long long.
- cam_os_util_bug.h
Support error handle function: CAM_OS_BUG, CAM_OS_BUG_ON,
CAM_OS_IS_ERR_VALUE, ...
- cam_os_util_ioctl.h
Support ioctl number function: CAM_OS_IO, CAM_OS_IOW, ...
Changed
- Replace u8/s8/u16/s16/u32/s32/u64/s64 with uint8_t/int8_t/uint16_t/int16_t
uint32_t/int32_t/uint64_t/int64_t.
- CamOsThreadSetName/CamOsThreadGetName
Only support to access name by thread self in uclibc.
v0.1.2 - 2017-10-27
Added
- CamOsTcond###
Condition wait functions, please reference to cam_os_wrapper.h.
- CAM_OS_HASH_###
Hash table operation functions, please reference to cam_os_hash.h.
- CAM_OS_BITMAP_###
Bitmap opration functions, please reference to cam_os_bitmap.h.
- CAM_OS_LIKELY, CAM_OS_UNLIKELY, and CAM_OS_ARRAY_SIZE
Changed
- Use native semaphore of operation system. Original functions comprise
one mutex and one counter(CamOsTsem###).
- Supplement list operation functions, please reference cam_os_list.h.
Removed
- Remove CamOsTsemGetValue and CamOsTsemReset because this two APIs do not
fit general semaphore usage.
v0.1.1 - 2017-10-23
Added
- CamOsSnprintf