The branch main has been updated by luporl:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=043577b721ec4e5c2ab7571e6c05cfd54e49473c

commit 043577b721ec4e5c2ab7571e6c05cfd54e49473c
Author:     Leandro Lupori <lup...@freebsd.org>
AuthorDate: 2021-03-09 15:11:58 +0000
Commit:     Leandro Lupori <lup...@freebsd.org>
CommitDate: 2021-03-09 16:29:24 +0000

    ofwfb: fix boot on LE
    
    Some framebuffer properties obtained from the device tree were not being
    properly converted to host endian.
    Replace OF_getprop calls by OF_getencprop where needed to fix this.
    
    This fixes boot on PowerPC64 LE, when using ofwfb as the system console.
    
    Reviewed by:    bdragon
    Sponsored by:   Eldorado Research Institute (eldorado.org.br)
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D27475
---
 sys/dev/vt/hw/ofwfb/ofwfb.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/sys/dev/vt/hw/ofwfb/ofwfb.c b/sys/dev/vt/hw/ofwfb/ofwfb.c
index 8a1b7b3688a7..9dc674c0ebf9 100644
--- a/sys/dev/vt/hw/ofwfb/ofwfb.c
+++ b/sys/dev/vt/hw/ofwfb/ofwfb.c
@@ -108,7 +108,7 @@ ofwfb_probe(struct vt_device *vd)
                return (CN_DEAD);
 
        node = -1;
-       if (OF_getprop(chosen, "stdout", &stdout, sizeof(stdout)) ==
+       if (OF_getencprop(chosen, "stdout", &stdout, sizeof(stdout)) ==
            sizeof(stdout))
                node = OF_instance_to_package(stdout);
        if (node == -1)
@@ -386,7 +386,7 @@ ofwfb_init(struct vt_device *vd)
        char buf[64];
        phandle_t chosen;
        phandle_t node;
-       uint32_t depth, height, width, stride;
+       pcell_t depth, height, width, stride;
        uint32_t vendor_id = 0;
        cell_t adr[2];
        uint64_t user_phys;
@@ -399,7 +399,7 @@ ofwfb_init(struct vt_device *vd)
 
        node = -1;
        chosen = OF_finddevice("/chosen");
-       if (OF_getprop(chosen, "stdout", &sc->sc_handle,
+       if (OF_getencprop(chosen, "stdout", &sc->sc_handle,
            sizeof(ihandle_t)) == sizeof(ihandle_t))
                node = OF_instance_to_package(sc->sc_handle);
        if (node == -1)
@@ -448,14 +448,14 @@ ofwfb_init(struct vt_device *vd)
                return (CN_DEAD);
 
        /* Only support 8 and 32-bit framebuffers */
-       OF_getprop(node, "depth", &depth, sizeof(depth));
+       OF_getencprop(node, "depth", &depth, sizeof(depth));
        if (depth != 8 && depth != 32)
                return (CN_DEAD);
        sc->fb.fb_bpp = sc->fb.fb_depth = depth;
 
-       OF_getprop(node, "height", &height, sizeof(height));
-       OF_getprop(node, "width", &width, sizeof(width));
-       if (OF_getprop(node, "linebytes", &stride, sizeof(stride)) !=
+       OF_getencprop(node, "height", &height, sizeof(height));
+       OF_getencprop(node, "width", &width, sizeof(width));
+       if (OF_getencprop(node, "linebytes", &stride, sizeof(stride)) !=
            sizeof(stride))
                stride = width*depth/8;
 
@@ -537,11 +537,11 @@ ofwfb_init(struct vt_device *vd)
                 * may be the child of the PCI device: in that case, try the
                 * parent for the assigned-addresses property.
                 */
-               len = OF_getprop(node, "assigned-addresses", pciaddrs,
-                   sizeof(pciaddrs));
+               len = OF_getencprop(node, "assigned-addresses",
+                   (pcell_t *)pciaddrs, sizeof(pciaddrs));
                if (len == -1) {
-                       len = OF_getprop(OF_parent(node), "assigned-addresses",
-                           pciaddrs, sizeof(pciaddrs));
+                       len = OF_getencprop(OF_parent(node), 
"assigned-addresses",
+                           (pcell_t *)pciaddrs, sizeof(pciaddrs));
                }
                if (len == -1)
                        len = 0;
_______________________________________________
dev-commits-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "dev-commits-src-all-unsubscr...@freebsd.org"

Reply via email to