Move StartupInformation struct to its own file
This commit is contained in:
parent
35997c61b6
commit
ef15019757
4 changed files with 71 additions and 14 deletions
|
@ -12,26 +12,13 @@
|
|||
#include "Attributes.hh"
|
||||
#include "Console.hh"
|
||||
#include "Multiboot.hh"
|
||||
#include "StartupInformation.hh"
|
||||
#include "kstd/Types.hh"
|
||||
#include "memory/Memory.hh"
|
||||
|
||||
|
||||
namespace kernel {
|
||||
|
||||
/** Collection of useful tidbits for setting up the system. */
|
||||
struct StartupInformation
|
||||
{
|
||||
/** Starting address of the kernel. */
|
||||
u32 kernelStart;
|
||||
/** Ending address (the first address *after* the last) of the kernel. */
|
||||
u32 kernelEnd;
|
||||
/** Multiboot's magic value. This should be verified. */
|
||||
u32 multibootMagic;
|
||||
/** Pointer to the multiboot information struct. */
|
||||
multiboot::Information* multibootInformation;
|
||||
};
|
||||
|
||||
|
||||
/** The kernel itself. */
|
||||
struct Kernel
|
||||
{
|
||||
|
|
|
@ -15,6 +15,7 @@ files = [
|
|||
'Interrupts.cc',
|
||||
'Kernel.cc',
|
||||
'Multiboot.cc',
|
||||
'StartupInformation.cc',
|
||||
'PIC.cc',
|
||||
'cxa.cc',
|
||||
'isr.S',
|
||||
|
|
24
src/StartupInformation.cc
Normal file
24
src/StartupInformation.cc
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* StartupInformation.cc
|
||||
* vim: set tw=80:
|
||||
* Eryn Wells <eryn@erynwells.me>
|
||||
*/
|
||||
/**
|
||||
* Definition of the StartupInformation struct.
|
||||
*/
|
||||
|
||||
#include "StartupInformation.hh"
|
||||
|
||||
namespace kernel {
|
||||
|
||||
/*
|
||||
* Public
|
||||
*/
|
||||
|
||||
u32
|
||||
StartupInformation::kernelSize()
|
||||
const
|
||||
{
|
||||
return kernelEnd - kernelStart;
|
||||
}
|
||||
|
||||
} /* namespace kernel */
|
45
src/StartupInformation.hh
Normal file
45
src/StartupInformation.hh
Normal file
|
@ -0,0 +1,45 @@
|
|||
/* StartupInformation.hh
|
||||
* vim: set tw=80:
|
||||
* Eryn Wells <eryn@erynwells.me>
|
||||
*/
|
||||
/**
|
||||
* Declaration of the StartupInformation struct.
|
||||
*/
|
||||
|
||||
#ifndef __STARTUPINFORMATION_HH__
|
||||
#define __STARTUPINFORMATION_HH__
|
||||
|
||||
#include "Multiboot.hh"
|
||||
#include "kstd/Types.hh"
|
||||
|
||||
|
||||
namespace kernel {
|
||||
|
||||
/** Collection of useful tidbits for setting up the system. */
|
||||
struct StartupInformation
|
||||
{
|
||||
/** Starting address of the kernel. 4K aligned. */
|
||||
u32 kernelStart;
|
||||
/** Ending address (the first valid address *after* the last) of the kernel. 4K aligned. */
|
||||
u32 kernelEnd;
|
||||
|
||||
/**
|
||||
* @defgroup Memory
|
||||
* @{
|
||||
*/
|
||||
/** System page size in bytes. */
|
||||
u32 pageSize;
|
||||
/** @} */
|
||||
|
||||
/** Multiboot's magic value. This should be verified. */
|
||||
u32 multibootMagic;
|
||||
/** Pointer to the multiboot information struct. */
|
||||
multiboot::Information* multibootInformation;
|
||||
|
||||
/** Size of the kernel image in bytes. */
|
||||
u32 kernelSize() const;
|
||||
};
|
||||
|
||||
} /* namespace kernel */
|
||||
|
||||
#endif /* __STARTUPINFORMATION_HH__ */
|
Loading…
Add table
Add a link
Reference in a new issue