X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Finit.h;h=45e9545f0a190261d1687c99ab6f142285bc00d1;hb=bf38311a1c9b25090e92c3847f32a3dc984dac08;hp=8dfb6515e78c1075ad75f8a7365ab82537d42556;hpb=bf866bc97d077fa3757b4aceaa7a6b41e7298c73;p=pintos-anon diff --git a/src/threads/init.h b/src/threads/init.h index 8dfb651..45e9545 100644 --- a/src/threads/init.h +++ b/src/threads/init.h @@ -1,16 +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; -/* Kernel command line. */ -extern int argc; -extern char *argv[]; +/* Page directory with kernel mappings only. */ +extern uint32_t *base_page_dir; -struct tss *tss; +/* -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 -#endif /* init.h */ +/* -q: Power off when kernel tasks complete? */ +extern bool power_off_when_done; + +void power_off (void) NO_RETURN; + +#endif /* threads/init.h */