gooooo
This commit is contained in:
@@ -8,10 +8,10 @@ void panic(){
|
|||||||
|
|
||||||
void prepareContext(void* tos, Context& context, void (*kickoff)(void*),
|
void prepareContext(void* tos, Context& context, void (*kickoff)(void*),
|
||||||
void* param1) {
|
void* param1) {
|
||||||
((uint64_t*)tos)[-2] = (uint64_t)panic;
|
((uint64_t*)tos)[0] = (uint64_t)panic;
|
||||||
((uint64_t*)tos)[-1] = (uint64_t)kickoff;
|
((uint64_t*)tos)[-1] = (uint64_t)kickoff;
|
||||||
((uint64_t*)tos)[0] = (uint64_t)fake_systemv_abi;
|
((uint64_t*)tos)[-2] = (uint64_t)fake_systemv_abi;
|
||||||
context.rsp = tos;
|
context.rsp = (void*)(((uint64_t) tos)-24);
|
||||||
context.rbx = 0;
|
context.rbx = 0;
|
||||||
context.rbp = 0;
|
context.rbp = 0;
|
||||||
context.r12 = 0;
|
context.r12 = 0;
|
||||||
|
|||||||
5
main.cc
5
main.cc
@@ -18,10 +18,7 @@
|
|||||||
|
|
||||||
#include "arch/context.h"
|
#include "arch/context.h"
|
||||||
#include "thread/thread.h"
|
#include "thread/thread.h"
|
||||||
<<<<<<< HEAD
|
|
||||||
|
|
||||||
=======
|
|
||||||
>>>>>>> 4e7dad9 (fooo)
|
|
||||||
///TextStream kout = TextStream(0, 80, 0, 10, true);
|
///TextStream kout = TextStream(0, 80, 0, 10, true);
|
||||||
Ticketlock koutlock;
|
Ticketlock koutlock;
|
||||||
|
|
||||||
@@ -118,7 +115,7 @@ extern "C" int main() {
|
|||||||
PS2Controller::drainBuffer();
|
PS2Controller::drainBuffer();
|
||||||
|
|
||||||
DBG << "Main CPU " << static_cast<int>(LAPIC::getID()) << endl << flush;
|
DBG << "Main CPU " << static_cast<int>(LAPIC::getID()) << endl << flush;
|
||||||
prepareContext(test1_stack, test1, (void(*)(void*)) &(Application::kickoff),(Thread*)&application);
|
prepareContext(&test1_stack[sizeof(test1_stack)-1], test1, (void(*)(void*)) &(Application::kickoff),(Thread*)&application);
|
||||||
|
|
||||||
context_launch(&test1);
|
context_launch(&test1);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user