Rev 3908 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3908 | Rev 3940 | ||
---|---|---|---|
Line 35... | Line 35... | ||
35 | #include <genarch/mm/page_pt.h> |
35 | #include <genarch/mm/page_pt.h> |
36 | #include <mm/frame.h> |
36 | #include <mm/frame.h> |
37 | #include <mm/as.h> |
37 | #include <mm/as.h> |
38 | #include <align.h> |
38 | #include <align.h> |
39 | #include <config.h> |
39 | #include <config.h> |
- | 40 | #include <ddi/ddi.h> |
|
- | 41 | ||
- | 42 | /** Physical memory area for devices. */ |
|
- | 43 | static parea_t dev_area; |
|
40 | 44 | ||
41 | void page_arch_init(void) |
45 | void page_arch_init(void) |
42 | { |
46 | { |
43 | if (config.cpu_active == 1) |
47 | if (config.cpu_active == 1) |
44 | page_mapping_operations = &pt_mapping_operations; |
48 | page_mapping_operations = &pt_mapping_operations; |
Line 61... | Line 65... | ||
61 | last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE); |
65 | last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE); |
62 | 66 | ||
63 | return virtaddr; |
67 | return virtaddr; |
64 | } |
68 | } |
65 | 69 | ||
66 | void hw_area(uintptr_t *physaddr, pfn_t *frames) |
70 | void hw_area(void) |
67 | { |
71 | { |
68 | *physaddr = end_frame; |
72 | dev_area.pbase = end_frame; |
69 | *frames = ADDR2PFN(0xffffffff - end_frame); |
73 | dev_area.frames = SIZE2FRAMES(0xffffffff - end_frame); |
- | 74 | ddi_parea_register(&dev_area); |
|
70 | } |
75 | } |
71 | 76 | ||
72 | /** @} |
77 | /** @} |
73 | */ |
78 | */ |