X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Finit.h;h=45e9545f0a190261d1687c99ab6f142285bc00d1;hb=05a5604be6df472e30d2495d3187259da2e380b8;hp=e23269de24568962d5d2ba29696e02414bc6f97e;hpb=6590923cc6884c88389dc5333e7f113d25022c36;p=pintos-anon diff --git a/src/threads/init.h b/src/threads/init.h index e23269d..45e9545 100644 --- a/src/threads/init.h +++ b/src/threads/init.h @@ -1,14 +1,32 @@ -#ifndef HEADER_INIT_H -#define HEADER_INIT_H 1 +#ifndef THREADS_INIT_H +#define THREADS_INIT_H +#include +#include #include +#include -struct tss *tss; - -extern size_t kernel_pages; +/* Physical memory size, in 4 kB pages. */ extern size_t ram_pages; -extern int argc; -extern char *argv[]; +/* Page directory with kernel mappings only. */ +extern uint32_t *base_page_dir; + +/* -o mlfqs: + If false (default), use round-robin scheduler. + If true, use multi-level feedback queue scheduler. */ +extern bool enable_mlfqs; + +#ifdef VM +/* -o random-paging: + If false (default), use LRU page replacement policy. + If true, use random page replacement policy. */ +extern bool enable_random_paging; +#endif + +/* -q: Power off when kernel tasks complete? */ +extern bool power_off_when_done; + +void power_off (void) NO_RETURN; -#endif /* init.h */ +#endif /* threads/init.h */