--- qemu/roms/openbios/packages/video.c 2018/04/24 19:19:38 1.1.1.1 +++ qemu/roms/openbios/packages/video.c 2018/04/24 19:36:37 1.1.1.2 @@ -25,6 +25,7 @@ typedef struct osi_fb_info { unsigned long mphys; + unsigned long mvirt; int rb, w, h, depth; } osi_fb_info_t; @@ -79,7 +80,7 @@ startup_splash( void ) dx = (video.fb.w - width)/2; dy = (video.fb.h - height)/3; - pp = (char*)video.fb.mphys + dy * video.fb.rb + dx * (video.fb.depth >= 24 ? 4 : 2); + pp = (char*)video.fb.mvirt + dy * video.fb.rb + dx * (video.fb.depth >= 24 ? 4 : 2); for( y=0 ; y= 24 ) { @@ -121,7 +122,7 @@ get_color( int col_ind ) void draw_pixel( int x, int y, int colind ) { - char *p = (char*)video.fb.mphys + video.fb.rb * y; + char *p = (char*)video.fb.mvirt + video.fb.rb * y; int color, d = video.fb.depth; if( x < 0 || y < 0 || x >= video.fb.w || y >=video.fb.h ) @@ -146,7 +147,7 @@ fill_rect( int col_ind, int x, int y, in x + w > video.fb.w || y + h > video.fb.h) return; - pp = (char*)video.fb.mphys + video.fb.rb * y; + pp = (char*)video.fb.mvirt + video.fb.rb * y; for( ; h--; pp += video.fb.rb ) { int ww = w; if( video.fb.depth == 24 || video.fb.depth == 32 ) { @@ -209,8 +210,8 @@ video_scroll( int height ) } offs = video.fb.rb * height; size = (video.fb.h * video.fb.rb - offs)/16; - dest = (int*)video.fb.mphys; - src = (int*)(video.fb.mphys + offs); + dest = (int*)video.fb.mvirt; + src = (int*)(video.fb.mvirt + offs); for( i=0; i