Changeset 9979acb in mainline for kernel/arch/amd64/src/mm/page.c


Ignore:
Timestamp:
2009-02-20T17:19:03Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c9b550b
Parents:
5c06c1c
Message:

make hw_area API more generic
this allows mapping of EGA VRAM on ia32/amd64

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/mm/page.c

    r5c06c1c r9979acb  
    3535#include <arch/mm/page.h>
    3636#include <genarch/mm/page_pt.h>
     37#include <genarch/drivers/ega/ega.h>
     38#include <genarch/drivers/legacy/ia32/io.h>
    3739#include <arch/mm/frame.h>
    3840#include <mm/page.h>
     
    4749#include <panic.h>
    4850#include <align.h>
     51#include <ddi/ddi.h>
     52
     53/** Physical memory area for devices. */
     54static parea_t dev_area;
     55static parea_t ega_area;
    4956
    5057/* Definitions for identity page mapper */
     
    215222}
    216223
    217 void hw_area(uintptr_t *physaddr, pfn_t *frames)
    218 {
    219         *physaddr = end_frame;
    220         *frames = ADDR2PFN(0xfffffffffffff - end_frame);
     224void hw_area(void)
     225{
     226        dev_area.pbase = end_frame;
     227        dev_area.frames = SIZE2FRAMES(0xfffffffffffff - end_frame);
     228        ddi_parea_register(&dev_area);
     229       
     230        ega_area.pbase = EGA_VIDEORAM;
     231        ega_area.frames = SIZE2FRAMES(EGA_VRAM_SIZE);
     232        ddi_parea_register(&ega_area);
    221233}
    222234
Note: See TracChangeset for help on using the changeset viewer.