diff --git a/arch/sparc64/openbios.c b/arch/sparc64/openbios.c index 24b255a..95baf24 100644 --- a/arch/sparc64/openbios.c +++ b/arch/sparc64/openbios.c @@ -216,6 +216,21 @@ mmu_unmap(void) //unmap_pages(virt, size); } +/* + 3.6.5 claim + ( virt size align -- base ) +*/ +static void +mmu_claim(void) +{ + unsigned long virt, size, align; + + align = POP(); + size = POP(); + virt = POP(); + PUSH(virt); // XXX +} + DECLARE_UNNAMED_NODE(mmu, INSTALL_OPEN, 0); NODE_METHODS(mmu) = { @@ -226,6 +241,7 @@ NODE_METHODS(mmu) = { { "SUNW,itlb-load", itlb_load }, { "map", mmu_map }, { "unmap", mmu_unmap }, + { "claim", mmu_claim }, }; /* diff --git a/arch/sparc64/tree.fs b/arch/sparc64/tree.fs index 14ff5e5..5a47678 100644 --- a/arch/sparc64/tree.fs +++ b/arch/sparc64/tree.fs @@ -1,7 +1,7 @@ " /" find-device 2 encode-int " #address-cells" property - 1 encode-int " #size-cells" property + 2 encode-int " #size-cells" property " sun4u" encode-string " compatible" property \ : encode-unit encode-unit-sbus ; @@ -13,6 +13,7 @@ new-device : open true ; : close ; \ claim ( phys size align -- base ) + : claim 2drop ; \ release ( phys size -- ) finish-device @@ -22,9 +23,12 @@ new-device : open true ; : close ; \ claim ( phys size align -- base ) + : claim 2drop ; \ release ( phys size -- ) finish-device " /options" find-device " disk" encode-string " boot-from" property +" /openprom" find-device + " OBP 3.10.24 1999/01/01 01:01" encode-string " version" property