├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── boot ├── boot.asm ├── grub.cfg ├── linker.ld ├── long_mode_init.asm └── multiboot_header.asm ├── ducknet ├── inc │ ├── ducknet.h │ ├── ducknet_arp.h │ ├── ducknet_ether.h │ ├── ducknet_icmp.h │ ├── ducknet_ipv4.h │ ├── ducknet_phy.h │ ├── ducknet_types.h │ ├── ducknet_udp.h │ └── ducknet_utils.h └── lib │ ├── Makefile │ ├── arp.cpp │ ├── ducknet.cpp │ ├── ducknet_impl.cpp │ ├── ducknet_impl.h │ ├── ether.cpp │ ├── icmp.cpp │ ├── ipv4.cpp │ ├── phy.cpp │ ├── udp.cpp │ └── utils.cpp ├── inc ├── abi.hpp ├── acpi.hpp ├── ctime.hpp ├── dma.hpp ├── duck_cache.hpp ├── duck_server.hpp ├── e1000.hpp ├── elf.hpp ├── framebuffer.hpp ├── i211.hpp ├── judger.hpp ├── lapic.hpp ├── logger.hpp ├── memory.hpp ├── multiboot2.h ├── multiboot2_loader.hpp ├── network_driver.hpp ├── pci.hpp ├── pcireg.h ├── pic.hpp ├── realtek.hpp ├── scheduler.hpp ├── serial.hpp ├── syslog.hpp ├── timer.hpp ├── trap.hpp ├── utils.hpp ├── vga_buffer.hpp └── x86_64.hpp ├── kern ├── Makefile ├── duck64_syscall.S ├── duck64_syscall_handler.cpp ├── duck_cache.cpp ├── duck_server.cpp ├── judger.cpp ├── kern_loader.S ├── kern_main.cpp ├── trap.cpp └── trap_entry.S ├── lib ├── Makefile ├── acpi.cpp ├── ctime.cpp ├── dma.cpp ├── e1000.cpp ├── elf.cpp ├── framebuffer.cpp ├── i211.cpp ├── lapic.cpp ├── logger.cpp ├── memory.cpp ├── multiboot2_loader.cpp ├── network_driver.cpp ├── pci.cpp ├── pic.cpp ├── realtek.cpp ├── scheduler.cpp ├── serial.cpp ├── syslog.cpp ├── timer.cpp ├── utils.cpp └── vga_buffer.cpp ├── user ├── Makefile └── hello.cpp ├── user32 ├── Makefile └── hello32.cpp ├── user_lib ├── Makefile ├── duck64_syscall.S └── duck64_syscall_handler.cpp └── user_lib32 ├── Makefile ├── duck32_syscall.S └── duck32_syscall_handler.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/README.md -------------------------------------------------------------------------------- /boot/boot.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/boot/boot.asm -------------------------------------------------------------------------------- /boot/grub.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/boot/grub.cfg -------------------------------------------------------------------------------- /boot/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/boot/linker.ld -------------------------------------------------------------------------------- /boot/long_mode_init.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/boot/long_mode_init.asm -------------------------------------------------------------------------------- /boot/multiboot_header.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/boot/multiboot_header.asm -------------------------------------------------------------------------------- /ducknet/inc/ducknet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet.h -------------------------------------------------------------------------------- /ducknet/inc/ducknet_arp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet_arp.h -------------------------------------------------------------------------------- /ducknet/inc/ducknet_ether.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet_ether.h -------------------------------------------------------------------------------- /ducknet/inc/ducknet_icmp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet_icmp.h -------------------------------------------------------------------------------- /ducknet/inc/ducknet_ipv4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet_ipv4.h -------------------------------------------------------------------------------- /ducknet/inc/ducknet_phy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet_phy.h -------------------------------------------------------------------------------- /ducknet/inc/ducknet_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet_types.h -------------------------------------------------------------------------------- /ducknet/inc/ducknet_udp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet_udp.h -------------------------------------------------------------------------------- /ducknet/inc/ducknet_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/inc/ducknet_utils.h -------------------------------------------------------------------------------- /ducknet/lib/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/Makefile -------------------------------------------------------------------------------- /ducknet/lib/arp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/arp.cpp -------------------------------------------------------------------------------- /ducknet/lib/ducknet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/ducknet.cpp -------------------------------------------------------------------------------- /ducknet/lib/ducknet_impl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/ducknet_impl.cpp -------------------------------------------------------------------------------- /ducknet/lib/ducknet_impl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/ducknet_impl.h -------------------------------------------------------------------------------- /ducknet/lib/ether.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/ether.cpp -------------------------------------------------------------------------------- /ducknet/lib/icmp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/icmp.cpp -------------------------------------------------------------------------------- /ducknet/lib/ipv4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/ipv4.cpp -------------------------------------------------------------------------------- /ducknet/lib/phy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/phy.cpp -------------------------------------------------------------------------------- /ducknet/lib/udp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/udp.cpp -------------------------------------------------------------------------------- /ducknet/lib/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/ducknet/lib/utils.cpp -------------------------------------------------------------------------------- /inc/abi.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/abi.hpp -------------------------------------------------------------------------------- /inc/acpi.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/acpi.hpp -------------------------------------------------------------------------------- /inc/ctime.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/ctime.hpp -------------------------------------------------------------------------------- /inc/dma.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/dma.hpp -------------------------------------------------------------------------------- /inc/duck_cache.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/duck_cache.hpp -------------------------------------------------------------------------------- /inc/duck_server.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/duck_server.hpp -------------------------------------------------------------------------------- /inc/e1000.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/e1000.hpp -------------------------------------------------------------------------------- /inc/elf.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/elf.hpp -------------------------------------------------------------------------------- /inc/framebuffer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/framebuffer.hpp -------------------------------------------------------------------------------- /inc/i211.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/i211.hpp -------------------------------------------------------------------------------- /inc/judger.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/judger.hpp -------------------------------------------------------------------------------- /inc/lapic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/lapic.hpp -------------------------------------------------------------------------------- /inc/logger.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/logger.hpp -------------------------------------------------------------------------------- /inc/memory.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/memory.hpp -------------------------------------------------------------------------------- /inc/multiboot2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/multiboot2.h -------------------------------------------------------------------------------- /inc/multiboot2_loader.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/multiboot2_loader.hpp -------------------------------------------------------------------------------- /inc/network_driver.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/network_driver.hpp -------------------------------------------------------------------------------- /inc/pci.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/pci.hpp -------------------------------------------------------------------------------- /inc/pcireg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/pcireg.h -------------------------------------------------------------------------------- /inc/pic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/pic.hpp -------------------------------------------------------------------------------- /inc/realtek.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/realtek.hpp -------------------------------------------------------------------------------- /inc/scheduler.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/scheduler.hpp -------------------------------------------------------------------------------- /inc/serial.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/serial.hpp -------------------------------------------------------------------------------- /inc/syslog.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/syslog.hpp -------------------------------------------------------------------------------- /inc/timer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/timer.hpp -------------------------------------------------------------------------------- /inc/trap.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/trap.hpp -------------------------------------------------------------------------------- /inc/utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/utils.hpp -------------------------------------------------------------------------------- /inc/vga_buffer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/vga_buffer.hpp -------------------------------------------------------------------------------- /inc/x86_64.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/inc/x86_64.hpp -------------------------------------------------------------------------------- /kern/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/Makefile -------------------------------------------------------------------------------- /kern/duck64_syscall.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/duck64_syscall.S -------------------------------------------------------------------------------- /kern/duck64_syscall_handler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/duck64_syscall_handler.cpp -------------------------------------------------------------------------------- /kern/duck_cache.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/duck_cache.cpp -------------------------------------------------------------------------------- /kern/duck_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/duck_server.cpp -------------------------------------------------------------------------------- /kern/judger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/judger.cpp -------------------------------------------------------------------------------- /kern/kern_loader.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/kern_loader.S -------------------------------------------------------------------------------- /kern/kern_main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/kern_main.cpp -------------------------------------------------------------------------------- /kern/trap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/trap.cpp -------------------------------------------------------------------------------- /kern/trap_entry.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/kern/trap_entry.S -------------------------------------------------------------------------------- /lib/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/Makefile -------------------------------------------------------------------------------- /lib/acpi.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/acpi.cpp -------------------------------------------------------------------------------- /lib/ctime.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/ctime.cpp -------------------------------------------------------------------------------- /lib/dma.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/dma.cpp -------------------------------------------------------------------------------- /lib/e1000.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/e1000.cpp -------------------------------------------------------------------------------- /lib/elf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/elf.cpp -------------------------------------------------------------------------------- /lib/framebuffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/framebuffer.cpp -------------------------------------------------------------------------------- /lib/i211.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/i211.cpp -------------------------------------------------------------------------------- /lib/lapic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/lapic.cpp -------------------------------------------------------------------------------- /lib/logger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/logger.cpp -------------------------------------------------------------------------------- /lib/memory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/memory.cpp -------------------------------------------------------------------------------- /lib/multiboot2_loader.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/multiboot2_loader.cpp -------------------------------------------------------------------------------- /lib/network_driver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/network_driver.cpp -------------------------------------------------------------------------------- /lib/pci.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/pci.cpp -------------------------------------------------------------------------------- /lib/pic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/pic.cpp -------------------------------------------------------------------------------- /lib/realtek.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/realtek.cpp -------------------------------------------------------------------------------- /lib/scheduler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/scheduler.cpp -------------------------------------------------------------------------------- /lib/serial.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/serial.cpp -------------------------------------------------------------------------------- /lib/syslog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/syslog.cpp -------------------------------------------------------------------------------- /lib/timer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/timer.cpp -------------------------------------------------------------------------------- /lib/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/utils.cpp -------------------------------------------------------------------------------- /lib/vga_buffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/lib/vga_buffer.cpp -------------------------------------------------------------------------------- /user/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user/Makefile -------------------------------------------------------------------------------- /user/hello.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user/hello.cpp -------------------------------------------------------------------------------- /user32/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user32/Makefile -------------------------------------------------------------------------------- /user32/hello32.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user32/hello32.cpp -------------------------------------------------------------------------------- /user_lib/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user_lib/Makefile -------------------------------------------------------------------------------- /user_lib/duck64_syscall.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user_lib/duck64_syscall.S -------------------------------------------------------------------------------- /user_lib/duck64_syscall_handler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user_lib/duck64_syscall_handler.cpp -------------------------------------------------------------------------------- /user_lib32/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user_lib32/Makefile -------------------------------------------------------------------------------- /user_lib32/duck32_syscall.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user_lib32/duck32_syscall.S -------------------------------------------------------------------------------- /user_lib32/duck32_syscall_handler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JudgeDuck/JudgeDuck-OS/HEAD/user_lib32/duck32_syscall_handler.cpp --------------------------------------------------------------------------------