Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals   Related Pages  

kernel_map.h

Go to the documentation of this file.
00001 /*!     \file include/kernel/kernel_map.h
00002  *      \brief The memory map of the kernel.
00003  *      \author Andrea Righi <drizzt@inwind.it>
00004  *      \date Last update: 2003-11-05
00005  *      \note Copyright (&copy;) 2003 Andrea Righi
00006  */
00007 
00008 #ifndef KERNEL_MAP_H
00009 #define KERNEL_MAP_H
00010 
00011 // --- Physical address space ----------------------------------------- //
00012 
00013 //! Physiscal address of the kernel (don't touch!!!).
00014 #define K_PHYS_ADDR     0x100000
00015 //! Kernel Page Directory (don't touch!!!).
00016 #define K_PDE           0x1000
00017 //! Kernel Page Table for virtual space (don't touch!!!).
00018 #define K_PTE           0x2000
00019 
00020 //! DMA memory area start address (don't touch!!!).
00021 #define DMA_MEMORY_START        0x3000
00022 //! DMA memory area end address (don't touch!!!).
00023 #define DMA_MEMORY_END          0x01000000
00024 
00025 // --- V86-required address space ------------------------------------- //
00026 
00027 //! BIOS Interrupt Vector Table (IVT) start address.
00028 #define BIOS_IVT_START          0x00000000
00029 //! BIOS Interrupt Vector Table (IVT) end address.
00030 #define BIOS_IVT_END            0x00001000
00031 
00032 //! Video Buffer area start address.
00033 #define VIDEO_BUF_START         0x000A0000
00034 //! Video Buffer area end address.
00035 #define VIDEO_BUF_END           0x000C0000
00036 
00037 //! ROM BIOS memory start address.
00038 #define BIOS_ROM_START          0x000C0000
00039 //! ROM BIOS memory end address.
00040 #define BIOS_ROM_END            0x00100000
00041 
00042 // --- Kernel virtual address space ----------------------------------- //
00043 
00044 //! Kernel virtual start address.
00045 //! \note Must be (PAGE_SIZE*1024) aligned!!!
00046 #define K_VIR_START             0xC0000000
00047 
00048 //! Kernel heap start address.
00049 #define K_HEAP_START            0xD0000000
00050 //! Kernel heap end address.
00051 #define K_HEAP_END              0xE0000000
00052 
00053 // --- Drivers memory area -------------------------------------------- //
00054 #define D_MEM_START             0xE0000000
00055 #define D_MEM_END               0xEF000000
00056 
00057 //! Some physical memory (first 16MB of physical memory are mapped here)
00058 //! start address.
00059 #define PHYS_MEM_START          0xEF000000
00060 //! Some physical memory (first 16MB of physical memory are mapped here)
00061 //! end address.
00062 #define PHYS_MEM_END            0xF0000000
00063 
00064 //! Temporary memory area start address.
00065 #define K_MEM_TEMP_START        0xF0000000
00066 //! Temporary memory area end address.
00067 #define K_MEM_TEMP_END          0xFFC00000
00068 
00069 //! Page tables area start address.
00070 #define PAGE_TABLE_MAP          (0xFFC00000)
00071 //! Page tables area end address.
00072 #define PAGE_DIR_MAP            (0xFFC00000 + (PAGE_TABLE_MAP / (1024)))
00073 
00074 #endif

Generated on Fri Feb 20 15:32:16 2004 for Minirighi by doxygen1.2.18