serenity/Kernel
Andrew Kaster 233ea7eb1d Kernel: Add bare minimum for global constructors (#707)
Add text.startup to the .text block, add .ctors as well.
Use them in init.cpp to call global constructors after
gtd and idt init. That way any funky constructors should be ok.

Also defines some Itanium C++ ABI methods that probably shouldn't be,
but without them the linker gets very angry.
If the code ever actually tries to use __dso_handle or call
 __cxa_atexit, there's bigger problems with the kernel.

Bit of a hack would be an understatement but hey. It works :)
2019-10-31 19:01:13 +01:00
..
Arch/i386 Kernel: Move Boot/ into Arch/i386/Boot (#667) 2019-10-20 08:15:39 +02:00
Devices Kernel: Fixed fdc read/write problem 2019-10-23 07:46:16 +02:00
FileSystem AK: Allow JsonValue to store 64-bit integers internally 2019-10-29 16:36:50 +01:00
Heap Kernel: Make SlabAllocator fall back to kmalloc() when slabs run out 2019-10-10 11:58:15 +02:00
Net Net: Put a bunch of socket debug logging behind FOO_DEBUG 2019-10-18 16:50:23 +02:00
TTY TTY: Properly implement echo in VirtualConsole. 2019-10-30 14:35:39 +01:00
VM APIC: Enable APIC and start APs 2019-10-16 19:14:02 +02:00
.bochsrc Meta: Make Serenity run on Bochs once again 2019-08-06 21:09:24 +02:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h} 2019-06-07 20:02:01 +02:00
build-gpt-image-grub.sh PartitionTable: Initial GPT Support, Adding Block Limit 2019-10-07 10:11:39 +02:00
build-image-grub.sh Build: Remove grub from default build process 2019-06-04 07:15:44 -07:00
build-image-qemu.sh Build: Fix incorrect user and group settings for disk image (#280) 2019-07-03 16:57:37 +02:00
build-root-filesystem.sh HackStudio: Start working on an IDE for SerenityOS 2019-10-21 18:46:55 +02:00
CMOS.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
CMOS.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
Console.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
Console.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
DoubleBuffer.cpp Revert "Kernel: Make DoubleBuffer use a KBuffer instead of kmalloc()ing" 2019-10-18 15:58:06 +02:00
DoubleBuffer.h Revert "Kernel: Make DoubleBuffer use a KBuffer instead of kmalloc()ing" 2019-10-18 15:58:06 +02:00
FB.h Kernel: Add framebuffer ioctls; wrap raw ioctls with a C API 2019-08-18 07:40:02 +02:00
grub.cfg Kernel: Add serial_debug cmdline parameter 2019-08-11 08:22:42 +02:00
grub_gpt.cfg PartitionTable: Initial GPT Support, Adding Block Limit 2019-10-07 10:11:39 +02:00
init.cpp Kernel: Add bare minimum for global constructors (#707) 2019-10-31 19:01:13 +01:00
install.sh
IO.h Kernel: First cut of a sb16 driver 2019-07-13 08:00:24 +02:00
IRQHandler.cpp Kernel: Move PIC.cpp into Arch/i386/ 2019-07-09 15:04:43 +02:00
IRQHandler.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
KBuffer.h Kernel: Make Region single-owner instead of ref-counted 2019-09-27 14:25:42 +02:00
KBufferBuilder.cpp Kernel: Add KBufferBuilder, similar to StringBuilder but for KBuffer 2019-08-06 20:04:12 +02:00
KBufferBuilder.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
KeyCode.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
KParams.cpp AK: Make HashMap::get(Key) return an Optional<Value>. 2019-07-24 10:25:43 +02:00
KParams.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
kprintf.cpp Kernel: Write logs into dmesg from the start of the boot process 2019-09-09 08:14:00 +02:00
KResult.h Kernel: Align the KResult value storage appropriately. 2019-08-02 19:22:48 +02:00
kstdio.h Kernel: Add serial_debug cmdline parameter 2019-08-11 08:22:42 +02:00
KSyms.cpp ByteBuffer: Remove pointer() in favor of data() 2019-09-30 08:57:01 +02:00
KSyms.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
linker.ld Kernel: Add bare minimum for global constructors (#707) 2019-10-31 19:01:13 +01:00
Lock.cpp AK: Add Atomic.h 2019-10-12 19:30:59 +02:00
Lock.h AK: Add Atomic.h 2019-10-12 19:30:59 +02:00
makeall.sh HackStudio: Start working on an IDE for SerenityOS 2019-10-21 18:46:55 +02:00
Makefile Kernel: Move Boot/ into Arch/i386/Boot (#667) 2019-10-20 08:15:39 +02:00
mkmap.sh
MousePacket.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
Multiboot.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
PCI.cpp Kernel: Hide PCI logs behind a debug flag like other logs 2019-08-14 06:28:53 +02:00
PCI.h Kernel: Add more PCI configuration reading functions 2019-08-14 06:28:53 +02:00
Process.cpp Kernel: Support passing arguments in shebangged scripts 2019-10-28 09:22:00 +01:00
Process.h Kernel: Support passing arguments in shebangged scripts 2019-10-28 09:22:00 +01:00
ProcessTracer.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
ProcessTracer.h Kernel: Move File.{cpp,h} into FileSystem/ 2019-07-09 15:04:45 +02:00
RTC.cpp Kernel: Fix BIOS date/time on hardware 2019-09-28 13:59:49 +02:00
RTC.h
run Kernel: Enabling Text mode debugging (#696) 2019-10-29 16:41:40 +01:00
Scheduler.cpp Kernel: Add exception_code to RegisterDump. 2019-10-07 16:39:47 +02:00
Scheduler.h Kernel: Stop idling after handling an IRQ 2019-09-14 20:21:10 +02:00
SharedBuffer.cpp Kernel: Rename "vmo" to "vmobject" everywhere 2019-09-04 11:27:14 +02:00
SharedBuffer.h Kernel: Rename "vmo" to "vmobject" everywhere 2019-09-04 11:27:14 +02:00
StdLib.cpp AK: Add String::contains(String) 2019-10-28 19:08:48 +01:00
StdLib.h Kernel: Add strncmp() 2019-08-11 16:30:43 +02:00
sync.sh Build: Remove grub from default build process 2019-06-04 07:15:44 -07:00
Syscall.cpp Kernel: Add a Linux-style getrandom syscall 2019-10-13 18:03:21 +02:00
Syscall.h Kernel: Add a Linux-style getrandom syscall 2019-10-13 18:03:21 +02:00
Thread.cpp Kernel: Allow userspace stacks to grow up to 4 MB by default 2019-10-31 13:57:07 +01:00
Thread.h Kernel: Allow userspace stacks to grow up to 4 MB by default 2019-10-31 13:57:07 +01:00
UnixTypes.h Kernel: Add SIOCGIFHWADDR ioctl to get the MAC address of an adapter 2019-10-02 18:20:11 +02:00