Index: kernel/genarch/src/drivers/bcm2835/mbox.c
===================================================================
--- kernel/genarch/src/drivers/bcm2835/mbox.c	(revision 73abf491fd74e2df668b93ec7b38c266f85bac09)
+++ kernel/genarch/src/drivers/bcm2835/mbox.c	(revision ead72f2a4c67f990b2a5c54abd27c70c1bfa0847)
@@ -132,4 +132,9 @@
 	bool r;
 	MBOX_BUFF_ALLOC(msg, mbox_getfbsize_buf_t);
+	bcm2835_mbox_t *mbox;
+
+	mbox = (void *) km_map(BCM2835_MBOX0_ADDR, sizeof(bcm2835_mbox_t),
+	    KM_NATURAL_ALIGNMENT, PAGE_NOT_CACHEABLE);
+	assert(mbox);
 
 	msg->buf_hdr.size = sizeof(mbox_getfbsize_buf_t);
@@ -140,8 +145,7 @@
 	msg->zero = 0;
 
-	mbox_write((bcm2835_mbox_t *)BCM2835_MBOX0_ADDR,
+	mbox_write(mbox,
 	    MBOX_CHAN_PROP_A2V, KA2VCA((uint32_t)msg));
-	mbox_read((bcm2835_mbox_t *)BCM2835_MBOX0_ADDR,
-	    MBOX_CHAN_PROP_A2V);
+	mbox_read(mbox, MBOX_CHAN_PROP_A2V);
 
 	r = msg->buf_hdr.code == MBOX_PROP_CODE_RESP_OK;
@@ -151,4 +155,5 @@
 	}
 
+	km_unmap((uintptr_t) mbox, sizeof(bcm2835_mbox_t));
 	return r;
 }
