#include #include #define ARRAYSIZE (1024*1024) uint32_t bigarray[ARRAYSIZE]; int main(void) { cprintf("Making sure bss works right...\n"); int i; for (i = 0; i < ARRAYSIZE; i ++) { if (bigarray[i] != 0) { panic("bigarray[%d] isn't cleared!\n", i); } } for (i = 0; i < ARRAYSIZE; i ++) { bigarray[i] = i; } for (i = 0; i < ARRAYSIZE; i ++) { if (bigarray[i] != i) { panic("bigarray[%d] didn't hold its value!\n", i); } } cprintf("Yes, good. Now doing a wild write off the end...\n"); cprintf("testbss may pass.\n"); bigarray[ARRAYSIZE + 1024] = 0; asm volatile ("int $0x14"); panic("FAIL: T.T\n"); }