Anonymous user
Limine Bare Bones: Difference between revisions
Jump to navigation
Jump to search
no edit summary
[unchecked revision] | [unchecked revision] |
No edit summary |
|||
Line 15:
===Overview===
For this example, we will create these 2 files and place them in the same directory:
*
* linker.ld
As one may notice, there is no "entry point" assembly stub, as one is not necessary with the Limine protocol when using a language which can make use of a standard SysV x86 [[Calling Conventions|calling convention]].
Furthermore, we will download the header file '''limine.h''' which defines structures and constants that we will use to interact with the bootloader from [https://raw.githubusercontent.com/limine-bootloader/limine/trunk/limine.h here], and place it in
Obviously, this is just a bare bones example, and one should always refer to the [https://github.com/limine-bootloader/limine/blob/trunk/PROTOCOL.md Limine protocol specification] for more details and information.
===
This is the kernel "main".
Line 213:
# Use find to glob all *.c, *.S, and *.asm files in the directory and extract the object names.
override CFILES := $(shell find
override ASFILES := $(shell find
override NASMFILES := $(shell find
override OBJ := $(CFILES:.c=.o) $(ASFILES:.S=.o) $(NASMFILES:.asm=.o)
override HEADER_DEPS := $(CFILES:.c=.d) $(ASFILES:.S=.d)
|