most significant bit memory resource

Mori Hiroki yamori813 at yahoo.co.jp
Sun Apr 24 23:38:15 UTC 2016


Hi.

Current mips/mips/nexus.c code can't use most significant bit memory resource
device.

cfi0 at mem 0xffffffffbe000000-0xffffffffbfffffff on nexus0
nexus_alloc_resource: could not reserve resource for cfi0
device_attach: cfi0 attach returned 6

index 45e47ef..a5d52d7 100644

--- a/sys/mips/mips/nexus.c
+++ b/sys/mips/mips/nexus.c
@@ -566,7 +566,9 @@ nexus_hinted_child(device_t bus, const char *dname, int duni
t)
                    __func__, device_get_nameunit(child),
                    (void *)(intptr_t)maddr, msize);

-               result = bus_set_resource(child, SYS_RES_MEMORY, 0, maddr, 
+//             result = bus_set_resource(child, SYS_RES_MEMORY, 0, maddr, 
+rman_res_t tmpaddr = (u_long)maddr;
+               result = bus_set_resource(child, SYS_RES_MEMORY, 0, tmpaddr, 
                    msize);
                if (result != 0) {
                        device_printf(bus, 

cfi0 at mem 0xbe000000-0xbfffffff on nexus0
cfi0: [256x128KB]
cfid0 on cfi0

I check this problem then found my workaround at cfi_core.c. Thanks Adrian.

Regards

Hiroki Mori



More information about the freebsd-mips mailing list