Rev 1771 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1771 | Rev 1783 | ||
|---|---|---|---|
| Line 34... | Line 34... | ||
| 34 | 34 | ||
| 35 | #define BUF_SIZE 1024 |
35 | #define BUF_SIZE 1024 |
| 36 | 36 | ||
| 37 | #define MEMMAP_MAX_RECORDS 32 |
37 | #define MEMMAP_MAX_RECORDS 32 |
| 38 | 38 | ||
| - | 39 | #define MAX_OFW_ARGS 12 |
|
| - | 40 | ||
| - | 41 | typedef unsigned long ofw_arg_t; |
|
| - | 42 | typedef unsigned int ihandle; |
|
| - | 43 | typedef unsigned int phandle; |
|
| - | 44 | ||
| - | 45 | /** OpenFirmware command structure |
|
| - | 46 | * |
|
| - | 47 | */ |
|
| - | 48 | typedef struct { |
|
| - | 49 | const char *service; /**< Command name */ |
|
| - | 50 | unsigned long nargs; /**< Number of in arguments */ |
|
| - | 51 | unsigned long nret; /**< Number of out arguments */ |
|
| - | 52 | ofw_arg_t args[MAX_OFW_ARGS]; /**< List of arguments */ |
|
| - | 53 | } ofw_args_t; |
|
| - | 54 | ||
| 39 | typedef struct { |
55 | typedef struct { |
| 40 | void *start; |
56 | void *start; |
| 41 | unsigned int size; |
57 | unsigned int size; |
| 42 | } memzone_t; |
58 | } memzone_t; |
| 43 | 59 | ||
| Line 46... | Line 62... | ||
| 46 | unsigned int count; |
62 | unsigned int count; |
| 47 | memzone_t zones[MEMMAP_MAX_RECORDS]; |
63 | memzone_t zones[MEMMAP_MAX_RECORDS]; |
| 48 | } memmap_t; |
64 | } memmap_t; |
| 49 | 65 | ||
| 50 | typedef struct { |
66 | typedef struct { |
| 51 | void *addr; |
67 | uint32_t addr; |
| 52 | unsigned int width; |
68 | unsigned int width; |
| 53 | unsigned int height; |
69 | unsigned int height; |
| 54 | unsigned int bpp; |
70 | unsigned int bpp; |
| 55 | unsigned int scanline; |
71 | unsigned int scanline; |
| 56 | } screen_t; |
72 | } screen_t; |
| 57 | 73 | ||
| 58 | typedef struct { |
74 | typedef struct { |
| 59 | void *addr; |
75 | uint32_t addr; |
| 60 | unsigned int size; |
76 | unsigned int size; |
| 61 | } keyboard_t; |
77 | } keyboard_t; |
| 62 | 78 | ||
| 63 | typedef struct { |
79 | typedef struct { |
| 64 | unsigned int info; |
80 | unsigned int info; |
| Line 70... | Line 86... | ||
| 70 | pci_addr_t addr; |
86 | pci_addr_t addr; |
| 71 | unsigned int size_hi; |
87 | unsigned int size_hi; |
| 72 | unsigned int size_lo; |
88 | unsigned int size_lo; |
| 73 | } pci_reg_t; |
89 | } pci_reg_t; |
| 74 | 90 | ||
| 75 | typedef unsigned long ofw_arg_t; |
91 | extern uintptr_t ofw_cif; |
| 76 | typedef unsigned int ihandle; |
- | |
| 77 | typedef unsigned int phandle; |
- | |
| 78 | 92 | ||
| 79 | extern phandle ofw_aliases; |
93 | extern phandle ofw_aliases; |
| 80 | 94 | ||
| 81 | extern void init(void); |
95 | extern void init(void); |
| 82 | extern void ofw_write(const char *str, const int len); |
96 | extern void ofw_write(const char *str, const int len); |
| 83 | 97 | ||
| 84 | extern int ofw_get_property(const phandle device, const char *name, const void *buf, const int buflen); |
98 | extern int ofw_get_property(const phandle device, const char *name, const void *buf, const int buflen); |
| 85 | extern phandle ofw_find_device(const char *name); |
99 | extern phandle ofw_find_device(const char *name); |
| 86 | 100 | ||
| - | 101 | extern int ofw(ofw_args_t *arg); |
|
| 87 | extern void *ofw_translate(const void *virt); |
102 | extern void *ofw_translate(const void *virt); |
| - | 103 | extern int ofw_translate_failed(ofw_arg_t flag); |
|
| - | 104 | extern void *ofw_claim(const void *virt, const int len); |
|
| 88 | extern int ofw_map(const void *phys, const void *virt, const int size, const int mode); |
105 | extern int ofw_map(const void *phys, const void *virt, const int size, const int mode); |
| 89 | extern int ofw_memmap(memmap_t *map); |
106 | extern int ofw_memmap(memmap_t *map); |
| 90 | extern int ofw_screen(screen_t *screen); |
107 | extern int ofw_screen(screen_t *screen); |
| 91 | extern int ofw_keyboard(keyboard_t *keyboard); |
108 | extern int ofw_keyboard(keyboard_t *keyboard); |
| 92 | 109 | ||