feat(kernel): implement SMP multi-core affinity, ACPI subsystem, hardware RNG (RDRAND), and Ring 3 signal fault isolation

This commit is contained in:
RarDog
2026-09-02 21:23:49 +03:00
parent 99a3730c0d
commit f751c20439
13 changed files with 697 additions and 46 deletions
+34
View File
@@ -24,6 +24,26 @@
#define SYS_PROC_SPAWN 19 /* Dynamically load and run ELF process */
#define SYS_DMA_ALLOC 20 /* Allocate physical DMA buffer */
#define SYS_MOUSE_GET 21 /* Query PS/2 mouse coordinates and buttons */
#define SYS_GETRANDOM 22 /* Hardware RNG: fill buffer with random bytes */
#define SYS_ACPI_INFO 23 /* Query ACPI power and table statistics */
#define SYS_CPU_INFO 24 /* Query multi-core CPU core count and current core ID */
/* POSIX Process Signals */
#define SIGHUP 1
#define SIGINT 2
#define SIGQUIT 3
#define SIGILL 4
#define SIGTRAP 5
#define SIGABRT 6
#define SIGBUS 7
#define SIGFPE 8
#define SIGKILL 9
#define SIGUSR1 10
#define SIGSEGV 11
#define SIGUSR2 12
#define SIGPIPE 13
#define SIGALRM 14
#define SIGTERM 15
#ifndef __ASSEMBLER__
@@ -31,6 +51,20 @@
extern "C" {
#endif
typedef struct acpi_info_data {
uint32_t found;
uint32_t revision;
uint32_t lapic_count;
uint16_t pm1a_cnt;
uint16_t pm1b_cnt;
} acpi_info_data_t;
typedef struct cpu_info_data {
uint32_t cores_online;
uint32_t current_cpu_id;
uint64_t core_ticks[4];
} cpu_info_data_t;
typedef struct mouse_data {
int32_t x;
int32_t y;