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 |