Rev 3908 | Rev 3973 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3908 | Rev 3940 | ||
---|---|---|---|
Line 41... | Line 41... | ||
41 | #include <arch/exception.h> |
41 | #include <arch/exception.h> |
42 | #include <typedefs.h> |
42 | #include <typedefs.h> |
43 | #include <arch/types.h> |
43 | #include <arch/types.h> |
44 | #include <interrupt.h> |
44 | #include <interrupt.h> |
45 | #include <arch/mm/frame.h> |
45 | #include <arch/mm/frame.h> |
- | 46 | #include <ddi/ddi.h> |
|
- | 47 | ||
- | 48 | /** Physical memory area for devices. */ |
|
- | 49 | static parea_t dev_area; |
|
46 | 50 | ||
47 | /** Initializes page tables. |
51 | /** Initializes page tables. |
48 | * |
52 | * |
49 | * 1:1 virtual-physical mapping is created in kernel address space. Mapping |
53 | * 1:1 virtual-physical mapping is created in kernel address space. Mapping |
50 | * for table with exception vectors is also created. |
54 | * for table with exception vectors is also created. |
Line 104... | Line 108... | ||
104 | 108 | ||
105 | last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE); |
109 | last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE); |
106 | return virtaddr; |
110 | return virtaddr; |
107 | } |
111 | } |
108 | 112 | ||
109 | void hw_area(uintptr_t *physaddr, pfn_t *frames) |
113 | void hw_area(void) |
110 | { |
114 | { |
111 | *physaddr = end_frame; |
115 | dev_area.pbase = end_frame; |
112 | *frames = ADDR2PFN(0xffffffff - end_frame); |
116 | dev_area.frames = SIZE2FRAMES(0xffffffff - end_frame); |
- | 117 | ddi_parea_register(&dev_area); |
|
113 | } |
118 | } |
114 | 119 | ||
115 | /** @} |
120 | /** @} |
116 | */ |
121 | */ |