Confirmed uppermem in multiboot structure is being read correctly. Changed kernel versioning to be more in line with the Semantic Versioning Specification
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
#ifndef BUILD_NUMBER
|
#ifndef BUILD_NUMBER
|
||||||
#define BUILD_NUMBER "111"
|
#define BUILD_NUMBER "117"
|
||||||
#endif
|
#endif
|
||||||
#ifndef VERSION_STR
|
#ifndef VERSION_STR
|
||||||
#define VERSION_STR "0.0.2.111 - Sat Feb 9 17:10:29 CST 2019"
|
#define VERSION_STR "0.0.2+117 - Sat Feb 9 21:35:00 CST 2019"
|
||||||
#endif
|
#endif
|
||||||
#ifndef VERSION_STR_SHORT
|
#ifndef VERSION_STR_SHORT
|
||||||
#define VERSION_STR_SHORT "0.0.2.111"
|
#define VERSION_STR_SHORT "0.0.2+117"
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
#!sh
|
#!sh
|
||||||
# FILE: make_buildnum.sh
|
# FILE: make_buildnum.sh
|
||||||
#version="`sed 's/^ *//' major_version`"
|
#version="`sed 's/^ *//' major_version`"
|
||||||
version="0.0.2."
|
version="0.0.2+"
|
||||||
old="`sed 's/^ *//' build.number`"
|
old="`sed 's/^ *//' build.number`"
|
||||||
old=$(($old + 1))
|
old=$(($old + 1))
|
||||||
echo $old > build.number
|
echo $old > build.number
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ objects = obj/start.o \
|
|||||||
obj/port.o
|
obj/port.o
|
||||||
|
|
||||||
run:kernel.iso
|
run:kernel.iso
|
||||||
qemu-system-x86_64 -m 64M -cdrom kernel.iso &
|
qemu-system-x86_64 -m 256M -cdrom kernel.iso &
|
||||||
|
|
||||||
obj/%.o: src/%.c
|
obj/%.o: src/%.c
|
||||||
mkdir -p $(@D)
|
mkdir -p $(@D)
|
||||||
@@ -53,4 +53,4 @@ clean:
|
|||||||
|
|
||||||
.PHONY: resetbuild
|
.PHONY: resetbuild
|
||||||
resetbuild:
|
resetbuild:
|
||||||
echo 0 > build.number
|
echo 0 > build.number
|
||||||
|
|||||||
+10
-5
@@ -124,10 +124,12 @@ void outportb (unsigned short _port, unsigned char _data)
|
|||||||
|
|
||||||
extern void main(uint32_t multiboot_magic, const void* multiboot_structure)
|
extern void main(uint32_t multiboot_magic, const void* multiboot_structure)
|
||||||
{
|
{
|
||||||
/* You would add commands after here */
|
|
||||||
init_video();
|
init_video();
|
||||||
if(multiboot_magic == 0x2BADB002)
|
if(multiboot_magic == 0x2BADB002)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
https://www.gnu.org/software/grub/manual/multiboot/multiboot.html
|
||||||
|
*/
|
||||||
puts("Multiboot 1 compliant bootloader detected.\n");
|
puts("Multiboot 1 compliant bootloader detected.\n");
|
||||||
uint32_t* bootloaderName = (uint32_t*)(((size_t)multiboot_structure) + 64);
|
uint32_t* bootloaderName = (uint32_t*)(((size_t)multiboot_structure) + 64);
|
||||||
puts("Bootloader Name: ");
|
puts("Bootloader Name: ");
|
||||||
@@ -136,6 +138,9 @@ extern void main(uint32_t multiboot_magic, const void* multiboot_structure)
|
|||||||
}
|
}
|
||||||
else if (multiboot_magic == 0x36d76289)
|
else if (multiboot_magic == 0x36d76289)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html
|
||||||
|
*/
|
||||||
puts("Multiboot 2 compliant bootloader detected.\n");
|
puts("Multiboot 2 compliant bootloader detected.\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -143,6 +148,7 @@ extern void main(uint32_t multiboot_magic, const void* multiboot_structure)
|
|||||||
puts("Unkown bootloader magic number detected:");
|
puts("Unkown bootloader magic number detected:");
|
||||||
puts(int_to_string(multiboot_magic, 16));
|
puts(int_to_string(multiboot_magic, 16));
|
||||||
puts("\n");
|
puts("\n");
|
||||||
|
//panic();
|
||||||
}
|
}
|
||||||
puts("Bootloader structure appears to be have been loaded at memory address: 0x");
|
puts("Bootloader structure appears to be have been loaded at memory address: 0x");
|
||||||
puts(int_to_string(multiboot_structure, 16));
|
puts(int_to_string(multiboot_structure, 16));
|
||||||
@@ -151,13 +157,12 @@ extern void main(uint32_t multiboot_magic, const void* multiboot_structure)
|
|||||||
puts("Framebuffer address: ");
|
puts("Framebuffer address: ");
|
||||||
puts(int_to_string((*videoBuffer), 16));
|
puts(int_to_string((*videoBuffer), 16));
|
||||||
puts("\n");
|
puts("\n");
|
||||||
|
uint32_t* totalMem = (uint32_t*)(((size_t)multiboot_structure) + 8);
|
||||||
|
puts(int_to_string((*totalMem), 10));
|
||||||
|
puts(" kilobytes of RAM installed on the system\n");
|
||||||
puts("Video initialized.\n");
|
puts("Video initialized.\n");
|
||||||
gdt_install();
|
gdt_install();
|
||||||
puts("Global Descriptor Table initialized.\n");
|
puts("Global Descriptor Table initialized.\n");
|
||||||
|
|
||||||
//uint32_t* memupper = (uint32_t*)(((size_t)multiboot_structure) + 8);
|
|
||||||
//puts(int_to_string(memupper, 16));
|
|
||||||
//size_t heap = 10 * 1024 * 1024;
|
//size_t heap = 10 * 1024 * 1024;
|
||||||
//MemoryManager(heap, (*memupper)*1024 - heap - 10*1024); //second needs to be an address not size
|
//MemoryManager(heap, (*memupper)*1024 - heap - 10*1024); //second needs to be an address not size
|
||||||
//puts("heap: 0x");
|
//puts("heap: 0x");
|
||||||
|
|||||||
Reference in New Issue
Block a user