diff --git a/arch/sparc64/lib.c b/arch/sparc64/lib.c index 6176b5c..a366110 100644 --- a/arch/sparc64/lib.c +++ b/arch/sparc64/lib.c @@ -446,7 +446,7 @@ NODE_METHODS( memory ) = { { "SUNW,retain", mem_retain }, }; -DECLARE_UNNAMED_NODE(mmu, INSTALL_OPEN, 0); +DECLARE_NODE(mmu, INSTALL_OPEN, 0, "/virtual-memory"); NODE_METHODS(mmu) = { { "open", mmu_open }, @@ -462,33 +462,18 @@ NODE_METHODS(mmu) = { void ob_mmu_init(const char *cpuname, uint64_t ram_size) { - char nodebuff[256]; - /* memory node */ REGISTER_NODE_METHODS(memory, "/memory"); /* MMU node */ - snprintf(nodebuff, sizeof(nodebuff), "/%s", cpuname); - push_str(nodebuff); - fword("find-device"); - - fword("new-device"); - - push_str("mmu"); - fword("device-name"); - - fword("finish-device"); - - snprintf(nodebuff, sizeof(nodebuff), "/%s/mmu", cpuname); - - REGISTER_NODE_METHODS(mmu, nodebuff); + REGISTER_NODE_METHODS(mmu, "/virtual-memory"); ofmem_register(find_dev("/memory"), find_dev("/virtual-memory")); push_str("/chosen"); fword("find-device"); - push_str(nodebuff); + push_str("/virtual-memory"); fword("open-dev"); fword("encode-int"); push_str("mmu"); diff --git a/arch/sparc64/tree.fs b/arch/sparc64/tree.fs index 2a18094..e15c0b5 100644 --- a/arch/sparc64/tree.fs +++ b/arch/sparc64/tree.fs @@ -31,19 +31,13 @@ new-device external : open true ; : close ; - \ claim ( phys size align -- base ) -\ : claim 2drop ; - \ release ( phys size -- ) + \ see arch/sparc64/lib.c for methods finish-device new-device " virtual-memory" device-name external - : open true ; - : close ; - \ claim ( phys size align -- base ) -\ : claim 2drop ; - \ release ( phys size -- ) + \ see arch/sparc64/lib.c for methods finish-device " /options" find-device