fixed all bugs

main
Simon 5 months ago
parent 893fc4bad9
commit c46cc8d1a2

@ -4,12 +4,10 @@
#include "guard.h"
extern Key kout_key;
extern TextStream kout;
namespace Epilogues {
void keyboard(Vault& g) {
(void)g;
g.kout << kout_key.ascii() << endl << flush ;
}

@ -53,15 +53,19 @@ void Guard::relay(Epilogue handler) {
// handler(global_vault);
// leave();
//}
Core::Interrupt::enable(); // goto level 0.5
if(epi_flag FOR_CURRENT_CORE){
epilogue_queue->produce(handler);
}
else{
epi_flag FOR_CURRENT_CORE = true;
global_lock.lock();
handler(global_vault);
leave(); // maybe not needed since destructor also calls leave
global_lock.unlock();
}
epilogue_queue->consume(handler);
}
const Vault &Guard::unsafeConstAccess() { return global_vault; }

@ -73,7 +73,6 @@ enum PAGE_FAULT_ERROR {
kernelpanic("Page fault!");
}
extern TextStream kout;
extern Ticketlock koutlock;
extern Vault keyboard_vault;

@ -1,7 +1,7 @@
# Test your system on real hardware
NETBOOT_LOCAL="/ibr/adm/user-boot/"
NETBOOT_HOST="y0085044@x1.ibr.cs.tu-bs.de"
NETBOOT_HOST="y0080589@x1.ibr.cs.tu-bs.de"
# The boot menu shows pairs of `vmlinuz-*` + `initrd-*.img` with owning user and timestamp.
# We just need to choose a name that doesn't overlap with another user's.

@ -21,7 +21,6 @@ Ich bin Großmuttersniffer\n\
Und wacht sie aus'm Koma auf, kriegt sie von mir 'n Sticker\n\
\n";
extern TextStream kout;
extern Ticketlock koutlock;
void activeWaitDelay(uint64_t cycles) {
@ -41,12 +40,13 @@ void Application::action() { // NOLINT
Guarded g = Guard::enter();
//g.vault();
while(text[cnt++] != '\n'){
g.vault().kout << text[cnt-1];
g.vault().kout << cnt;
}
g.vault().kout << endl << flush;
//g.vault().kout << endl << flush;
//Guard::leave();
//koutlock.unlock();
}
Core::pause();
activeWaitDelay(1000000000);
if(cnt >= sizeof(text)-1)
cnt=0;

Loading…
Cancel
Save