Commit graph

  • 4bafdc7f6e remove unused __cu_memmove master mykola2312 2022-06-07 11:04:54 +03:00
  • a0aa466054 fix cu_memcmp on x86_64 mykola2312 2022-06-07 11:00:02 +03:00
  • 17bbc4af49 implement SuperH4 support, building with custom stdlib (libc) mykola2312 2022-06-07 10:23:57 +03:00
  • 011ead1a1c update README.md mykola2312 2022-05-24 23:44:31 +03:00
  • 8e67534001 update test mykola2312 2022-05-24 23:18:36 +03:00
  • 62a3cd2447 fix heap_realloc that it will do aligned resize in mblock_t units mykola2312 2022-05-24 23:15:58 +03:00
  • 0570f9fdd9 add prev and next block checking in heap_free mykola2312 2022-05-24 21:54:00 +03:00
  • dae46bb74d remaster & refactor dynamic memory allocator - heap mykola2312 2022-05-24 21:51:01 +03:00
  • 7ec6ee870c update README.md mykola2312 2022-05-21 16:33:49 +03:00
  • df1f6df916 TODO: rewrite dynamic memory allocator (heap), found critical issues mykola2312 2022-05-21 16:32:11 +03:00
  • 003e51b692 implement va_list for ARMv7 - cu_va_start and cu_va_arg works now based on frame-pointer (r11) for variable arguments, indexed differently than x86 stack ABI does mykola2312 2022-05-21 10:38:35 +03:00
  • 5448323450 make heap working on 32 bit ARMv7 mykola2312 2022-05-21 09:15:47 +03:00
  • 089366af77 implement _cu_memset, cu_memzero & cu_memtest in ARMv7, dynamic struct working now mykola2312 2022-05-21 08:49:49 +03:00
  • 13b40a44d3 implement _cu_memcmp in ARMv7 mykola2312 2022-05-21 07:20:14 +03:00
  • 3cca1f83ce implement _cu_memmove in ARMv7, fix CMake that it will generate all code in ARM or Thumb modes mykola2312 2022-05-21 07:00:00 +03:00
  • cae1f56d5e implement _cu_memcpy in ARMv7, fix assembly alignment and enable hardware endianness byte-swapping mykola2312 2022-05-21 05:41:13 +03:00
  • cbe497ca4d implement hw_bswap16 and hw_bswap23 in ARMv7 mykola2312 2022-05-21 03:51:37 +03:00
  • b4a64b7ee1 make it for A profile, but test assembly for M mykola2312 2022-05-21 03:48:50 +03:00
  • e97770f8f6 implement CMake ARM architecture compile options auto-config mykola2312 2022-05-21 03:09:14 +03:00
  • 1da681acea implement ARMv7 different architecture profiles, for M profile Cortex-M4 - ARMv7E-M. TODO: Fix profile conflicts with cutil and test targets mykola2312 2022-05-21 02:58:08 +03:00
  • e13b19ae51 update README.md mykola2312 2022-05-19 03:29:45 +03:00
  • bc74c09dac implement cu_va_start and cu_va_arg in AArch64 mykola2312 2022-05-19 03:26:54 +03:00
  • c6be4302a7 implement cu_memtest in AArch64 mykola2312 2022-05-19 02:19:22 +03:00
  • dea3141a34 implement cu_memzero in AArch64 mykola2312 2022-05-19 02:03:49 +03:00
  • ea5ab7aa5d implement _cu_memset in AArch64 mykola2312 2022-05-19 01:59:11 +03:00
  • 66ecb9d7e4 implement _cu_memcmp in AArch64 mykola2312 2022-05-19 01:31:33 +03:00
  • 219bfa538d implement _cu_memmove in AArch64 mykola2312 2022-05-19 01:04:20 +03:00
  • a80088be55 implement _cu_memcpy in AArch64 mykola2312 2022-05-19 00:53:44 +03:00
  • 9a9c972e24 implement hw_bswap32 and hw_bswap64 for AArch64 via rev instruction mykola2312 2022-05-18 22:58:29 +03:00
  • 3f84f3e163 implement AArch64 in CMake, prepare for AArch64 mykola2312 2022-05-18 22:52:38 +03:00
  • 53ff61b659 update README.md mykola2312 2022-05-18 06:44:08 +03:00
  • 40864beb12 make cutil use internal dynamic memory allocator if there is no stdlib that provides it mykola2312 2022-05-18 06:40:35 +03:00
  • ebef59e3da implement heap_realloc mykola2312 2022-05-18 06:32:22 +03:00
  • 3f01b5abfd dynamic memory allocator - implement heap_alloc & heap_free, heap_join and heap_split mykola2312 2022-05-18 05:59:23 +03:00
  • be897d4d5a update README.md mykola2312 2022-05-17 05:26:26 +03:00
  • b03cf8ec73 fix code spacings mykola2312 2022-05-17 05:24:11 +03:00
  • b80fe62700 write documentating commentary for cu_sprintf & cu_sscanf in string.h header. test - works fine mykola2312 2022-05-17 05:10:51 +03:00
  • 3591102cd5 fix cu_sprintf cu_va_arg starting index so it does parse right arguments mykola2312 2022-05-17 04:53:55 +03:00
  • fa5aa1446c test cu_sprintf & cu_sscanf mykola2312 2022-05-17 04:45:39 +03:00
  • c7cce44067 implement cu_sprintf & cu_sscanf, also cu_(i/u/x)prints, cu_ato(i/u) mykola2312 2022-05-17 04:35:02 +03:00
  • 261322aaba add redundant includes for stdint.h and stddef.h when compiling with stdlib - necessary for IDE error-checking mykola2312 2022-05-17 02:47:11 +03:00
  • fdae28a2d8 update README.md mykola2312 2022-05-17 02:44:54 +03:00
  • 8573d49455 test new _cu_memcmp and string functions mykola2312 2022-05-17 02:41:27 +03:00
  • 752d263d9c implement std functions for string processing & text converting multi-byte (UTF-8) character set to double-byte character set and vise-versa mykola2312 2022-05-17 02:36:16 +03:00
  • 371c4bb518 implement _cu_memcmp and cu_memcmp function-holder mykola2312 2022-05-17 02:32:37 +03:00
  • a07e2d6f01 update ifndef-define statements in every header with CUTIL_ prefix that already included files with matching defines will not collide mykola2312 2022-05-17 02:14:28 +03:00
  • f744ec0f35 make cutil work without stdlib via CMake option NOSTDLIB=ON, using internal implementations mykola2312 2022-05-17 01:57:18 +03:00
  • c11dd9aede update README.md mykola2312 2022-05-15 23:14:41 +03:00
  • 6864acb832 implement va_list - variable arguments mykola2312 2022-05-15 23:13:42 +03:00
  • 9eafc640fd fix _cu_memmove in assembly, now it's byte-by-byte moving mykola2312 2022-05-15 22:23:48 +03:00
  • 4dc9fe3a55 try assembly memmove, doesn't work because granularity of move mykola2312 2022-05-15 21:19:38 +03:00
  • bdc6bd6b20 define and replace integer types independent from stdlib mykola2312 2022-05-11 23:44:32 +03:00
  • 6d2d8d0a0d implement _cu_memmove - memory moving without buffer mykola2312 2022-05-11 20:44:24 +03:00
  • eb6f5cb7c5 fix cu_memtest so it will byte-align test if size less than word mykola2312 2022-05-11 19:56:20 +03:00
  • 9629e3630a update README.md mykola2312 2022-05-11 19:54:00 +03:00
  • 3229779aff implement x86-64 assembly-optimized functions _cu_memcpy, _cu_memset, cu_memzero mykola2312 2022-05-11 19:51:24 +03:00
  • f2a1dddbca implement cu_memtest in x86-64 assembly in more efficient way that C does mykola2312 2022-05-11 19:18:45 +03:00
  • 0b610097b4 add achitecture-dependent assembly to build, implement hardware byte-swapping mykola2312 2022-05-11 18:48:46 +03:00
  • 579f9281e0 update README.md with new functionality description mykola2312 2022-05-03 09:10:58 +03:00
  • e59744e300 implement zero-terminated arrays, which are terminated by zeroed item (cu_memtest with item size) mykola2312 2022-05-03 09:07:00 +03:00
  • 0067951bdf implement cu_memtest for cheacking if memory is zeroed mykola2312 2022-05-03 08:56:47 +03:00
  • 3c0de35e2c test struct & value functionality, implement struct_size mykola2312 2022-05-03 08:18:27 +03:00
  • 1619e3234e fix value_offset mykola2312 2022-05-03 07:59:34 +03:00
  • 900341c5b7 struct & value 5 mykola2312 2022-05-03 07:55:36 +03:00
  • 9fb3337d59 change value_get name mykola2312 2022-05-03 07:46:41 +03:00
  • 723ceb272d value 5: implement value_size, value_array_size, value_offset and value_get mykola2312 2022-05-03 07:45:35 +03:00
  • 99daecee2e struct & value 4 mykola2312 2022-05-03 07:38:26 +03:00
  • f2b04e7514 struct 3 mykola2312 2022-05-03 07:18:21 +03:00
  • de923a2a0d struct 2 mykola2312 2022-05-03 03:29:55 +03:00
  • a02e91bfa3 define macros for struct members declaration mykola2312 2022-05-03 02:55:38 +03:00
  • 1418709bdf struct 1 mykola2312 2022-05-03 01:13:03 +03:00
  • c3b659dce8 implement functions to convert from host byte-order to little-endian or big-endian, convert to network order which defined as CU_NETWORK_ORDER. mykola2312 2022-04-29 08:07:37 +03:00
  • 5432d8f889 redefine architecture list as macro so therefore it can be used in preprocessor expressions. implement hardware byte-swapping, detect compile-time hardware capabilties to do that. mykola2312 2022-04-29 06:36:01 +03:00
  • 20e7489866 optimize software byte-swapping mykola2312 2022-04-29 05:51:17 +03:00
  • 30f3fd04df implement software endianness byte-swapping mykola2312 2022-04-29 04:48:48 +03:00
  • 4753e013aa endian 2 mykola2312 2022-04-29 04:28:20 +03:00
  • 26ecd558f7 remove deprecated endianness mykola2312 2022-04-29 04:25:55 +03:00
  • 50c17f33d9 implement endiannes run-time detection mykola2312 2022-04-28 18:26:15 +03:00
  • deec226221 implement compile-time architecture detection, bus width detection mykola2312 2022-04-28 17:34:07 +03:00
  • d3aaf3c89f cutil_arch add ARMv7E-M mykola2312 2022-04-20 17:15:04 +03:00
  • 5b31769141 cutil_init, cutil_exit, cutil_arch mykola2312 2022-04-20 16:22:10 +03:00
  • ad1effd40e Add README.md mykola2312 2022-04-20 16:00:04 +03:00
  • e69b5fba50 bitmap_test mykola2312 2022-04-20 15:52:31 +03:00
  • 0820443a7d bitmap 2: bit_set, bit_get, bit_test, bit_sub2_up, bitmap, bitmap_set, bitmap_get mykola2312 2022-04-20 15:50:29 +03:00
  • a3da87ad75 bitmap 1 mykola2312 2022-04-19 23:39:51 +03:00
  • ab3ae686bb array_insert, array_remove mykola2312 2022-04-18 21:11:09 +03:00
  • bda7315a22 array 5 + tests mykola2312 2022-04-17 21:31:08 +03:00
  • 311f00b374 cutil redirect std functions to cu_ holders, array 4 mykola2312 2022-04-17 21:04:53 +03:00
  • a19e5460c4 array 3 mykola2312 2022-04-17 20:45:42 +03:00
  • 6089de7e4b array 2 mykola2312 2022-04-17 20:43:47 +03:00
  • 688a343a92 array mykola2312 2022-04-17 16:19:49 +03:00
  • c2aa8c3619 spacings mykola2312 2022-04-16 17:01:33 +03:00
  • a2bfa2361d list_at mykola2312 2022-04-16 16:44:10 +03:00
  • 21132d5c2c initial commit mykola2312 2022-04-16 16:22:31 +03:00