Changeset e49e234 in mainline for kernel/arch/arm32


Ignore:
Timestamp:
2009-02-27T11:32:31Z (17 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c1f7f6ea
Parents:
5f0f29ce
Message:

kernel memory management revisited (phase 2): map physical memory according to zones

  • ia32: register reserved and ACPI zones
  • pareas are now used only for mapping of present physical memory (hw_area() is gone)
  • firmware zones and physical addresses outside any zones are allowed to be mapped generally
  • fix nasty antient bug in zones_insert_zone()
Location:
kernel/arch/arm32
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/include/mm/frame.h

    r5f0f29ce re49e234  
    2727 */
    2828
    29 /** @addtogroup arm32mm 
     29/** @addtogroup arm32mm
    3030 * @{
    3131 */
     
    3737#define KERN_arm32_FRAME_H_
    3838
    39 #define FRAME_WIDTH             12 /* 4KB frames */
    40 #define FRAME_SIZE              (1 << FRAME_WIDTH)
     39#define FRAME_WIDTH  12 /* 4KB frames */
     40#define FRAME_SIZE   (1 << FRAME_WIDTH)
    4141
    4242#ifdef KERNEL
     
    4545#include <arch/types.h>
    4646
    47 #define BOOT_PAGE_TABLE_SIZE    0x4000
    48 #define BOOT_PAGE_TABLE_ADDRESS 0x4000
     47#define BOOT_PAGE_TABLE_SIZE     0x4000
     48#define BOOT_PAGE_TABLE_ADDRESS  0x4000
    4949
    5050#define BOOT_PAGE_TABLE_START_FRAME     (BOOT_PAGE_TABLE_ADDRESS >> FRAME_WIDTH)
     
    5252
    5353extern uintptr_t last_frame;
    54 extern uintptr_t end_frame;
    5554
    5655extern void frame_arch_init(void);
  • kernel/arch/arm32/src/mm/frame.c

    r5f0f29ce re49e234  
    2727 */
    2828
    29 /** @addtogroup arm32mm 
     29/** @addtogroup arm32mm
    3030 * @{
    3131 */
     
    4242/** Address of the last frame in the memory. */
    4343uintptr_t last_frame = 0;
    44 uintptr_t end_frame = 0;
    4544
    4645/** Creates memory zones. */
     
    5150            BOOT_PAGE_TABLE_START_FRAME + BOOT_PAGE_TABLE_SIZE_IN_FRAMES, 0);
    5251        last_frame = machine_get_memory_size();
    53         end_frame = last_frame;
    5452       
    5553        /* blacklist boot page table */
  • kernel/arch/arm32/src/mm/page.c

    r5f0f29ce re49e234  
    4444#include <interrupt.h>
    4545#include <arch/mm/frame.h>
    46 #include <ddi/ddi.h>
    47 
    48 /** Physical memory area for devices. */
    49 static parea_t dev_area;
    5046
    5147/** Initializes page tables.
     
    111107}
    112108
    113 void hw_area(void)
    114 {
    115         dev_area.pbase = end_frame;
    116         dev_area.frames = SIZE2FRAMES(0xffffffff - end_frame);
    117         ddi_parea_register(&dev_area);
    118 }
    119 
    120109/** @}
    121110 */
Note: See TracChangeset for help on using the changeset viewer.