Rev 953 | Rev 964 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 953 | Rev 956 | ||
|---|---|---|---|
| Line 76... | Line 76... | ||
| 76 | for (i = 0; i < nret; i++) |
76 | for (i = 0; i < nret; i++) |
| 77 | args.args[i + nargs] = 0; |
77 | args.args[i + nargs] = 0; |
| 78 | 78 | ||
| 79 | ofw(&args); |
79 | ofw(&args); |
| 80 | 80 | ||
| 81 | if (nret > 0) |
- | |
| 82 | return args.args[nargs + nret - 1]; |
81 | return args.args[nargs]; |
| 83 | else |
- | |
| 84 | return 0; |
- | |
| 85 | } |
82 | } |
| 86 | 83 | ||
| 87 | 84 | ||
| 88 | ihandle ofw_open(const char *name) |
85 | ihandle ofw_open(const char *name) |
| 89 | { |
86 | { |
| Line 110... | Line 107... | ||
| 110 | { |
107 | { |
| 111 | return ofw_call("getprop", 4, 1, device, name, buf, buflen); |
108 | return ofw_call("getprop", 4, 1, device, name, buf, buflen); |
| 112 | } |
109 | } |
| 113 | 110 | ||
| 114 | 111 | ||
| 115 | void *ofw_claim(const void *addr, const int size, const int align) |
112 | void *ofw_translate(const void *virt) |
| 116 | { |
113 | { |
| 117 | return (void *) ofw_call("claim", 3, 1, addr, size, align); |
114 | return (void *) ofw_call("call-method", 7, 1, "translate", ofw_mmu, virt, 0, 0, 0, 0); |
| 118 | } |
115 | } |
| 119 | 116 | ||
| 120 | 117 | ||
| 121 | void *ofw_translate(const void *virt) |
118 | int ofw_map(const void *phys, const void *virt, const int size, const int mode) |
| 122 | { |
119 | { |
| 123 | return (void *) ofw_call_method(ofw_mmu, "translate", 1, 5, virt); |
120 | return ofw_call("call-method", 6, 1, "map", ofw_mmu, mode, size, virt, phys); |
| 124 | } |
121 | } |