parent
2403c32d4f
commit
8e8878f187
|
@ -1 +1 @@
|
||||||
02abcfcffb40098c98656bcf8ba3d88d4d709cf5
|
cb9a134ba7d65887627d14beaaffbf0aa0c6b93b
|
||||||
|
|
|
@ -3,8 +3,8 @@ VERSION := git
|
||||||
DOWNLOADS := seoul.git
|
DOWNLOADS := seoul.git
|
||||||
|
|
||||||
URL(seoul) := https://github.com/alex-ab/seoul.git
|
URL(seoul) := https://github.com/alex-ab/seoul.git
|
||||||
# branch genode_17_05
|
# branch genode_18_05
|
||||||
REV(seoul) := 878f0ea5593d0bc87bbbad3c5499c26d5f64d472
|
REV(seoul) := 253faafcfa7bbcf68732c9962d6a88052194a0d0
|
||||||
DIR(seoul) := src/app/seoul
|
DIR(seoul) := src/app/seoul
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -15,7 +15,7 @@ set use_model_ide 0
|
||||||
set use_block_ram 1
|
set use_block_ram 1
|
||||||
set use_block_sata 0
|
set use_block_sata 0
|
||||||
|
|
||||||
set use_nic_session 0
|
set use_nic_session 1
|
||||||
set use_nic_bridge 0
|
set use_nic_bridge 0
|
||||||
|
|
||||||
set use_usb 0
|
set use_usb 0
|
||||||
|
|
|
@ -193,7 +193,7 @@ append_if $use_block_sata config {
|
||||||
|
|
||||||
append_if $use_block_ram config {
|
append_if $use_block_ram config {
|
||||||
<start name="ram_blk" priority="-1">
|
<start name="ram_blk" priority="-1">
|
||||||
<resource name="RAM" quantum="132M" />
|
<resource name="RAM" quantum="162M" />
|
||||||
<provides><service name="Block"/></provides>
|
<provides><service name="Block"/></provides>
|
||||||
<config file="seoul-disc.raw" block_size="512"/>
|
<config file="seoul-disc.raw" block_size="512"/>
|
||||||
</start>}
|
</start>}
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <nitpicker_gfx/text_painter.h>
|
#include <nitpicker_gfx/text_painter.h>
|
||||||
|
|
||||||
#include <nul/motherboard.h>
|
#include <nul/motherboard.h>
|
||||||
|
#include <host/screen.h>
|
||||||
|
|
||||||
/* local includes */
|
/* local includes */
|
||||||
#include "console.h"
|
#include "console.h"
|
||||||
|
@ -39,8 +40,9 @@ static struct {
|
||||||
Genode::uint64_t checksum2 = 0;
|
Genode::uint64_t checksum2 = 0;
|
||||||
unsigned unchanged = 0;
|
unsigned unchanged = 0;
|
||||||
bool cmp_even = 1;
|
bool cmp_even = 1;
|
||||||
bool active = true;
|
bool active = false;
|
||||||
bool revoked = false;
|
bool revoked = false;
|
||||||
|
bool vga_update= false; /* update indirectly by vbios */
|
||||||
} fb_state;
|
} fb_state;
|
||||||
|
|
||||||
|
|
||||||
|
@ -195,12 +197,24 @@ bool Seoul::Console::receive(MessageConsole &msg)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Screen::vga_updated()
|
||||||
|
{
|
||||||
|
fb_state.vga_update = true;
|
||||||
|
}
|
||||||
|
|
||||||
bool Seoul::Console::receive(MessageMemRegion &msg)
|
bool Seoul::Console::receive(MessageMemRegion &msg)
|
||||||
{
|
{
|
||||||
if (msg.page >= 0xb8 && msg.page <= 0xbf) {
|
/* we had a fault in the text framebuffer */
|
||||||
|
bool reactivate = (msg.page >= 0xb8 && msg.page <= 0xbf);
|
||||||
|
|
||||||
/* we had a fault in the text framebuffer */
|
/* vga memory got changed indirectly by vbios */
|
||||||
|
if (fb_state.vga_update) {
|
||||||
|
fb_state.vga_update = false;
|
||||||
|
if (!fb_state.active)
|
||||||
|
reactivate = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (reactivate) {
|
||||||
if (!fb_state.active) fb_state.active = true;
|
if (!fb_state.active) fb_state.active = true;
|
||||||
Logging::printf("Reactivating text buffer loop.\n");
|
Logging::printf("Reactivating text buffer loop.\n");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user