|
|
|
@ -16,7 +16,7 @@
|
|
|
|
#include "sync/ticketlock.h"
|
|
|
|
#include "sync/ticketlock.h"
|
|
|
|
#include "interrupt/guard.h"
|
|
|
|
#include "interrupt/guard.h"
|
|
|
|
|
|
|
|
|
|
|
|
TextStream kout = TextStream(0, 80, 0, 10, true);
|
|
|
|
///TextStream kout = TextStream(0, 80, 0, 10, true);
|
|
|
|
Ticketlock koutlock;
|
|
|
|
Ticketlock koutlock;
|
|
|
|
|
|
|
|
|
|
|
|
//TextStream dout[8] = {
|
|
|
|
//TextStream dout[8] = {
|
|
|
|
@ -71,23 +71,6 @@ extern "C" int main() {
|
|
|
|
CGA::setCursor(0, 0);
|
|
|
|
CGA::setCursor(0, 0);
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int numCPUs = Core::count();
|
|
|
|
unsigned int numCPUs = Core::count();
|
|
|
|
DBG_VERBOSE << "Number of CPUs: " << numCPUs << endl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kout << "Test <stream result> -> <expected>" << endl;
|
|
|
|
|
|
|
|
kout << "bool: " << true << " -> true" << endl;
|
|
|
|
|
|
|
|
kout << "zero: " << 0 << " -> 0" << endl;
|
|
|
|
|
|
|
|
kout << "binary: " << bin << 42 << dec << " -> 0b101010" << endl;
|
|
|
|
|
|
|
|
kout << "octal: " << oct << 42 << dec << " -> 052" << endl;
|
|
|
|
|
|
|
|
kout << "hex: " << hex << 42 << dec << " -> 0x2a" << endl;
|
|
|
|
|
|
|
|
kout << "uint64_t max: " << ~((uint64_t)0) << " -> 18446744073709551615" << endl;
|
|
|
|
|
|
|
|
kout << "int64_t max: " << ~(1ll<<63) << " -> 9223372036854775807" << endl;
|
|
|
|
|
|
|
|
kout << "int64_t min: " << (1ll<<63) << " -> -9223372036854775808" << endl;
|
|
|
|
|
|
|
|
kout << "some int64_t: " << (-1234567890123456789) << " -> -1234567890123456789" << endl;
|
|
|
|
|
|
|
|
kout << "some int64_t: " << (1234567890123456789) << " -> 1234567890123456789" << endl;
|
|
|
|
|
|
|
|
kout << "pointer: " << reinterpret_cast<void*>(1994473406541717165ull)
|
|
|
|
|
|
|
|
<< " -> 0x1badcafefee1dead" << endl;
|
|
|
|
|
|
|
|
kout << "smiley: " << static_cast<char>(1) << endl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Start application processors
|
|
|
|
/* Start application processors
|
|
|
|
* To avoid unexpected behaviour, make sure that interrupts are not
|
|
|
|
* To avoid unexpected behaviour, make sure that interrupts are not
|
|
|
|
* enabled before the APs are booted. Otherwise it might interfere with the
|
|
|
|
* enabled before the APs are booted. Otherwise it might interfere with the
|
|
|
|
|