Talk:Higher Half x86 Bare Bones

From OSDev Wiki
Jump to: navigation, search

Where did this C kernel tutorial which I am seeing missing in several pages go to? --Frank 22:20, 1 July 2007 (CDT)

I think it refers to the "C kernel bare bones tutorial", which has been renamed a few times - Combuster 09:25, 2 July 2007 (CDT)
Yes, that is what the links should be. That was messy editing on my part. Sorry. -Jhawthorn 14:40, 2 July 2007 (CDT)

Intrepid Ibex repositories have the 2.03 which is ok for this. Can someone check the hardy repos please? <- Someone posted in the middle of the article Oros


According to http://forum.osdev.org/viewtopic.php?p=243327#p243327, you do not need to substract KERNEL_VIRTUAL_BASE from _loader . I deleted the _loader symbol, used only loader, and it works fine for me

Disputing

There are two obvious issues with this article. First, I needed to use ENTRY(_loader) and not ENTRY(loader), that is I needed to use the virtual entry address. Attempting to do otherwise resulted in the GRUB error described in the page. Second, it is not guaranteed that GRUB will put the multiboot structure in the lower 4 MiB.

After these, I can see no mention about mapping only the kernel (and not the whole lower 4 MiB), setting permissions to .text, .data, .rodata, .bss, etc, or setting the WP bit.

Glauxosdever 13:55, 3 June 2016 (CDT)

NASM style is conflicting with the original Bare Bones tutorial

This 'tutorial' references the Bare Bones section, but is not compatible because it is using NASM style assembly, while the original Bare Bones is using GAS/AT&T style assembly. I propose that the assembly code on this page is rewritten to be compatible with the original Bare Bones tutorial. Of course, there are a few issues with the code that need to be fixed first (see above).

Basdp 04:12, 25 August 2016 (CDT)


There is a new tutorial being prepared in order to replace this.

Glauxosdever 05:08, 25 August 2016 (CDT)

Video memory offset

Using kernel.c from the Bare Bones tutorial will fault when it reaches the terminal_writestring() call because the tutorial's terminal driver does not account for the higher-half offset. I added a small point to the end of the tutorial to accommodate this. Sigtau 00:50, 2 October 2016 (CDT)

Personal tools
Namespaces
Variants
Actions
Navigation
About
Toolbox