Commit Graph

15 Commits

Author SHA1 Message Date
MacRsh
2d234791cc feat(<scope>): The synchronization operation of async is disabled by default.
1.The synchronization operation of async is essentially a trick, so it is not enabled by default。
2.Optimize the inter-lock operation. For instance, before operating on a linked list, it is necessary to first determine whether the linked list is in use (during active operation, the probability of not using it is too low, resulting in invalid judgments and prolonging the lock time).
2025-07-06 23:02:21 +08:00
MacRsh
ba4ea2fc34 feat(async):New asynchronous framework.
1.The asynchronous framework relies on workqueue to implement asynchronous operations and, with the help of macro features, can achieve an RTOS-like experience in a bare-metal environment.
2025-07-05 18:36:49 +08:00
MacRsh
aca12b2e7a feat(all): Modify the kernel reference path to mr-X. 2025-06-29 23:41:01 +08:00
MacRsh
96f7c9f70a feat(all): Compress the system kernel.
1.Remove the particularly costly parts such as the path of the object, reduce the system kernel, and support fine-grained kernel cropping. Compatible with low-capacity products.
2.Support low-power mode.
2025-06-05 22:49:26 +08:00
MacRsh
3d8fcd2fdc fix(kobject): Add an empty string ("") check.
1.New parameter checking has been added. Fixed the issue where an empty string ("", that is, only the end character) was passed in. The parameter checking of kobject failed to detect the problem, resulting in data errors.
2025-05-10 22:24:59 +08:00
MacRsh
20a1e71d04 fix(entry,hook,atomic): Optimize warnings under different compilers.
1.Optimize keil entry points.
2.Modify the detection mode of atomic operations.
3.Optimize type conversion warnings.
2025-04-10 00:33:43 +08:00
MacRsh
e819d60745 feat(libc,kref): Optimize internal implementation. 2025-04-01 23:15:18 +08:00
MacRsh
9547c02b82 fix(initcall,kworkqueue): Optimize kernel initialization process, optimize kernel workqueue hook.
1.Kernel initialization abandons the section feature and uses it only for user initialization.
2.The kernel work queue is optimized, and the transfer of the work queue in the threading environment can be completed by obtaining the semaphore in the hook and releasing the semaphore by the wakeup node.
2025-03-13 20:34:08 +08:00
MacRsh
cbe32df329 feat(kworkqueue): Added work queue hook, remove osal.
1.The osal is merged into the module, the core structure is basically intact (except sscanf), and stability testing begins.
2025-03-11 23:21:53 +08:00
MacRsh
cb0e676930 feat(kworkqueue): Added work queue, fixed object lookup error put.
1.Added a work queue that supports instant and delayed start of multithreading (can be used without os, multithreading needs to create its own thread) to improve concurrency.
2.By adding parent2 to save the parent node, fixed an issue where forgetting the parent object changed when looking for an object, resulting in the wrong parent object being put when exiting.
2025-03-10 23:46:05 +08:00
MacRsh
62b92f2b3b fix(kobject): Fixed a lifecycle operation issue with the parent in the kernel object.
1.There is a delay in getting the parent when the kernel object is operating, making it possible to be insecure for some time. Fix this by adjusting the timing of access to the parent.
2025-03-09 23:32:00 +08:00
MacRsh
2c7efd9d5d feat(kobject): Optimize kobject lookup memory.
1.Optimize the short path registration and lookup process for kernel objects using stack memory.
2025-03-08 16:22:21 +08:00
MacRsh
7d477f26ff feat(initcall): Optimize the initialization process. 2025-03-04 22:24:54 +08:00
MacRsh
5b4ae2a4f3 feat(kthread): kernel threads support static creation.
1.Kernel threads are supported by static stack creation, which is not reusable (i.e. secondary initialization) due to the release of threads in different os.
2025-03-03 21:53:19 +08:00
MacRsh
faa71c4026 refactor(kthread): Refactoring kernel threads to remove inlining.
Previous versions of the os memory inline within the kthread, making the adaptation of different os more complicated (because each thread deletion mechanism is different, the inline memory needs to wait until the thread is recycled before release); Kernel threads are now simplified, and the memory of thread objects remains in mr-X, while the memory of threads is managed by the os.
2025-02-28 23:16:29 +08:00