On 4/16/10 12:24 PM, Mark Cave-Ayland wrote:
call-method SUNW,retain: exception -21
I've never seen this in any standard so far, but Linux seems to know about it, too:
/* Set aside physical memory which is not touched or modified * across soft resets. */ unsigned long prom_retain(const char *name, unsigned long pa_low, unsigned long pa_high, long size, long align) { /* XXX I don't think we return multiple values correctly. * XXX OBP supposedly returns pa_low/pa_high here, how does * XXX it work? */
/* If align is zero, the pa_low/pa_high args are passed, * else they are not. */ if (align == 0) return p1275_cmd("SUNW,retain", (P1275_ARG(0, P1275_ARG_IN_BUF) | P1275_INOUT(5, 2)), name, pa_low, pa_high, size, align); else return p1275_cmd("SUNW,retain", (P1275_ARG(0, P1275_ARG_IN_BUF) | P1275_INOUT(3, 2)), name, size, align); }