HigherHalf Kernel and inline functions
Posted: Sat May 14, 2005 7:22 am
OK, I've got the HigherHalf Kernel running. But if I try to make a class with inline functions, GRUB reports "selected item cannot fit into memory".
Code: Select all
Memory Configuration
Name Origin Length Attributes
*default* 0x00000000 0xffffffff
Linker script and memory map
0xc0100000 . = 0xc0100000
.text 0xc0100000 0x637 load address 0x00100000
*(.text)
.text 0xc0100000 0x52 ./tmp/kernel/loader.o
0xc010000c _loader
*fill* 0xc0100052 0x2 00
.text 0xc0100054 0x5e3 ./tmp/kernel/kernel.o
0xc010022a CVideoRam::Clear()
0xc0100366 CVideoRamManager::OutputHex(unsigned char)
0xc0100546 CVideoRamManager::OutputChar(unsigned char)
0xc0100466 CVideoRamManager::OutputHex(unsigned long)
0xc01005da CVideoRamManager::OutputPlainChar(unsigned char)
0xc0100114 CVideoRam::SetFormatAt(int, int, unsigned char)
0xc0100054 CVideoRam::SetAt(int, int, unsigned char, unsigned char)
0xc01002e2 CVideoRamManager::CVideoRamManager(unsigned char)
0xc010034c CVideoRamManager::Output(char const*)
0xc01003e0 CVideoRamManager::OutputHex(unsigned short)
0xc0100278 CVideoRamManager::CVideoRamManager(unsigned char)
0xc0100096 CVideoRam::SetSymbolAt(int, int, unsigned char)
0xc0100192 CVideoRam::ScrollDown()
0xc010060a _main
0xc01004de CVideoRamManager::OutputDec(unsigned long)
(THE FOLLOWING FUNCTION IS THE ONE WHICH IS DECLARED INLINE. WHATS WRONG WITH IT???)
.gnu.linkonce.t._ZN16CVideoRamManager6OutputEPKh
0xc0100638 0x3b
.gnu.linkonce.t._ZN16CVideoRamManager6OutputEPKh
0xc0100638 0x3b ./tmp/kernel/kernel.o
0xc0100638 CVideoRamManager::Output(unsigned char const*)
.rodata 0xc0100674 0x10 load address 0x00100674
*(.rodata)
.rodata 0xc0100674 0x10 ./tmp/kernel/kernel.o
.rel.dyn
.data 0xc0101000 0x1000 load address 0x00101000
*(.data)
.data 0xc0101000 0x1000 ./tmp/kernel/loader.o
.bss 0xc0102000 0x4000 load address 0x00102000
0xc0102000 _sbss = .
*(COMMON)
*(.bss)
.bss 0xc0102000 0x4000 ./tmp/kernel/loader.o
0xc0106000 _ebss = .
LOAD ./tmp/kernel/loader.o
LOAD ./tmp/kernel/kernel.o
OUTPUT(./sys/kernel.elf elf32-i386)
.comment 0x00000000 0x31
.comment 0x00000000 0x1f ./tmp/kernel/loader.o
.comment 0x0000001f 0x12 ./tmp/kernel/kernel.o