[haiku-commits] haiku: hrev54518 - src/system/boot/platform/next_m68k

  • From: Alex von Gluck IV <kallisti5@xxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 19 Aug 2020 09:37:25 -0400 (EDT)

hrev54518 adds 1 changeset to branch 'master'
old head: ab173783285ccdd3a0c62e7307e88851719ce45f
new head: 86776c1ebea6e85590faa6f091c3d531a0bbad86
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=86776c1ebea6+%5Eab173783285c

----------------------------------------------------------------------------

86776c1ebea6: m68k: detect NeXT framebuffer
  
  Doesn't work yet though:
  - we don't implement heap yet,
  - non-color machines have 2bpp, so we'll have to hack this in some way.
  
  Change-Id: Idf8f69c2256837db3915949d93265decbb43a524
  Reviewed-on: https://review.haiku-os.org/c/haiku/+/3097
  Reviewed-by: Alex von Gluck IV <kallisti5@xxxxxxxxxxx>

                                          [ François Revol <revol@xxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev54518
Commit:      86776c1ebea6e85590faa6f091c3d531a0bbad86
URL:         https://git.haiku-os.org/haiku/commit/?id=86776c1ebea6
Author:      François Revol <revol@xxxxxxx>
Date:        Sun Jul 26 18:49:58 2020 UTC
Committer:   Alex von Gluck IV <kallisti5@xxxxxxxxxxx>
Commit-Date: Wed Aug 19 13:37:21 2020 UTC

----------------------------------------------------------------------------

1 file changed, 24 insertions(+), 3 deletions(-)
src/system/boot/platform/next_m68k/video.cpp | 27 +++++++++++++++++++++---

----------------------------------------------------------------------------

diff --git a/src/system/boot/platform/next_m68k/video.cpp 
b/src/system/boot/platform/next_m68k/video.cpp
index aecfbdb22f..479a49b303 100644
--- a/src/system/boot/platform/next_m68k/video.cpp
+++ b/src/system/boot/platform/next_m68k/video.cpp
@@ -10,6 +10,8 @@
 #include "mmu.h"
 //#include "images.h"
 
+#include <algorithm>
+
 #include <arch/cpu.h>
 #include <boot/stage2.h>
 #include <boot/platform.h>
@@ -90,6 +92,25 @@ platform_switch_to_logo(void)
        // in debug mode, we'll never show the logo
        if ((platform_boot_options() & BOOT_OPTION_DEBUG_OUTPUT) != 0)
                return;
+
+       // I believe we should use mg->km_coni.fb_num but turbo color has 0 
here !?
+       char fb_num = KM_CON_FRAMEBUFFER;
+
+       gKernelArgs.frame_buffer.width = mg->km_coni.dspy_w;
+       gKernelArgs.frame_buffer.height = mg->km_coni.dspy_h;
+       gKernelArgs.frame_buffer.bytes_per_row = mg->km_coni.bytes_per_scanline;
+       // we fake 2bpp as 4bpp for simplicity
+       gKernelArgs.frame_buffer.depth =
+               std::max(4, 32 / mg->km_coni.pixels_per_word);
+       gKernelArgs.frame_buffer.physical_buffer.size =
+               mg->km_coni.map_addr[fb_num].size;
+       gKernelArgs.frame_buffer.physical_buffer.start =
+               mg->km_coni.map_addr[fb_num].phys_addr;
+
+       //TODO: pass a custom color_space in the KMessage?
+
+       gKernelArgs.frame_buffer.enabled = true;
+       video_display_splash(mg->km_coni.map_addr[fb_num].virt_addr);
 }
 
 
@@ -100,15 +121,15 @@ platform_switch_to_text_mode(void)
                return;
        }
 
-       gKernelArgs.frame_buffer.enabled = 0;
+       gKernelArgs.frame_buffer.enabled = false;
 }
 
 
 extern "C" status_t
 platform_init_video(void)
 {
-       gKernelArgs.frame_buffer.enabled = 0;
-       
+       gKernelArgs.frame_buffer.enabled = false;
+
        return B_OK;
 }
 


Other related posts:

  • » [haiku-commits] haiku: hrev54518 - src/system/boot/platform/next_m68k - Alex von Gluck IV