X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Finit.h;h=45e9545f0a190261d1687c99ab6f142285bc00d1;hb=6c61e48a8214bad4f9b845d5c5655423d4f6a274;hp=1d6c5c6fdd2d88bdaf765e672f8924687d42f32a;hpb=e4b11e55cce16307ffae87d90c08bacb1a2f3c66;p=pintos-anon diff --git a/src/threads/init.h b/src/threads/init.h index 1d6c5c6..45e9545 100644 --- a/src/threads/init.h +++ b/src/threads/init.h @@ -1,11 +1,32 @@ -#ifndef HEADER_INIT_H -#define HEADER_INIT_H 1 +#ifndef THREADS_INIT_H +#define THREADS_INIT_H +#include +#include #include +#include /* Physical memory size, in 4 kB pages. */ -size_t ram_pages; +extern size_t ram_pages; -struct tss *tss; +/* Page directory with kernel mappings only. */ +extern uint32_t *base_page_dir; -#endif /* init.h */ +/* -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 /* threads/init.h */