From 6c4fa0ba581e17be51fd8267da0ab11b73a4edd9 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 29 May 2023 08:00:12 +0000 Subject: [PATCH 1/5] :sparkles: Feat : Add alarm function #6 --- .vscode/c_cpp_properties.json | 17 ++++ devices/timer.c | 19 ++++- include/threads/thread.h | 7 +- threads/build/Makefile | 64 +++++++++++++++ threads/build/devices/disk.d | 9 +++ threads/build/devices/disk.o | Bin 0 -> 33432 bytes threads/build/devices/input.d | 6 ++ threads/build/devices/input.o | Bin 0 -> 8584 bytes threads/build/devices/intq.d | 5 ++ threads/build/devices/intq.o | Bin 0 -> 15624 bytes threads/build/devices/kbd.d | 7 ++ threads/build/devices/kbd.o | Bin 0 -> 12656 bytes threads/build/devices/serial.d | 8 ++ threads/build/devices/serial.o | Bin 0 -> 17552 bytes threads/build/devices/timer.d | 8 ++ threads/build/devices/timer.o | Bin 0 -> 15248 bytes threads/build/devices/vga.d | 6 ++ threads/build/devices/vga.o | Bin 0 -> 10416 bytes threads/build/kernel.bin | Bin 0 -> 135168 bytes threads/build/kernel.o | Bin 0 -> 2414256 bytes threads/build/lib/arithmetic.d | 1 + threads/build/lib/arithmetic.o | Bin 0 -> 7320 bytes threads/build/lib/debug.d | 5 ++ threads/build/lib/debug.o | Bin 0 -> 4616 bytes threads/build/lib/kernel/bitmap.d | 7 ++ threads/build/lib/kernel/bitmap.o | Bin 0 -> 20312 bytes threads/build/lib/kernel/console.d | 8 ++ threads/build/lib/kernel/console.o | Bin 0 -> 12704 bytes threads/build/lib/kernel/debug.d | 7 ++ threads/build/lib/kernel/debug.o | Bin 0 -> 6864 bytes threads/build/lib/kernel/hash.d | 5 ++ threads/build/lib/kernel/hash.o | Bin 0 -> 21264 bytes threads/build/lib/kernel/list.d | 4 + threads/build/lib/kernel/list.o | Bin 0 -> 32504 bytes threads/build/lib/random.d | 3 + threads/build/lib/random.o | Bin 0 -> 6376 bytes threads/build/lib/stdio.d | 6 ++ threads/build/lib/stdio.o | Bin 0 -> 24624 bytes threads/build/lib/stdlib.d | 4 + threads/build/lib/stdlib.o | Bin 0 -> 11080 bytes threads/build/lib/string.d | 2 + threads/build/lib/string.o | Bin 0 -> 18208 bytes threads/build/loader.bin | Bin 0 -> 512 bytes threads/build/os.dsk | Bin 0 -> 135680 bytes threads/build/tests/threads/alarm-negative.d | 9 +++ threads/build/tests/threads/alarm-negative.o | Bin 0 -> 3840 bytes threads/build/tests/threads/alarm-priority.d | 9 +++ threads/build/tests/threads/alarm-priority.o | Bin 0 -> 8624 bytes .../build/tests/threads/alarm-simultaneous.d | 10 +++ .../build/tests/threads/alarm-simultaneous.o | Bin 0 -> 9600 bytes threads/build/tests/threads/alarm-wait.d | 9 +++ threads/build/tests/threads/alarm-wait.o | Bin 0 -> 14328 bytes threads/build/tests/threads/alarm-zero.d | 9 +++ threads/build/tests/threads/alarm-zero.o | Bin 0 -> 3824 bytes .../build/tests/threads/mlfqs/mlfqs-block.d | 10 +++ .../build/tests/threads/mlfqs/mlfqs-block.o | Bin 0 -> 10336 bytes .../build/tests/threads/mlfqs/mlfqs-fair.d | 10 +++ .../build/tests/threads/mlfqs/mlfqs-fair.o | Bin 0 -> 10960 bytes .../build/tests/threads/mlfqs/mlfqs-load-1.d | 10 +++ .../build/tests/threads/mlfqs/mlfqs-load-1.o | Bin 0 -> 8000 bytes .../build/tests/threads/mlfqs/mlfqs-load-60.d | 10 +++ .../build/tests/threads/mlfqs/mlfqs-load-60.o | Bin 0 -> 8544 bytes .../tests/threads/mlfqs/mlfqs-load-avg.d | 10 +++ .../tests/threads/mlfqs/mlfqs-load-avg.o | Bin 0 -> 8664 bytes .../tests/threads/mlfqs/mlfqs-recent-1.d | 10 +++ .../tests/threads/mlfqs/mlfqs-recent-1.o | Bin 0 -> 7168 bytes threads/build/tests/threads/priority-change.d | 7 ++ threads/build/tests/threads/priority-change.o | Bin 0 -> 6216 bytes .../build/tests/threads/priority-condvar.d | 9 +++ .../build/tests/threads/priority-condvar.o | Bin 0 -> 10824 bytes .../tests/threads/priority-donate-chain.d | 8 ++ .../tests/threads/priority-donate-chain.o | Bin 0 -> 12464 bytes .../tests/threads/priority-donate-lower.d | 8 ++ .../tests/threads/priority-donate-lower.o | Bin 0 -> 10288 bytes .../tests/threads/priority-donate-multiple.d | 8 ++ .../tests/threads/priority-donate-multiple.o | Bin 0 -> 11424 bytes .../tests/threads/priority-donate-multiple2.d | 9 +++ .../tests/threads/priority-donate-multiple2.o | Bin 0 -> 11824 bytes .../tests/threads/priority-donate-nest.d | 8 ++ .../tests/threads/priority-donate-nest.o | Bin 0 -> 12144 bytes .../build/tests/threads/priority-donate-one.d | 8 ++ .../build/tests/threads/priority-donate-one.o | Bin 0 -> 10840 bytes .../tests/threads/priority-donate-sema.d | 8 ++ .../tests/threads/priority-donate-sema.o | Bin 0 -> 11400 bytes threads/build/tests/threads/priority-fifo.d | 9 +++ threads/build/tests/threads/priority-fifo.o | Bin 0 -> 12336 bytes .../build/tests/threads/priority-preempt.d | 8 ++ .../build/tests/threads/priority-preempt.o | Bin 0 -> 6640 bytes threads/build/tests/threads/priority-sema.d | 9 +++ threads/build/tests/threads/priority-sema.o | Bin 0 -> 7672 bytes threads/build/tests/threads/tests.d | 6 ++ threads/build/tests/threads/tests.o | Bin 0 -> 11520 bytes threads/build/threads/init.d | 16 ++++ threads/build/threads/init.o | Bin 0 -> 20304 bytes threads/build/threads/interrupt.d | 12 +++ threads/build/threads/interrupt.o | Bin 0 -> 26408 bytes threads/build/threads/intr-stubs.d | 2 + threads/build/threads/intr-stubs.o | Bin 0 -> 39176 bytes threads/build/threads/kernel.lds.s | 23 ++++++ threads/build/threads/loader.o | Bin 0 -> 5632 bytes threads/build/threads/malloc.d | 8 ++ threads/build/threads/malloc.o | Bin 0 -> 16752 bytes threads/build/threads/mmu.d | 9 +++ threads/build/threads/mmu.o | Bin 0 -> 24216 bytes threads/build/threads/palloc.d | 9 +++ threads/build/threads/palloc.o | Bin 0 -> 20448 bytes threads/build/threads/start.d | 1 + threads/build/threads/start.o | Bin 0 -> 30720 bytes threads/build/threads/synch.d | 7 ++ threads/build/threads/synch.o | Bin 0 -> 24504 bytes threads/build/threads/thread.d | 11 +++ threads/build/threads/thread.o | Bin 0 -> 36392 bytes threads/thread.c | 75 +++++++++++++++--- 113 files changed, 578 insertions(+), 14 deletions(-) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 threads/build/Makefile create mode 100644 threads/build/devices/disk.d create mode 100644 threads/build/devices/disk.o create mode 100644 threads/build/devices/input.d create mode 100644 threads/build/devices/input.o create mode 100644 threads/build/devices/intq.d create mode 100644 threads/build/devices/intq.o create mode 100644 threads/build/devices/kbd.d create mode 100644 threads/build/devices/kbd.o create mode 100644 threads/build/devices/serial.d create mode 100644 threads/build/devices/serial.o create mode 100644 threads/build/devices/timer.d create mode 100644 threads/build/devices/timer.o create mode 100644 threads/build/devices/vga.d create mode 100644 threads/build/devices/vga.o create mode 100644 threads/build/kernel.bin create mode 100755 threads/build/kernel.o create mode 100644 threads/build/lib/arithmetic.d create mode 100644 threads/build/lib/arithmetic.o create mode 100644 threads/build/lib/debug.d create mode 100644 threads/build/lib/debug.o create mode 100644 threads/build/lib/kernel/bitmap.d create mode 100644 threads/build/lib/kernel/bitmap.o create mode 100644 threads/build/lib/kernel/console.d create mode 100644 threads/build/lib/kernel/console.o create mode 100644 threads/build/lib/kernel/debug.d create mode 100644 threads/build/lib/kernel/debug.o create mode 100644 threads/build/lib/kernel/hash.d create mode 100644 threads/build/lib/kernel/hash.o create mode 100644 threads/build/lib/kernel/list.d create mode 100644 threads/build/lib/kernel/list.o create mode 100644 threads/build/lib/random.d create mode 100644 threads/build/lib/random.o create mode 100644 threads/build/lib/stdio.d create mode 100644 threads/build/lib/stdio.o create mode 100644 threads/build/lib/stdlib.d create mode 100644 threads/build/lib/stdlib.o create mode 100644 threads/build/lib/string.d create mode 100644 threads/build/lib/string.o create mode 100755 threads/build/loader.bin create mode 100644 threads/build/os.dsk create mode 100644 threads/build/tests/threads/alarm-negative.d create mode 100644 threads/build/tests/threads/alarm-negative.o create mode 100644 threads/build/tests/threads/alarm-priority.d create mode 100644 threads/build/tests/threads/alarm-priority.o create mode 100644 threads/build/tests/threads/alarm-simultaneous.d create mode 100644 threads/build/tests/threads/alarm-simultaneous.o create mode 100644 threads/build/tests/threads/alarm-wait.d create mode 100644 threads/build/tests/threads/alarm-wait.o create mode 100644 threads/build/tests/threads/alarm-zero.d create mode 100644 threads/build/tests/threads/alarm-zero.o create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-block.d create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-block.o create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-fair.d create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-fair.o create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.d create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.o create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.d create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.o create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-avg.d create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-avg.o create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-recent-1.d create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-recent-1.o create mode 100644 threads/build/tests/threads/priority-change.d create mode 100644 threads/build/tests/threads/priority-change.o create mode 100644 threads/build/tests/threads/priority-condvar.d create mode 100644 threads/build/tests/threads/priority-condvar.o create mode 100644 threads/build/tests/threads/priority-donate-chain.d create mode 100644 threads/build/tests/threads/priority-donate-chain.o create mode 100644 threads/build/tests/threads/priority-donate-lower.d create mode 100644 threads/build/tests/threads/priority-donate-lower.o create mode 100644 threads/build/tests/threads/priority-donate-multiple.d create mode 100644 threads/build/tests/threads/priority-donate-multiple.o create mode 100644 threads/build/tests/threads/priority-donate-multiple2.d create mode 100644 threads/build/tests/threads/priority-donate-multiple2.o create mode 100644 threads/build/tests/threads/priority-donate-nest.d create mode 100644 threads/build/tests/threads/priority-donate-nest.o create mode 100644 threads/build/tests/threads/priority-donate-one.d create mode 100644 threads/build/tests/threads/priority-donate-one.o create mode 100644 threads/build/tests/threads/priority-donate-sema.d create mode 100644 threads/build/tests/threads/priority-donate-sema.o create mode 100644 threads/build/tests/threads/priority-fifo.d create mode 100644 threads/build/tests/threads/priority-fifo.o create mode 100644 threads/build/tests/threads/priority-preempt.d create mode 100644 threads/build/tests/threads/priority-preempt.o create mode 100644 threads/build/tests/threads/priority-sema.d create mode 100644 threads/build/tests/threads/priority-sema.o create mode 100644 threads/build/tests/threads/tests.d create mode 100644 threads/build/tests/threads/tests.o create mode 100644 threads/build/threads/init.d create mode 100644 threads/build/threads/init.o create mode 100644 threads/build/threads/interrupt.d create mode 100644 threads/build/threads/interrupt.o create mode 100644 threads/build/threads/intr-stubs.d create mode 100644 threads/build/threads/intr-stubs.o create mode 100644 threads/build/threads/kernel.lds.s create mode 100644 threads/build/threads/loader.o create mode 100644 threads/build/threads/malloc.d create mode 100644 threads/build/threads/malloc.o create mode 100644 threads/build/threads/mmu.d create mode 100644 threads/build/threads/mmu.o create mode 100644 threads/build/threads/palloc.d create mode 100644 threads/build/threads/palloc.o create mode 100644 threads/build/threads/start.d create mode 100644 threads/build/threads/start.o create mode 100644 threads/build/threads/synch.d create mode 100644 threads/build/threads/synch.o create mode 100644 threads/build/threads/thread.d create mode 100644 threads/build/threads/thread.o diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..fb29bf1 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,17 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "c11", + "cppStandard": "c++98", + "intelliSenseMode": "linux-gcc-x64", + "configurationProvider": "ms-vscode.makefile-tools" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/devices/timer.c b/devices/timer.c index 796f5a8..1fc9280 100644 --- a/devices/timer.c +++ b/devices/timer.c @@ -93,8 +93,10 @@ timer_sleep (int64_t ticks) { int64_t start = timer_ticks (); ASSERT (intr_get_level () == INTR_ON); - while (timer_elapsed (start) < ticks) - thread_yield (); + //while (timer_elapsed (start) < ticks) + // thread_yield (); + if(timer_elapsed(start) < ticks) // 타이머 틱 시작시간보다 ticks가 더 작다면 (당연히 작아야 하는 거 아님?) + thread_sleep(start + ticks); // start+ticks 만큼 재운다. } /* Suspends execution for approximately MS milliseconds. */ @@ -126,6 +128,17 @@ static void timer_interrupt (struct intr_frame *args UNUSED) { ticks++; thread_tick (); + + int64_t awake_tick = get_next_tick_to_awake(); + + if (awake_tick <= ticks){ // ==으로 해보기 + thread_awake(ticks); + } + /* sleep queue 에서 깨어날 thread가 있는지 확인 + sleep queue 에서 가장 빨리 깨어날 쓰레드의 tick값 확인 + 있다면 sleep queue를 순회하며 쓰레드 깨움 + 구현하게 될 함수인 thread_awake() 함수 사용 + */ } /* Returns true if LOOPS iterations waits for more than one timer @@ -183,4 +196,4 @@ real_time_sleep (int64_t num, int32_t denom) { ASSERT (denom % 1000 == 0); busy_wait (loops_per_tick * num / 1000 * TIMER_FREQ / (denom / 1000)); } -} +} \ No newline at end of file diff --git a/include/threads/thread.h b/include/threads/thread.h index 33b46e6..a8ff0e1 100644 --- a/include/threads/thread.h +++ b/include/threads/thread.h @@ -91,7 +91,7 @@ struct thread { enum thread_status status; /* Thread state. */ char name[16]; /* Name (for debugging purposes). */ int priority; /* Priority. */ - + int64_t wakeup_tick; /* 해당 쓰레드가 깨어나야 할 tick을 저장할 필드 */ /* Shared between thread.c and synch.c. */ struct list_elem elem; /* List element. */ @@ -143,4 +143,9 @@ int thread_get_load_avg (void); void do_iret (struct intr_frame *tf); +void thread_sleep(int64_t); +void thread_awake(int64_t); +void update_next_tick_to_awake(int64_t); +int64_t get_next_tick_to_awake(void); + #endif /* threads/thread.h */ diff --git a/threads/build/Makefile b/threads/build/Makefile new file mode 100644 index 0000000..b8a8503 --- /dev/null +++ b/threads/build/Makefile @@ -0,0 +1,64 @@ +# -*- makefile -*- + +SRCDIR = ../.. + +all: os.dsk + +include ../../Make.config +include ../Make.vars +include ../../tests/Make.tests + +# Compiler and assembler options. +os.dsk: CPPFLAGS += -I$(SRCDIR)/lib/kernel + +# Core kernel. +include ../../threads/targets.mk +# User process code. +include ../../userprog/targets.mk +# Virtual memory code. +include ../../vm/targets.mk +# Filesystem code. +include ../../filesys/targets.mk +# Library code shared between kernel and user programs. +include ../../lib/targets.mk +# Kernel-specific library code. +include ../../lib/kernel/targets.mk +# Device driver code. +include ../../devices/targets.mk + +SOURCES = $(foreach dir,$(KERNEL_SUBDIRS),$($(dir)_SRC)) +OBJECTS = $(patsubst %.c,%.o,$(patsubst %.S,%.o,$(SOURCES))) +DEPENDS = $(patsubst %.o,%.d,$(OBJECTS)) + +threads/kernel.lds.s: CPPFLAGS += -P +threads/kernel.lds.s: threads/kernel.lds.S + +kernel.o: threads/kernel.lds.s $(OBJECTS) + $(LD) $(LDFLAGS) -T $< -o $@ $(OBJECTS) + +kernel.bin: kernel.o + $(OBJCOPY) -O binary -R .note -R .comment -S $< $@.tmp + dd if=$@.tmp of=$@ bs=4096 conv=sync + rm $@.tmp + +threads/loader.o: threads/loader.S kernel.bin + $(CC) -c $< -o $@ $(ASFLAGS) $(CPPFLAGS) $(DEFINES) -DKERNEL_LOAD_PAGES=`perl -e 'print +(-s "kernel.bin") / 4096;'` + +loader.bin: threads/loader.o + $(LD) $(LDFLAGS) -N -e start -Ttext 0x7c00 --oformat binary -o $@ $< + +os.dsk: loader.bin kernel.bin + cat $^ > $@ + +clean:: + rm -f $(OBJECTS) $(DEPENDS) + rm -f threads/loader.o threads/kernel.lds.s threads/loader.d + rm -f kernel.o kernel.lds.s + rm -f kernel.bin loader.bin os.dsk + rm -f bochsout.txt bochsrc.txt + rm -f results grade + +Makefile: $(SRCDIR)/Makefile.build + cp $< $@ + +-include $(DEPENDS) diff --git a/threads/build/devices/disk.d b/threads/build/devices/disk.d new file mode 100644 index 0000000..b8115be --- /dev/null +++ b/threads/build/devices/disk.d @@ -0,0 +1,9 @@ +devices/disk.o: ../../devices/disk.c ../../include/devices/disk.h \ + ../../include/lib/inttypes.h ../../include/lib/stdint.h \ + ../../include/lib/ctype.h ../../include/lib/debug.h \ + ../../include/lib/stdbool.h ../../include/lib/stdio.h \ + ../../include/lib/stdarg.h ../../include/lib/stddef.h \ + ../../include/lib/kernel/stdio.h ../../include/devices/timer.h \ + ../../include/lib/round.h ../../include/threads/io.h \ + ../../include/threads/interrupt.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h diff --git a/threads/build/devices/disk.o b/threads/build/devices/disk.o new file mode 100644 index 0000000000000000000000000000000000000000..85787503a11bc5b4de8af0b923f288e53e05f79f GIT binary patch literal 33432 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 literal 0 HcmV?d00001 diff --git a/threads/build/devices/intq.d b/threads/build/devices/intq.d new file mode 100644 index 0000000..29aa263 --- /dev/null +++ b/threads/build/devices/intq.d @@ -0,0 +1,5 @@ +devices/intq.o: ../../devices/intq.c ../../include/devices/intq.h \ + ../../include/threads/interrupt.h ../../include/lib/stdbool.h \ + ../../include/lib/stdint.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/lib/stddef.h \ + ../../include/lib/debug.h ../../include/threads/thread.h diff --git a/threads/build/devices/intq.o b/threads/build/devices/intq.o new file mode 100644 index 0000000000000000000000000000000000000000..fb71fbf353f6bd36957ed297ffe27eb654eddf94 GIT binary patch literal 15624 zcmc(le{|HNxn0~ z4-X;=vZSo%fM;brEA6S;cC9_#vhHq=ia(-Ok)EEGu17slpM$GYqNKA+;`Q!CU+j;T_wEgq5Ewb-s| z)D*QjJoJ8e-><8}LwB7IAL=+C9y%F*id8S1*63t=8xk!a+Sq2)Ha6q+lT=*`W-gnNo ze>gi{MCXoY@leOv(G%co_6;6r_#)!;|jYaN)uQEHc9sKD7C4_@PNZ zxX#~xu*2f{rgTWp4)LTyKXB3&@MF>sIxggo`p~(99Upy;pkFgyh(2@Bmyc%=ChzF5 zo~O=2QGuWrtdJi(E9kH`_M#JqHlN3!fAOP(>-_Czwj$53XXde4zo^XZ-E^gXxLgzp2MqrJ}Mch~Z zY&>(=>wUv*;UyjCveR@7@Vfr-ITOkJ)`#Zt+PyE6lZbQ7v!M>L*sJ+wM!uyI8)m5I3h1DRdHIdg(ok#Y@# zbLR$k?+zAF@5v?-Ic=RmWn*1^s(tk6Gc;h-MGGS)Op7{?I^=-PL;P@HFzNh27V_9} zm5%o&qX{*Cf>K4g+|iqlaxGgQ@05&W{63xW`-_nUii*LesqL@&A`ri$3$#7|ln4@^ zgQ|v18${wS9U=AmkQ7_N)k9f+YIjC z2P)^Gqv(t7=)uz3w?Wp$rS;eklBc61&4$lFxy|Xy_NdaC?||HHco19PYvjvO-ml8< zgW`&tK}L@&?*M}Wt<%lNf>S-LJ zDinR4_=)K^;z%JP1W7_>c5mg2leh|IoS4YRsWy6TnTA@cf|DKf&E2m-&UA zxysHw2LUXsb{20x6CDi2LL(!3xn#hK+l(yfQ@-$CUw4d2+|nF1Zkjb$2C}>1FEwsh4@Pd~`2O zhw5?haXLVP@7QdZCfK2R6kyeTzAj*+uypXwWLm4XTic#%?Etk_ZMSw5;KfV}GhC>x zhijrLM{{OEn%gn7)0t}vR}l8Bj3#7mhRnmoP)B+yP>~azs+?GIcTNn1b7ILoBjTQ% zSX@6M&KMEvly9fnS%F7|&1QjO1Hi+u4tXl>>sR}`JSnbL>>_B_%U#+Uc8k382?fPK_Tmo6D zhuLa0v$ndm4l`4R?)9n3z80ueGh%IRb)LPcA>Ycnf-Oz6OGK^O5qGhrx{yMzlaB*jx(QK02NARRhLZ?1n9g*=t~u0){)6CpUUmSpu)q@WG)i#)O7BX> z`V2HJ8X33nAiD<}+4{Hs01O*Mz>D;F(SBFK&McBKry70A!QhxP zn@Xf&+amEKoN@-dc*=`scBw2BFKUGfCZ3W0M9*MarTbD|22Xp+?MXy?(QGbeH$KN!N?VARF~!eam;YEoxlU z8f@$hHf{j3J)oTGkAr0lZR0=+{Dq^j<^u_63Ka&hItuAbG`6jAz)NM^SSIB`xRbp> z{eh7*$7&Vpi+UWRSl07gD5BUy{Y*Bkw!5)NGNpP4BA(j|Q{VN{dgNHm#5Hey@`*l) z6JSSlo0}boWa1G044nT>km;DOvPnGQy4^wTh;b@yri(rV+odBN$koE0!2h6`MmT#G z%!e__D@WS02q-G*)f;gWZoip+9*EJjYckQ;U^Wg@D6%S*N~lPrC!35#A~gN-Y*K7Y zq@XfH7Obn>+X>waSQv&`OTo#$jVsmLzW_GSehpl%jN_*YZm+E($ zvR&C^CW~)Sng&2Cm5wZIGR~x%y0Y;^xA7^@XIdE7ZN+7Qp6a&{L|3ibu=>W1>r~gS zj9vzVd8N3bw!$iPx2q()oKb4c>eWkw4V$$WX3{q#Lxm%a$RBr1vkm^1)pBZKhc1-Bhmp zo?Q8ED%aabE)Q(;p#rvjjLP*UI#=GGD}R>C^@g0wBig+7?_a1~pG3Gka7(WK$5gJ* zSh?~#T~0-#E)W`cwEXVEr~&|RYb}I@{lNS{w{%ZR^-J6K439$gJG+Sw@V;PDUn zEySss!q-^H*{(jU1H%-c^Rvl~d?st?3mK-YWViu#?D=e_@5K)#Uv!(;Hj0giUwBs+X!`8(pb zkxP1Q0XqTzh3vmJ2FLH`3hBQK9NYad?Uwj}`|C0E|2PK6_oRjF>!$$h@%Zi@YH6Fl z#Lg{PVD532!h*KEm$6n!E8e=zV*(5<#5;H{w`jg@%RHJ!_B!|!q79I^zw6y1?P|1^ zzCmk=w@$eG(C^3dA6VKtKgx6k{qUp*xp=Od2R4=QzR0|XfLP+N!e%~~k|ZIo&rzlJ zSe(}&qJx58M)?N>57PX3MDT@_KW_2qB;(~hi`)KuWO3V{PXuRw%zJdxU)1OO+cfeE zFUZ-SITpA5S!r>cvV1?h!{WA|dn|7Ic~Efn^8vxzDgTJz?B{Wd+kQT0akdTas?!!n ze{Mhs>21Ne&U=EhKOYLt{`hGfW3lbeREy8lEt-#3i=)WTi!~MxTKczGJa_ho@&_!A zB9F_ng7b6d9gExJ^`XV>@%mrEIXE_Z7|kxy9}H91)!BJS;fxE1nRXoi0oDrP;!I##Uc>b_I z|1CKCW4_BX`nEsws4=u-uZs;9x8onNIEtO{k0~xV`+Ss#f5VI%-W{snX>EA*NLS{+ z$3Q`3wh&M`qXx@BrjJSSj6JNla@orC8vUD^H(R0+=yn3!)cS+$z3%%7nA zM!_E>KQ{~hQ_6PKSKEz1Yb$x^{U{nQ{3*OEBBYw)VBra=iifpSCaixg4Ym#L+}~Ie<}En zDgS}sZ;?Y)6esrc3uI@8;PZ$#2)>o<+$eYp>3>=9HsU>k|CaLog6|`JPwO1c&#pI(D0nU9e<=71ls_f7M|R#2{7K@!6ugb{zY+Wljo<$W zj^{;8CDacdM{c)T@Uv9^YQfnL9v`+-O8VCceZKE(6ug}DZxj4WlurwuFz%}Zg6m&T zK-mL=a~!@d_@k76Lh$qC&r5>8Ozr+ea30@tfDXL!~^uJ5I zTJQ&n*9*>XP!=bXkDxloa4XFvV$)0 zd2O@BvB_UiyIq1ell_$7%ZS_iOf+#X@gbql>-VVOe^2_43H~ba($J#|3|t`18a$ZZFVyy(aYeJ@9`D zeU9gUS^5~yW{Sfn7RM%kgU&!IbIcXhkhhS2t>9~kUrn6-?Aw81V2Iin6S_LyhnvTsjF86=XWTt3p;Bl{%?)J|5fl#YT(^5_^$-# z^Tr2b@Q(z)l;+9#G57_+zfbWD;E#MD@pv(xDERxNUpWS^5&TK=r)~@$6#QGHKWhwr zmEd!X+p1{{PPZT3Fa4`Z(&w`?c88kOC1kHO&-*JCO7H5=MB$e=>5ONteJsH@5z!F-ieH7gqnW4*b;0kC zLte^cbgB8SBcAL@fe!vkCKB!H!ta+uR&mseCVS!c)iz7SlP*_*_EadA>hH&2Erj4J zZ8roz#4ta6ph|8Z{SJk?_qi`YsEMKA@n=KrB*@=1QP@~bzx&2V9_w?#S$ffPp6-+Q zE(Gh+vdVoIgYyzO-5x+PX(rXT5sTcDtj|5b}j4X%&=V<@EmgTSOuSTjNG^LrI!n4~VAOAEE%PVIA?uzftE z$@cFeo9riKby`R-{?3Sr#qIO;AZVj3>(|s7JM+vX_sRA6dIU;X&MASglIq(GWvTmZ zVsierQ~g>|f&0&P9|56I{I*d1hDj0QR|WrEpW}+=W!qR~3%$hNN%6zsoCg20KF$dd jVj%GS-KF}X_vOT#>FK9P0l7t(^OX literal 0 HcmV?d00001 diff --git a/threads/build/devices/kbd.d b/threads/build/devices/kbd.d new file mode 100644 index 0000000..3aa6ae7 --- /dev/null +++ b/threads/build/devices/kbd.d @@ -0,0 +1,7 @@ +devices/kbd.o: ../../devices/kbd.c ../../include/devices/kbd.h \ + ../../include/lib/stdint.h ../../include/lib/ctype.h \ + ../../include/lib/debug.h ../../include/lib/stdio.h \ + ../../include/lib/stdarg.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/kernel/stdio.h \ + ../../include/lib/string.h ../../include/devices/input.h \ + ../../include/threads/interrupt.h ../../include/threads/io.h diff --git a/threads/build/devices/kbd.o b/threads/build/devices/kbd.o new file mode 100644 index 0000000000000000000000000000000000000000..8f5f8cf8216546e32532fc9fe1d5ce68dca3f441 GIT binary patch literal 12656 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 G>i-}AE4rbMk3Zr);hv(1SJDg>W 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 X&Q;GJV;WC?^94%fmyV_y==%Q!HDY#; literal 0 HcmV?d00001 diff --git a/threads/build/kernel.bin b/threads/build/kernel.bin new file mode 100644 index 0000000000000000000000000000000000000000..2d2bfa57c48047cbd1ae54ca6d6dbb5fbbe93e0f GIT binary patch literal 135168 zcmeFa3z%C~)jyoHDIK7afCUCcNK1j1av2bKTP`vnc|FAzMrE|h#VSxLf{bNSiZUf7 z9hevf$G_rR6t((#sd%B@%9#--nHK3-5CS3$atl~Bhm0Du+5px0ervD2_t_^oNv7!g z|K9KU(&y=9oqhIRd+oK>UVH7eFXyhMsnJscfoP!POAEJ#*F6#l1WwF`zm_Zq!#8ii z!!G(04M+3I(P(&fzW>ZXB#In^flwgu*YEIS|62mlXdwCE)YRbs+Zg;{3tl1_Dedaz zne-9~9Wr4s0py&a|3FGzyCo0|1neaKq^72(B)7ICx3o+n@)jju3B-&2)2RCJ>@g~t z4WIOeAaaJ=!qMy-03^b*v;EU{BX>9$u}}GFG;mc*$AiUxq7w0MVgf&3xF;Zf|Ia;v zg9AH|xB0KhfhGr<9B6W&$$=&ZnjC0ypvi$I2bvsca-hk9CI^}vXmX&*fhGr<9B6W& z$$=&ZnjC0ypvi$I2bvsca-hk9CI^}vXmX&*fhGr<9B6W&$$=&ZnjC0ypvi$I2bvsc za-hk9CI^}vXmX&*fhGr<9B6W&$$=&ZnjC0ypvi$I2bvsca-hk9CI^}vXmX&*fhGr< z9B6W&$$=&ZnjC0ypvi$I2bvsca-hk9CI^}vXmX&*fhGr<9B6W&$$=&ZnjC0ypvi$I z2bvsca-hk9f1LxJR_b?Fa=az=YO1t6)wz3lDpn5POaB4?dEggYWrm1lFZxh4lt7IW zIm`aUhc%1>RvQ0P+bnzW<(_2woE7@no_hJLP$Iy^FZ!-dPsK`>{lpLSa~jWts?Vs+ z`lNnsfBu&){He!Xctmc2=#PC*v>Asw(%v4XWNRwDFHFO?j^pHKpSAeWLAMCGyk zw%BgQijOJqyM?j*%9)lO2uM2dd|fDc#qNJt=_PrTEDQw+Me1Q8j{adT2H~e-V^*?f zEYSVNbZob^-rAQWwgn}|ERePqltg6Jr^iOaH(xU`F_8f#wCLMES4dpNib9!s0-;18 z5J(4vGOUr0sE9QySx8VLx5aiMQ^5HY{s@gbJyuwGiZz&1k{rr?k2yMwR)N(e`GTGT zi)`zy{Pt{8;AK)g>CTDbQGW2NwISD~3E+7hAN7RpiGR%Y6FxU3+>8v1pMMD>_z)PGU7Dyl-c;V8YJ4)Mg% zy87O1{A9n(R_XyO^QKx=6;G;J=CE32%obikg4{>Y`H0(PG|k#nv_Xf*oE1UPO*#P$ z?FUzf=g2xlW3D_#H-@C#4;6+A4Id@*NPY3-DhXK(A8n#JE8W7An0t;MUJakG3SC>PklDdeqcb;%cG!XMGX`BTlmn7G ziwOz{CJbmMw8`AVhf(2rOdtx=5sAf;{nb>C?&)AuxwZJI0dzQE3ly(L$A$6gpZRk< zk){;LQZhY@seRy2e+MxStO}f+dQ=c+R}*)n4{<}TgdU?VB=Ieb?Yyy%U@#xlqF1Dz zgfZgEK+H&fD$I%$4{;{kI|>0RUS{&Dc5}=!#v?HX+55VKZYC@B$QvBBJPkOgrC=QyD4`3{06eP7(*Ud=(t)AF zQLQz6n`$DNgYSMk8cHCUh8iR5wsw3riTLiOwOaOXuaAZjNS?^0rVd!i`{!Py{ed>L zc#J&*6HoUVKJTVec}8cb^svmjkL>H7ccE$#Jyn5be;2K5A!G zqtP=K#>(-iWw$GiA*sJ3Xe6W}#lztFRKC{<#JHvMZ8{*zsz>juWO?c;cv|IN)m%lR z-Jy}Um^A^hNfz0&^&ZW#)sTzP-*vZWs4Ar5JFHYExVa=J{F*p4_t%PzhUU&ynoFZo zJD?3@H))-1bzEv3vB0B*WX{R-G zqEs&~JU~tc%n8N-!ZncKM`2j3RL5#cUcN0sT`VHTL_E+~ryok@!x$b~L^f+%B9Dgv zn!}i(HhWzY4JD8^k%Rq|ql*1IEvIBDxDNJwk^Org1};zx6k~Ipu0J_TqS5UDJ@w>a zYBhQwOXsigXefb#raJK8nCvM8y7xzm3+Y4|InI1%=Bi(kIosvaCQG&HZ^&7ni1~UJ zlY-w&=-Wfd@)W{6?H)E$mZ5GMGtp2NGnuJmcCPULT+=spx;A~tfOZFg2Oc}wkxy%T zpgWe)@srsWZGa+{u!SYiTT-@ADzo5Gc@jKYs(2Iu2@P6;VK>Bs$1ES7XiWQ00+Z5C zw`J*oY}aHpc7>um+NeI;m9Ct=J=z@&CBSkF0fX(TEkhdPF+Ld0DT+JqcIju6Jjvd+ zTG4*8Pfg}PYZ*&%1!!xd7EZ4&tn^ob^pZ0}lC;`MYX1mg~?6a;`>96f9 z?$B~c^}yD~OKjI`3>ke&2DdeofiXml@Ub>=_TN-V1-vT7!mk)kAe>15_ZW6rcg%i}kR4p%E4|e~3N>X}CT*T0*>0W}Mj6 zZ?%wh8j3)6WCK%=SoX#4TwP=tD2MTqz|=s2@&QbDj;A_W1vX*l$;>MqG+fB#Z<`fL zpvXiH;U7%hwCbb-@OF%h8_!S~VU1g?WTDN~UHBPr`la>N%0c z>C5M|E>2%OC%QO&;hedP(~IY{El!_1XMu$*?N<86IhKWd9Twg$weWVCh0H4~Wa)yd zxcc^s=d|1&ngcLuJ))>jj*B@sn{M(jlpCAOE)X_^=8FuMCO6h@RI2oJ1Icx~=Ut+m z=_RGbsRfHuT`h}KD4(O^){>JF3N?`X<6%S9q8+i6h33jl+a01 zJ>!#Wnys4FN`6jVuf(;)JW6#hvN!suxyE=%Ba9h$_ED`pQc}7y z$kk1DyuM#y=+d$A)Hxx`Hk=(Z5|Bp~rg{iVdBAnLCJ~OC%%pBq@o;XV7E`~Y5uQxM zm=EtXrg@Dpk)aVTNU72VsfYHMMrdJ4^ejzHPPT#Z(tJ>?Z{4@(iTwHSx|Dn&e7ULd z9&>6ZW=!2ziT;3c)Z`Y)DAUo?O+KqJZJ0(#N6*z9kE2%-+LF^UbWMV1w)`V^wrtOp z6Ku@Lte`cd9#i{}n`+Fkw|zMpN}##q`tLT?2mvL}_zE*OSqE!ODb5EPwcQw!eVvpU zY<4K70((HFR&i>Bn!?&1P9Y=uRakq%=0IP^ePPQgrg50b-Gm-gGD8d7-GBpnQ}L6M z5-}X;-j;5UVlq8;N1dui zAi`oqJihI|!7M)9dj)7WV*liEq#~}aw21KvzSV3YaSDr}SPvqsZc--lhUg5^xB_Gzk{b?z1`4xyX~eJ-+3QUndUq~#Q8-vt7z4rzXPNppN^8!1HK9r?eBB9vq= zQ=u8AaOA}hLZZu43u?SU2b;2d8^sFzONKXhgpx0o`#LZH`J(0w)9YrKmVB|4+`eC5 z$F$l=kmt{hGJK^$hV6;k8PL$ZmZ#ck5P-KWDFmZ@n~0Y)ja9G0^>e57*L~UiR(8;TbCY3&TgHE@g zz&d^SR-N8uqR(v5>8qng{y|%(TXT){;iq+amxrFRPG3!Wr0IF{4`nY*S?xyp@Toez z%QDh4@7C$7JB;+ft981y)JPv*r_;NZ8R?k~I(_vDBYkj0r(0b{`fy&SZ%R;CbeoU~ z{zx^!?(@DHJY2u(8}PmwZr86it;Z|Z97a>+RJ@$RdSq%zVKIW-eX-r)&CnHl*_)*q zriDsjHYjHFVTH&r8+m0meoeL3F&oLAoxyPLVi+c_LYWJ%WlGem;>m_pl*Od7Je4Mu zU-?&1VekMemh85MTsnVYrDtx(vP`#~wH@_QJ(mzSTL+S@PPN{+zX1!3-d3WYa+Je2%>xxMe>q1vyf*LgiH`EVGo zr`0GuE&2OD*LscSkGwc7^+b5{yI={wviD#5-Zjk{avL^kjl6({Z4YlgZ(8yfiN5oE z-&)Bnd!gx5{7T|oOX@V^4J}pC;NY4!=e&PKmwxl_)1^kJ{(qrMzb_>p-mjLvKv)0Q ztCNr6!%_(bO8G*KBVy|Yrm-_}9z!YubE(b(OlYEK_u;Gd!rv2C!3<@6%urynbOV3i zKnqEAc*&--v?w)dr5>f7HXNfOpDTG&G?YLBmK3ye>SxsjNiibndXQA`At|azdJX96 z*>NVRCr@NyD@!_#jRa+XTI^->c^JXgfa)+fui8xiu^iHjF{NG6G9y@@7R&yStO2_k z)C#*(PqjGptCgwyQ{HH0DkW57pmo&hR8Z)XD)4T=D-R8GDQ^`Guwp)` z0&i7bWc8^{q*ms2mmKBP=I}L$x9&cHhQ@<^n7&Lg{R~uHPXUIbL=q9ax@FE)|5Vj`I6nLzC0rvkG(8RB)D z6MdSqS~cgr4Vp9QxtqrLzJ?f;-a{)*6%BAh2c++&d@ORX$m15_rLf!(hS@P<@kI*d zfMJSRM|Z#9n{Yz6B@(Cu-twtvC;%sB!tNw>YZ?D` ztl;1Fu0<*61rTgB5iHUO&ej-ME7F+h2uvM_<_kUAghnYO`9?_Qav`ftB3U4j5N8yU zR_Xt9!+j`ekw_vEiR|s|QH8;3fMH;x7DPZa{syx^CHKPjid_fcdrMRwo;IL#_})?Z zln_rjerjJGzBhYzsze-JZzA<@)K!+2RN0*&DP`ap(l54R0WfkKmPT%)rIGQ~R*IHO zQnYZAq9v3REvBSsStUgaEGaCtEJhZrSJ3hc-eQ%4mSj@2ID>pxz@P=2)ERSjTidd< z&~*FQ?b+LNx94w%SMrC#cV3;C_#a%?xhil~z?p}T9e|({WnhYPFauMa{TK*2(-@fM z?8agUGVkU5m4WHbO9Zqyzvbt>o!=0!kMk?~+1Gi9lV>@Kv7?|U{h8PMMaHR7W299zZ z299>}49s<&WMH22FayUpKWAXRa~}i8IzM9IIOlE#j(5JwzzNQJ2HKoYGjO7F3j-%P zJq*0n>1N<$=c5dq;(VBaQ=RuS@E=YG0}GsYFtE^h8v~~~r!a83b1VaAI7cvWrt>BS z-sbGjz*$ZU1MSYlZqfF$oxd}1j`K$b-tO#R;9Tcv24c=*4E(3_3kKfdWErrWdl^{d ze4l~yoNqAjPUkKL7CWD1V2Sf72F`cZGH`*jnt=}IS_aOsGz0H<4rAa0&VdYE1<$Nh4Wtwe8jn(fvcQe20rTC z$iUUkbqrkNT*bi0oDVT@t+SMYF6ROUKJNS{11p^~8Mw|lnSpL+J_B)QHUq1iLm0T; zi7>F*na;os&Oc#}p!}b3{>H#3opAY3BQFa_bAa~Vz(ynx}` z2tJnKeuAS6-%jvMhCfYk3&S+FJG);Y4y^bL!6k`41bQ`hZw$t;4H(R zC-}z<)9!p{Bf~V_I(IRAC&2>@e}Uk241bZ})ePT7@YM`|iQr`nf0^J58U6~v7Q-6| zK7-+}65Ph{*9e}&@P8BB%JA0-p26@p2o5m(O@eop1s`a^(kU=Z1Gw`H!`~)2$MD?* z-_P)O2(}rf6$t0M41bT{4Ge#u;LkC955av5lT+i|$nXyc?qc|d1YgeZj|g7M@Q(>z z%_Lj1aD$^3&CG!cq_r{8NQ$3+Zd+3WMKSA)18KzjTvytI3g70GZDS`(WrofxCj^U>XUd`|`1YgbYvji_= z_&I_vWcYc4Er#<1pTY181h+B#BEfSQ{w=|+4DTR#2E)H2IKVJPbDW)j6MXms!3Bm3 z1V6*DLvW7amk7R};Ud8{!{Y>hm*GDWyn*3A5&SuZ|4eWn!zF@mWcX!*yBPip!Iv}q zSAv%^yp!O?4F8Sbc832>@W~ACB6u#tWr7c7_!WX948KZnh~d`=F7Fg=r!`1toZ){E zoM-r-1V7I31i_<#&E0LO_)fjOY(P%nt-&uTXlTW~vqA|J96la@tjv$)3+kT%&+;k! zdu+DaDYx3u-YA+Ky4&qtpFS!g60`xAHcR+bx>{A*-l$T)Rp9N4c%vB_F!rQUlGxIMs@=mIv~Y}Q-`;B;vNEq}lz=Hw&=|?7sEbhqm%zWzeI*)7AoD~{AB~9kut_5( z52Ybu)hS#x@R%YTRua|g-8q#8#7|IJ#VqnM8c+ZgntanVVscm-B34cN%AL_r0tF^= z6mmwmx%;5%HiC|b#~3x%$1&ARaz7eSgAGoeW^%Z6fsgn!R&rz-V)bfyMK_ZQPABSG zJ*L%9XeHGea$XwLTd>mD;o)v!wH9s-e=duS!>#UdGcW%x@@Z+rmV-XI8x3k?{`rmb zh`aUJSftwo2g4R)yMN|n2qDsS#<{1a6uF;?lw-0G6Inx(Xb^dr@KkC((0P$9{eQNrX+W4 zqqeBy0)CRySdMFiWwMgf7>{p+Q4Nc({jS~nHP#avW92^K=gsh&Do+MGN3-abo}qY8 z#nGBscpt*EsAY`vM=IXWQ18(+asCo@6H&CnkxyGQkxJm0SSsm| zV&EB)XIW}(&)CF7IB@-5$ZQuw_`3;MXoi6QI4h0~^GEUn9aJUakq*?Ujur`{){aPV z5kJv(-LdQTtt!#pf)}GWT3c1VgK&a)avfkjIwIum0S3>H9s17Qci+A1#Z+#j5L$?x zST}zjQFc8}tsNhOK&;fy=3?=|O8tbECoEfEgfb1y3aFEVy>0X|-7B)Dsm@-Jotj7j zE6hNvH=){1)}t8QA?tQ^jS6i+-eQIS6St|r5vCmT$w!WD*cPK1IysFS@R-L{C`3;H zzZ40<@~NRk>yc}{uNL8601C7qN;8GD=pi318W5uG?cgTRkJP0%q8a)T>hu<%&`G97 z$y`FID)qS6GVz*vCQB(*>unbq?~wV$lhC;w>J(3cjlBzyjShCjaU}#J#{qgU3%vwW zx^bL54X>ji1ic}=j@q6qgLYxCp}W@U0>LU05n;0C#qy3t9iLu~ET|Qad0c(P-MjiweEWxt@%txknXY>pGsvY`lo2% zwu$7gDO7$r*OxaRU{OB~Wp~ zFoX<4`iBY4rFW*<(zCD5!q*UpOl_siT2)sIRqaH!UICIgd%Hv;|C}D{3*Y=LR;xbP zCff?X9e+GVL)2mm3+k%XvL8f43CKpA%8OXGegmsnTn@6hfXlJU0{RUVz%4>PVx-7r zrR+^HqL!?cUb=vP+uOt_eb5rt91M2UOM)=hy(>hEL6Yd1Y+}7h*oC~!KvCGBF;A!U47b9DsS;z5AM_F>T4b-cQ5!CdQaeHD!l(+G z&iH0Dlt3oo(zv(lw558U!L$Ykq@GFU=^Q&wtSCh*?&HzY5^608dAV-3ND`9m%n5nA zF8<2*YN5jA(Pdp{-i8iLpa&JY50Pk~mpBbI@*_KElZ#h+R${O0FEG18dyq2<}x0H3%kaoc#-YFtHq_gk%p5mv@ z5*4%GR6Gyj3P%br0(B$Ibb+edu-7?7#ffA~Don4(UMCS;4zK$-WlQ$t0WK#{gvC7L zR;9f#3`|)V7*;YRUF_1Yut@q1vEE}~G_j}o5L>}A2#}m2vKeJ`dXLS3{+NSttT0T& zxX>wAZn7Y(MJG791S-dOjZE*H6-ppG8Bhwguc*h>vwaBlaFwZ(mBdSa#t6nk%Qhn7 zhA8BQ_&%#|yK}R(X%$fSvyh(7hdV8pA~uJWMSFj+Shc2N>>w6FQcyADf*|5r8jiC% zXU`l7xi|#BQLKYnMD~GT^e5_h?QJg6Z!}CT;fx?liJj=YaXL<)$ByTaLHW6mCt9Lp zN_!6Z8LbAn#yBFV0oojTF?Id2h0~-f>4p-53fFmdXnKy(QHPH}$PO)%!4#b^JCq;@ zg!Z3@-HY45VPMJivEvH)~-0@Ny=UV!yzI3s_CyAN0Q0RCqt}{UQxEz_LL{4V~^P_ zv?t2dq;_c1C_4NoUBN>&Ip>qBW9w#8C#Ad7AQYNBjjs9+x-e{++3tv!MIh5H4ldz< zw{o;x{TmkqC@P`4z-ypa-h2~uVOy^GNp zkBAJ12L1{Ph0KL)!E5nLohzcegW}n;Um}&q|09Q@p#<S$ zf5Pc$6WJL22XDxfkN~^)MiQDyms#+;h@RfX#(3PFM?PvrHSls!J{O3;1;yaxqNW|2 z74_W3ZidkC5@M@t8dyjdh%Unq91+?@%@}_E6NLfv5v|m%N|^QIkFb4kXwplljc6NN z?Z3`ugTtO!1s#-8)9u=T@Vc*aR~VJm0DC2;l=O*HdC*C&!UbF^Pxg}p;y>IXw_pE4 zb1(uMT6?GGf+neGq`c64*=t3Jga#H;<}KlyX@88!;C(?}QM)q1gRU_?RvF_Ls9Zf` zEM0P}X;b$UB=~ebsa#-{ab6u}l8BZ>!U*2S<&n#{w1P4ywzx*3c(~CTG@I-6a|O6h z5n=K|K4^eicf8D}=?hfT%Z-{26-fuqBm+upyrv$mS0;f=$O?|CI4i*2r@w=g32cQF z;dZ2Qa;$rq1{C&b`|4FoyEf`dPa#K?@O)w@SDP%iQj2o+Q2%ohsC5U52(QhI{rhp= zQk>t5dP_Z}Ys`6#Yx*Q`F@L4mN5cb>5Xo-z zcyiE=a4#9tWY0q=^esSsmkY8b53ft$Jvwl~qRHS?@w9LYoiSUcS@8)44XwCuR*13; z&%_@q^BMUNCyVZj}YJGlSU8yJ=6jHHbM) z8yEdJ4I?H-f?Ekc+4IS8dbQ&8F;uEPr-2cfTuuwR{Wz`ev7IS6?U0AY5RDNukV8WH zZd;{Un(dS|l)xV`s~DkxH!+d?DcqiQ{!gRgrSQ0M%U?o%>;C$;AP12X>hebGo`1u6e&bhD^E(j;2R` z9-r&pbtt2Y%UnlOOYT1xf!%XcOYT!!omP`As^}8Z(!%Jn3Fy8c9lIZ9=x9trDY!e5 zKg`-2(0zao6wq!!GpxPQRmf?k#l1Lw5mpi1=MlNhr(1gV2dR5KV1vT9d=lnU9H!LP ztPM27?LmwS0glv?$3e5YHKzCpFTH#{H6q=RStx-&91oz1{Edu?Buptt; zzJA1) z$O8f$71%Ryafzdcsf zhLh%h= z`Y9@fPHQ@Uwoh9&s)$QMuph3A_ka%?$`gy7oy`FPCpbV-CA>6H}A-t`?(ujwA` zi^0w+R6M8K<

1)ga!mSBLL#tC=oFwy!K`849V96&rG=!c!%FA6^gRcq5FSFVNKK zG@3@Sz+bo1H2UfcOEA2S4weaPT&d`%)N2tPzo@T47$s?NRVtk5c|6cPeF$Mlx35=L%iOnd0-)g}l-Qp5NEg1q5=<#?}&_#>mt9dKi~r zrWqUKW=X%wr@MsL-7T1HbeZtF|8kS8Wd5HnJHk=49UcgIArz$>at+a=Gz(qqBOgsN zT~A(LK7`Sg&vpdF;<%rIW-VlHalAaZz}MDH(lQ(b9BdidDJWBOQKen^nJH{d#d&s#xFHkYK>6og#}A*3sxxoLA9%$2^Jn-<+dspbvsfo;_j$8? zq|oC37Hf2}HP-Nrk48fYl+Hx)$Fd(<7Y!uy!4@$JDb8021}y~*GiNYDB|V%)VCu@2{p2IjPy&@BR50HN)1ar(&A-N5a{4BxEhS0&@CSjn zuC{fj#HVp|0_pl*#@Bq#(HCh!gy6W&2;UW}&^I0G zO(O0bb3=8r`HFP2Ft8QT$IK+)>;9uRNvQp}X#b^}o8BxaWx7RJ^XMVWBuiRLO+j?M z*_({dO9~#)hj?h7fmM+jT0fGG?Vy_)arxSv)-JdnlUBIEu(aUhLey0_^6A#J3R;PC zCu_ZP{(z$CB|C+al2#rEV+xY2G<^_MYMGp`c{cp z37Md+t~lL3)WTOWx375vjv0R7CXZXB4FzSArsPff+hAZs3ledCe{m{)b>`Mo8DAM4 z$M`j#+A@ygUB(fvp{SITHC&L0GP8(V=GdfeugjaZ41Mi*SyqfW=C~qnU!yZs3!sXl z*fAiBitDK8%Yjds30~)~FZO)mis!Lg<~L>@D)h9OP+91?#1+q>&@*NpD)g+GP+92N z#1+p5Gs{GauhyKTfjl<8wr4z#7x7uxy*-j|Np1DZxAz!wBEyjhWX0;y9ofFvGi$FH zzX@X(c7vZ5e;c^{j5v!JUiTC7X6)x&f>4ntgZBU_RxzaB_Dykaq3r#gPt#WgXs?_S zl|B4qG(`1@y<{Im1<#8Lx{ok&w`XRFJeD{2iHV-)5r}yXrH#y4-^}54_ad7?KP~el zdY%n*ABx1M&p2zu1n!ve4cad%Adxr-ch*&&ONoE%6j8f0kx4@+Nwo3v}-z z%4QRIw(Rfhj)oGbMfm{h*5U#CG$hL?S|Dt-P7ntY74o?LCT(%CWk<7;1K3bdY=eQx zrvnRP$#tX5l3@N1SSM^8plimScOj;ySy&$HBb!E zsSC@#^BE<8D&N-~^k_F)87&SJT}R*(T2QnzFi5eV)>SVUY+$w<2^0d>WD$*S-ELK_ z7?9}u&0O8ZUM6|HA;ns_Q4fU9iB2}F;GQD+f>mEqb-T1xQ!dS#7BNw;9|VV6SAD=p z+7@W7P!M3~+fbP{6rjUkGT!vNBW8sX$T5-2aAB9j#&xMiB{U_%A+-FIApV3rN}LYR zmkKZ;#-w;tAUV1p?h?ez_;GUk?Jw!BO0O|=CP%~m?-gs*fqAUV4etjMC89MNQRdeI z^D>F(rE88)n2|`rFMI*p?zdlYdHPe zXea?vGIQ|9bYM+dDZE@YNniY8G?c&#@ueLarQN$%Tp8nL>Au)_Ravt=Q@Y#Sx~dxw zzhj)RzoM%vUJEBb5I@`G@wnzOzJGSK`DW!m6`9hRauEsC@Dba!s9u~6)0O%E65`BUXHGPVj^$n;QP9j6*wTg}eWAZ8q?tx6% z=Zzactm?hUU5(9E%m`f?WX6GN^K-pwfmmj!V@K-9v^$hoGBKsfRTs&a#l$Aiz{(~V z#EM&FE2wQ>Wcx{fqoVd_4fs8f`G?@>BiiDD&&hlgjMxE+cKfj0pa>2@Im5=$MNphA zrQ{~bPUlWCs(G-;pAa14if<|&Yckc_m#bC6%v;f^y5Hv< z#&;o-vimQ~uc63E3K1mA8Y{T$*OLwZkbEQbg!@{7yAp9!IeE@!VDv@!5?-^qsXzpI z>7yD$d1W#wut`%f`j3EF>QQSbt2B^CM$F%Mz_qV$;o+DLDpHJ%A}{dcgWU%e=TiCQ zI29s}MHC)r-{*L7Nq|V}61&Zjb^;wx83TI|xg5GlgX$C1+`)n@LaJNB6bYYbJPXY$ zfnPJx)VC6htJFy=@hd*mR}zaE)3&h6NgXqe-qOqkbFJW-&(lsP*oEMlq)QNups9F4 z>{5y0uUMa&EsE4Ssg??E54pwFn`$%(9~ooRc&EuEPrl5e+3k>qPF1&iK(_rfemV zQ1Sk5uak#}H-8?n@7x3br0jk8_AiUeD;Ul4X?qDufxm(onSGFC+5gZhcB*DoB( zd}{f;sO1S=3q1NiVQixtNyngHT|(KtLe|Ny8A7Q))A8E72pg50wt*mGk6Ts^vYo0W ztSJ>d4927GdmkPLyQ7jdF3~iq;;i(&`(mE?H42P+NpR_O4OEmy6XY|k0e54UV7xA~ zMhB~8-51;Cz7F}k#z*^9>1jT%|K`4)?(=$QqGwmI`vCl18yCk4adMY@;5UNPJCpf# za*7FDm%V|G&ci{SiN&K`Yq3ODd~2fT?}0eJ685)1_YA;i#NPmTYn5)2``35QOmk=V z+VLp4^QoT|#HBsG{G-M;@yMe;jha7D_RJXFqsp9L3NunU-gwM;nvs+A=SjDd9sXgl zU6ax$F(A4~Tp{zA7{UE8L_TrG`3+Iie@9ug3f8b{kPF}2+l6ikNrdmcW2Jx|8+kFZ zH+EkMEGarLC!n;3gsb;c$pm&Y^+#&xYdM^~y%n2vqJdQ>xCtYL18K?e*Pf!r&AiT6 zMK^NGV}i8mShM`TRQ~B&<%^fQc@eK!g?+&a7xwp{OhTxUIMnefaK+2hk#wBO+Q9jZGv*fiOBKhe! z-d4cM2Ih+Je5t1g@xi@7co@siJH`301Lc>ouhkYF-D*E8c@36|>114dh-`^6TeQ0x z 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 T0;>{OmB6Y5RweNNMFRf=7+0By literal 0 HcmV?d00001 diff --git a/threads/build/kernel.o b/threads/build/kernel.o new file mode 100755 index 0000000000000000000000000000000000000000..f13cccba4431de2f070b8a2f2de49d56c66b54c9 GIT binary patch literal 2414256 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 CO8L3~ literal 0 HcmV?d00001 diff --git a/threads/build/lib/debug.d b/threads/build/lib/debug.d new file mode 100644 index 0000000..fb60fee --- /dev/null +++ b/threads/build/lib/debug.d @@ -0,0 +1,5 @@ +lib/debug.o: ../../lib/debug.c ../../include/lib/debug.h \ + ../../include/lib/stdarg.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdio.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../include/lib/string.h diff --git a/threads/build/lib/debug.o b/threads/build/lib/debug.o new file mode 100644 index 0000000000000000000000000000000000000000..3cdd21050f232190ffa041576bb51a00e0612be4 GIT binary patch literal 4616 zcmbVPU2GIp6uz@l=$4l4527^qFaZ%T?ktU^l%GPSVi#kO5QxS=*4f?Z?#k@UIy*}W z0gR%Ah8GAizF>$x81#vtA*dm2LPFq;_->*PCd8ivo@}BCo^$WH)4P|!2XEOq=X~ey z-gAF>f7k1;rVNA0X0YvSL6RtAcls9iNzP8P`I}OI9hv<1QhfAd zey%?M`)K~`uKE0_b~=BS<>zkympK}u5!#=aXHg$_1?1y)>$?TVJWqsa9^G5u`>(N6 z4~&o6(dq^4HZzjl&fUE=<#?XejGWTpEzDZeU^ex8f7P|#DFPgYPRU(sHNv10I(4h$ z_*UIH>;fYln^vpo&a^yx$v)R9TdQ_TujVSN=35a&TJ?%sY*i{XzhdnV0uL0Ws?&(v za7i%34ffXjC}>*cpwz0ne&j^8z_(_C(5eTa3sHcrbI@i(Fg;zomuWsx%EXAiw`mAS zQt56^x;Qb@sq`W)8;dzfajC0o5u^uO(xrt?c!~gAV=P4lwl@DVW?cLYI3CN$AlqY- zhQR)ZAg9h(c`Q`@1;1orF^neGpukc_3SH9at?=zZ78}QOkr{)=n#{6ZGqW-?Xbg1^ zJOhT$vEJV805N9v0}Ev%1O~XsHg*h~nJv9rd)E%5$K;AncMcoNU^Jsl;JcTlRzR2L zJ~Y^%F#?)2M%fKakIi-rZyWYA!qA5d?8UfiynNVG-r7WUQU)N!#^7rhe`l7$m+wLt zw_)2k_~+G%jFoZS*d^SO+lsB47iDYyb`h#a6aoaZ&p4gFR7(-6*+v$nB z>4PZ~qIv-=I{v{qc4r%&Q}f+2Yx&Ju1sGUdkw{aBmpjWf#pW!IbVoUno-D4R`WqL%MYR9xQ;Yb6k!uvDFx9Use%jau1?m3;%k z&VX@HuR&zkqHeYkKyTep;0+H_p+N)Pk>R^N3mZCeOHmMtUO(RTcpR`*$p}l;2;n=! z3OivRvt~62BP+HrS78)$%OB_`}x5&&!#C)2XSYi&H<`1`|XQ8}7R< z_V7`X5|&dE%uM)8Y9^giy3S<$IO%|KdmDB}P{QhwFDTMg;RSP0j|&xPB83j)^Alq}$zQkEej#RRW*Zl$yx!-bt$8JxX++I)?SbIgLd;qES8vtABFLCUTo*QG&Q~oQ|Vff!8 me^u)KxF#OkyMSG$^J5fvwdvy@1Z9%{3VQflQJsO;{r?4bRL;2o literal 0 HcmV?d00001 diff --git a/threads/build/lib/kernel/bitmap.d b/threads/build/lib/kernel/bitmap.d new file mode 100644 index 0000000..e727dd5 --- /dev/null +++ b/threads/build/lib/kernel/bitmap.d @@ -0,0 +1,7 @@ +lib/kernel/bitmap.o: ../../lib/kernel/bitmap.c \ + ../../include/lib/kernel/bitmap.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/inttypes.h \ + ../../include/lib/stdint.h ../../include/lib/debug.h \ + ../../include/lib/limits.h ../../include/lib/round.h \ + ../../include/lib/stdio.h ../../include/lib/stdarg.h \ + ../../include/lib/kernel/stdio.h ../../include/threads/malloc.h diff --git a/threads/build/lib/kernel/bitmap.o b/threads/build/lib/kernel/bitmap.o new file mode 100644 index 0000000000000000000000000000000000000000..b28eb4aef2394a19fedd08a344089faeee67dd9f GIT binary patch literal 20312 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 YfRRK|z30eQzo}YRdfKRqSy})80Aid28UO$Q literal 0 HcmV?d00001 diff --git a/threads/build/lib/kernel/console.d b/threads/build/lib/kernel/console.d new file mode 100644 index 0000000..2fbfc30 --- /dev/null +++ b/threads/build/lib/kernel/console.d @@ -0,0 +1,8 @@ +lib/kernel/console.o: ../../lib/kernel/console.c \ + ../../include/lib/kernel/console.h ../../include/lib/stdarg.h \ + ../../include/lib/stdio.h ../../include/lib/debug.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../include/devices/serial.h ../../include/devices/vga.h \ + ../../include/threads/init.h ../../include/threads/interrupt.h \ + ../../include/threads/synch.h ../../include/lib/kernel/list.h diff --git a/threads/build/lib/kernel/console.o b/threads/build/lib/kernel/console.o new file mode 100644 index 0000000000000000000000000000000000000000..09845d90ccc0bab857cf575e9cf2bd46881963cd GIT binary patch literal 12704 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 literal 0 HcmV?d00001 diff --git a/threads/build/lib/kernel/list.d b/threads/build/lib/kernel/list.d new file mode 100644 index 0000000..bc08478 --- /dev/null +++ b/threads/build/lib/kernel/list.d @@ -0,0 +1,4 @@ +lib/kernel/list.o: ../../lib/kernel/list.c \ + ../../include/lib/kernel/list.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/kernel/../debug.h diff --git a/threads/build/lib/kernel/list.o b/threads/build/lib/kernel/list.o new file mode 100644 index 0000000000000000000000000000000000000000..f27cf2b0edd220c8c24e4adb97bac06d9159ed97 GIT binary patch literal 32504 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 literal 0 HcmV?d00001 diff --git a/threads/build/lib/random.d b/threads/build/lib/random.d new file mode 100644 index 0000000..5eeaa0d --- /dev/null +++ b/threads/build/lib/random.d @@ -0,0 +1,3 @@ +lib/random.o: ../../lib/random.c ../../include/lib/random.h \ + ../../include/lib/stddef.h ../../include/lib/stdbool.h \ + ../../include/lib/stdint.h ../../include/lib/debug.h diff --git a/threads/build/lib/random.o b/threads/build/lib/random.o new file mode 100644 index 0000000000000000000000000000000000000000..0dded36aa6b41269c4701a1caad99a398519554f GIT binary patch literal 6376 zcmbVPeQaA-6~FhrBzBv`&exzJ6LPk(F*MtanwHY7T}Wl-bQOd_wyLUd{qYiewf!Rd zx$8PwR_K22pTJBt=6lX9Um=?<^%FOeXA?J)^~9}fiF@eu z(@M}aor#MoF}--n8)BqUB@t9m%hrl zH)O9&t{hUEyTxC*{I*^-0I3NH@6&UYB#U}9i7EpxY_kG-?X>c)=P3VeGU=-CJCW2p#K@kGABIEnS z=oa#ul@3Z+Cvtq7!qTE-fLweRC{a4T4M}6+0CA(BYb;C#GPP;OM;C=G->n=N^v7X{fl+1# zrKYiku^_Nyi0q~qe{xU)j|@)qW2CVyua6I+i_P_KbJoj8fb8_EH7RwqH~H)CguMF# zXdVhfwv2_b!z_DZTm^DHFxCt9zVz5*P$DQlG*NRw;luwPxgZc9!rx$DgD2;AL*4Kc zrxDCEkHzBfD;6?LQiXE1Sj$-gVU=__XP07GJguruE@w^0@)#Isc=;p^<&mj?cXJEB z{nqkZWAD7mj5c!tA3+PAyklR-cadAhhY{@;-Hsj-ecyPve|hX*!QH_D6#Nz+!FPnt z<5G3M5Eu!;na6_Xgyn$_b8~Rt_$$HM(}n?qlIf;0FFID0RSUK`m`HGd!RpXgjp_pT}a?xk3vTyU(Miiw=(3hkcy@>FE+$VlY#vF)*~k!Y!EPdm}+qMdetDcjMCm5Uy? z%NB6ilAW`PyNl_{46-1sR*`UOWo!40RkkXHEU@WHHoyDW&K=Pmqmk%LB>EL_I}OTq zsQ{iU>5>(lwIQ@sk@##8LZQMenj=wl(%B=?*^2F0S;wZ)whp-lPIf{)t1qNyMTJ?_ zvU0PsI6~bkjG#a&g@W^y(_L|KcX{DlvDCP27a4nM@7`UJ&rXRsl7)(HlQTAQa%5+0 z>*%8rh2=H?e{B5tGmIbW;X_@4;5k^T_XCE1Y+^_GVyNd;V{dndeHApM>LvcQ?SVZGeB^ z!`(d`Fg1Q0HpW%!LruMocT;^7uJi^qT&<@sY=A%G!*LC&cEpE^IuQTT2KaY2z+cyK z3h)yRSL4O&2R7{db-26%{(B7<#_;%yjuZb69VY`g%tS-6e_ld9++T-J>p1y|X}B8K z9t|gT_S^>en?Af>DMK&r#R?`1goEt>Fps|0BYY73+lf_jH`}f2ZMUo&1q-HD9NQ|4`Fc@AXYh|9$eW_7ml2 zfb{g)8vY*fM>RhM;xA};7vRrJXd3WvW#c6KKxL)MiqJ^0W;yL8mjBigmO}oQ8vU20j=3CdES8QYH|G#jPtTMZgqmtL8;{8Y4pgyhB}o8v+L3_c1>R^iJB4 ze?XIi`!L$7k4N~#6%Fq(h?|mipEv!J>Y`HD$BNHV^r_n`z|<0s_>FxW+_%3jrVz1V1Si{h_Q!srhFx;?73ynBGH(&cOdXn)hk Tk9n-PTzYTTaX literal 0 HcmV?d00001 diff --git a/threads/build/lib/stdio.d b/threads/build/lib/stdio.d new file mode 100644 index 0000000..c8f87c1 --- /dev/null +++ b/threads/build/lib/stdio.d @@ -0,0 +1,6 @@ +lib/stdio.o: ../../lib/stdio.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../include/lib/ctype.h ../../include/lib/inttypes.h \ + ../../include/lib/round.h ../../include/lib/string.h diff --git a/threads/build/lib/stdio.o b/threads/build/lib/stdio.o new file mode 100644 index 0000000000000000000000000000000000000000..781eff93fa75475ad0f7fbbda76e965a67408a45 GIT binary patch literal 24624 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 Ma6IF1nvCTCKlb^H?*IS* literal 0 HcmV?d00001 diff --git a/threads/build/lib/stdlib.d b/threads/build/lib/stdlib.d new file mode 100644 index 0000000..3ce6ae3 --- /dev/null +++ b/threads/build/lib/stdlib.d @@ -0,0 +1,4 @@ +lib/stdlib.o: ../../lib/stdlib.c ../../include/lib/ctype.h \ + ../../include/lib/debug.h ../../include/lib/random.h \ + ../../include/lib/stddef.h ../../include/lib/stdlib.h \ + ../../include/lib/stdbool.h diff --git a/threads/build/lib/stdlib.o b/threads/build/lib/stdlib.o new file mode 100644 index 0000000000000000000000000000000000000000..955279553310a56afd8c5a99cd3104f336032e3c GIT binary patch literal 11080 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 ad|f^KTI-Jd5?D&#qJ!_8uc;ck{{H~m1q6Wr literal 0 HcmV?d00001 diff --git a/threads/build/lib/string.d b/threads/build/lib/string.d new file mode 100644 index 0000000..ee43697 --- /dev/null +++ b/threads/build/lib/string.d @@ -0,0 +1,2 @@ +lib/string.o: ../../lib/string.c ../../include/lib/string.h \ + ../../include/lib/stddef.h ../../include/lib/debug.h diff --git a/threads/build/lib/string.o b/threads/build/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..e490353441fd1089aecdda19263b30678ec39722 GIT binary patch literal 18208 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 literal 0 HcmV?d00001 diff --git a/threads/build/loader.bin b/threads/build/loader.bin new file mode 100755 index 0000000000000000000000000000000000000000..77db50cde8a01f333147a4f8f059109eb7212327 GIT binary patch literal 512 zcmezMNAp16fxa7k7xpmJJV{x>RQhYf#b+r{*8OJ*X*(2NFfgR;w;{R|L5lgDtxe$ z1!S4iyMr${9{osj+Mw_btn|$aj*{Oy8G!0{eEIAjwH#0* z82tYaq-LFG0MnDsGl(-N)-o{c^RL~)r}2MH%Yl-AX9Zq=4@k_*Ojd+y8T?e}DgX`! Bj8^~v literal 0 HcmV?d00001 diff --git a/threads/build/os.dsk b/threads/build/os.dsk new file mode 100644 index 0000000000000000000000000000000000000000..37b2a578d4931da2e97901bda5f0e0a0db09362d GIT binary patch literal 135680 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

~#{s0+0Dg+d3EEu1D@ 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 BZV~_h literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/alarm-priority.d b/threads/build/tests/threads/alarm-priority.d new file mode 100644 index 0000000..37f081a --- /dev/null +++ b/threads/build/tests/threads/alarm-priority.d @@ -0,0 +1,9 @@ +tests/threads/alarm-priority.o: ../../tests/threads/alarm-priority.c \ + ../../include/lib/stdio.h ../../include/lib/debug.h \ + ../../include/lib/stdarg.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/kernel/stdio.h ../../tests/threads/tests.h \ + ../../include/threads/init.h ../../include/threads/malloc.h \ + ../../include/threads/synch.h ../../include/lib/kernel/list.h \ + ../../include/threads/thread.h ../../include/threads/interrupt.h \ + ../../include/devices/timer.h ../../include/lib/round.h diff --git a/threads/build/tests/threads/alarm-priority.o b/threads/build/tests/threads/alarm-priority.o new file mode 100644 index 0000000000000000000000000000000000000000..530e3b4f8019beee66d999e090e997b802e3616c GIT binary patch literal 8624 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 YY!1Rh?|&~~jqFcS{NIy?RO|Nt1t^ZZs{jB1 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/alarm-simultaneous.d b/threads/build/tests/threads/alarm-simultaneous.d new file mode 100644 index 0000000..be3dee4 --- /dev/null +++ b/threads/build/tests/threads/alarm-simultaneous.d @@ -0,0 +1,10 @@ +tests/threads/alarm-simultaneous.o: \ + ../../tests/threads/alarm-simultaneous.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/malloc.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/threads/thread.h \ + ../../include/threads/interrupt.h ../../include/devices/timer.h \ + ../../include/lib/round.h diff --git a/threads/build/tests/threads/alarm-simultaneous.o b/threads/build/tests/threads/alarm-simultaneous.o new file mode 100644 index 0000000000000000000000000000000000000000..7da0bebc2327065b7ef1b2c465dc51fd3d7fba00 GIT binary patch literal 9600 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 IMOFWQ0n9&2s{jB1 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/alarm-zero.d b/threads/build/tests/threads/alarm-zero.d new file mode 100644 index 0000000..905d620 --- /dev/null +++ b/threads/build/tests/threads/alarm-zero.d @@ -0,0 +1,9 @@ +tests/threads/alarm-zero.o: ../../tests/threads/alarm-zero.c \ + ../../include/lib/stdio.h ../../include/lib/debug.h \ + ../../include/lib/stdarg.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/kernel/stdio.h ../../tests/threads/tests.h \ + ../../include/threads/malloc.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/threads/thread.h \ + ../../include/threads/interrupt.h ../../include/devices/timer.h \ + ../../include/lib/round.h diff --git a/threads/build/tests/threads/alarm-zero.o b/threads/build/tests/threads/alarm-zero.o new file mode 100644 index 0000000000000000000000000000000000000000..09b6bda835d6ec865c3378f844bebed3afa29711 GIT binary patch literal 3824 zcmbVOO>7%Q6rT0Ejf)$TpCS^1kdaEE1+Qa~rcq0NNK_g`1*lRkm5{r(C$`0U*WF!5 zAqXgysFVXz1xSE|5aNJPPuxJ_z@Y_+6Fnet;KBuoBb+&u_h#PPtS1`|9VPSL``+)o z`B}en{^AQc%Mv^+u_X2+MuqtM$R59<*cEY1Op1;5-9LXodHp+u!gTL$n!owl?cV^* zD{VoAKFXF%k23=_R~SJlm)E3lNJ-XVMRH2A^M|^A43?xTXdO9dV&zhPDtSJN08%bi z5tTSNv-Q~>kW>Y z6quhAcIj;KT=B)p<>}|9p%BMfp4QNl)9AZ0_3`SoH3?PhUbn=!RRea!5oqm~v>~K_ z21~#?gj%)YaN>m|05M+z&58G5wyb|kqcE$@hJCOcrwV_ujN+&ocS7m5BB8Oa-}DA8 zS#8O!Zc~~l+X~ln!(L@ahJn+>LlbvYWi{c(4*aOw_GPP#0!FHp>q6wv?a4|%fEs0} z@xBMC(4dd*$V9Q*e7({SgIG4>Afyc$+NA1G-}hQKw6;WOcHB^?De14?k$TVDyc&u6 zY7lrL>I7k2PMomuv+UX~6{QWgvcPaVB| zI-6c4Q(@~@!h|78a`lIFws99(X^RJ#9iq0__W~-tE#S?_7`AvY1BDwTM)%Nfz{@trX1|A6!+UM3vZnqIGPqBnZ6 z+W;Dens%5ArRO@a+>V9Qa${FG4fq^63T?^8pk43!n*rz)?=~8t+!|85q3gHtGn{hq zy1rx=$RnI)(CbNfpdBAR9S(fj^rwWJWT&n^KUDqwlQOtsPq?2PX@wYmZx~10^uTkI zhyRr{2>dz)zs9ew$ZPLcfy!p#?*?<<)l#LSPspD^bA`p<)}855In{@+nZ4b!#; zx~%nY)B5{#sBrywPR;eN0%pbpNGub06@}C=Z8tz?Vrc#if!u!%VcNb5imdwoqC(jp z>qp3}zYCZd6Cm*ifnTAJ8m2AwIV=AZKH4z&oM3*u>t_A|U>K9@1Xhh3)c0FPLKc}` z1M4jRSu6_1DNT}@{h028hWW$@n9Jm!#*jB{KPQaJP0X*5|3ZRjhS$&Vr@&%{cOH0Ip{NKDcBucD9|=K678v;5bo{;yNM$eRBD E0XPO?iU0rr literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/mlfqs/mlfqs-block.d b/threads/build/tests/threads/mlfqs/mlfqs-block.d new file mode 100644 index 0000000..50951f4 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-block.d @@ -0,0 +1,10 @@ +tests/threads/mlfqs/mlfqs-block.o: \ + ../../tests/threads/mlfqs/mlfqs-block.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/malloc.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/threads/thread.h \ + ../../include/threads/interrupt.h ../../include/devices/timer.h \ + ../../include/lib/round.h diff --git a/threads/build/tests/threads/mlfqs/mlfqs-block.o b/threads/build/tests/threads/mlfqs/mlfqs-block.o new file mode 100644 index 0000000000000000000000000000000000000000..421417102b3bba97dfa8d213f23ef45a4c84a4b7 GIT binary patch literal 10336 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 CJyjI| literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-1.d b/threads/build/tests/threads/mlfqs/mlfqs-load-1.d new file mode 100644 index 0000000..72f0b34 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-load-1.d @@ -0,0 +1,10 @@ +tests/threads/mlfqs/mlfqs-load-1.o: \ + ../../tests/threads/mlfqs/mlfqs-load-1.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/malloc.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/threads/thread.h \ + ../../include/threads/interrupt.h ../../include/devices/timer.h \ + ../../include/lib/round.h diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-1.o b/threads/build/tests/threads/mlfqs/mlfqs-load-1.o new file mode 100644 index 0000000000000000000000000000000000000000..83720e2a4d40f3921797bb6163fd2b1f92e807da GIT binary patch literal 8000 zcmbVQeT-Dq6~Aw0KL(avc3GexZGAK@u{r6 zDgrZCHl>GwI$hs-5u(T)w2$0&>4j?_`P-fKQiYUawd_4kKQPM^#T&(we4 zQha9kjU!tx)@SPftbd|qp^?+c+0!3(%+AijFgG2#{_ukrlMA1?^vUe3W}v3+!#{!i zD5wq{GI4;DSJC}6`Bh9`IUk3WjTRr4NTKEOthkB;oYKLoDIBR$QZI_6Uc{unJ3KQz zlN&x+|G1TS_*Gbxx8_bc+HtVqlrWFJ`I_9BVbOQ&T&7aa-ybkL2pm5wd9Jy8C|GUg z?NZsvSzOh!M&K`Wf-o2nHo*ut63=AWvvbLmm6d*jYRPp=Zo$lZzFDi9p=XY*H3KK> zxw+s*vs!lSz%lpQrO>i0hSnK-Pr=+cZjN#nh?w>s$F~cPSqjXdoHaChQ_h^Kg=SFn zYGoiD_zU+sj%$vZwwp6k<{CR6IzA}Nk%nbFP5y$=-tVA;vbWb9wbt?=E1vI|VbOM# zKpBrLiX-&AY14Dd`;`%JW_}6gVo!N{9P~Cfe%}K*=;2U$gcM*tgBAmmi#tN>o(x~a6nh}X zSO<}Ouo z-)Cc*#%W@Ts)MFM+q-UZ5P$==;7xeognMyC2Uzz2(0xGi*44kT5)>HzC$5Xo?%s&( zd?F&d`yw(i6p`Ki5t&%Ui~(b)Z?Grcx1w*rSk&GBIarYESWnMJfM9DaW%0gSdcM-L zeGqmj;jplsV-db-`K`-gZ!82GRO(*EuuE9RrscwP^>TDPvFrz%mm46N*D#GOV{AUM z+Xu&%BhyoV*kA)j3e*-D#`Zzf?_CKFM_`rvEQVvbeZnnc3kgWX6Br_-=SKL)6w>D7 z6h7qMivS|l!HJ8pv%nd~fBSmj$zOc{HQHX_Oh`&@wp`0OBjwVRhR}7dp*d$yDeDA; zHWdcOcx7nR1Q&O1!!Z_g$%P6~#3L<+5p>R(suhGnSgJTakZ`5&L4f2( zc%H}$Of|m9_%7TaMpt4{S8UVb#MA#e$Jsn^gR#lMLd;%LJRaYZ`0?(cLgHNFuZiP{ z#peo%z=8_j?N6iqT}8vRw_F9OGeTstH0^@o~-^nEpc&-Cnw&LZS z@_5R@WUH99sdP&&bjsW%SX z#f*LZ#)<{qiKB3SJ`XtlW8;C|o?z$fUKMr9N5IO9dVNgtWGD6uVYUO`*nQLSu}#aV9?FPS)7 zD9NTi&M?}!E#9b7k?@N^EmHC(Z(@9FZRKUW4Zgh%ep?&-TW#=48~lMb_(N^*@3q18 zt6UyGE43lDw#9YO^gW^8k67T)6xSZEZ8ZPJcwt}nkI;-GIh{kR=P86D)?+*pbJOy7$7f6kN^!6$MBA$B6Hy`wCfAf0=^AD`nKK zQ*d>?HYhmyf1doO6mKfFrwhAf4^`C$R`bBs2!;XR5?`bm({%>s__r^vrN zr&50h;afC)llVI{d_U>mt>H4)Sq;Z~8(UR$Q9K*S&t46mCj6j=|B7&#R~bL4v7?&) zBc%U*4Zof8^R$NVB>i7%_%)>evWCAy`mbyFTZF%(;q!?9vxcuG{j-E4tFHTHP5(X8 z@1$PlVUqL)HT+J(S8DjriNAq*?C@O3dv8p^F&=q8Pii>4vGI1hh94sQUJZYe@S=vF zA-tyH7YK*%Lf){$cn%Q%q=ug$Uha3P|32Yz-V*;e;m=Voas1}S_L_!&iSW}JZV|5D zs|eu_4A?Gc`us~D@XH$hCh2!jk76X>BYrjYa^2U04BHKD@No^_O#EaUT;8|Rzns?& zO<&^Q(D2nF9Cmjb{M#D7jpjeq2AB7_j3-0-6-{5_p@zRs`up18>V3|C`l9&zsh9aD zmi@gAZW4~e&`<)gg8h}yhTjN+&=-ACQa-%7S)sEpWLC}&ZDviu=a}Vtg5gr}Mp$z5 z9_Zjle#V}f@|``PhQwu|3RDpoGRXBWv~JZ5FRO2vVXLkoT@bu9RH7T>C5124V{P(L3}`;BI&r`u~wt4tiiHIuOgh( zgfcvr=>SRe@$nZV^r@?VR{Ip#qR*y10K7>K<$VAUZ*reW9_zCn6UuzNoS_}k9P7Fp zK&MsyOnPZPO@1(cxJG*Zz6O}?6Cn069gg22qcmOjK9K1cs=rJFjViWC>bh8GTE%~n z7FgP2{8&@<`0sDw6Cm~vQoKbQP-9scbX$#Y(uaFnhWjZ}wEYbgZn#OQ9oc z=Q@`|&;Id5Yz70L+d8>rCjLO|_0s8b>yZ%pmQIKs{Tw$yFJQ?tP>dG~<8tq_r}oBX zjJ+V*L>zsy!2xH{deLI)HTParWEDX z$>RCLi}#)TeCfjb?@axtzI0(~dU5G=@6`6Gbno%f#cIvH#~>Hu=$y>U7ab;)X6lyt z4{n^Do!$S^Z~e7W+Vg7sL~Q!)0E}ZYHXX0eUxF6}a>ab5_Vx>1I8Y_ovRrM(kMUS@ zMtjcK|Dk@XV;AoF>xWvv1)Ge$J$D{qNX(lkSjluEmmRy^Wl7hy3SP#s!`ph?rQxw; zCTpdmFbKw?(LVU+S+3{y2_LtQJBi;&)=8!#L;cYdw`Od!mxM_6c(^AWwlgU!9Y%{V zxkjT=#`T`GZci3r&vCY+vumXsJMD@r7~3%BSp|hJ7jct2tU_|!TGx|~_Vj;(a>me@ zu^3$fJ4_7qv-NP<>Ug(7zEjMj6#Qz|^hIU{8&NUqcohhm!FtrWzu6qYCZhp~Y4V2p zy84XmiS|Iq!3N=B8bM*k19AVrW#8oOobVuZ&7TA!#MY-kYz*G*gV1l#+Th6r{{%Ar zHDL<#WfIMZxO=^e)-CYIjBFZyn_$$U@bMb^rTQ`n#-l%g>1a(BcQIrCH2}>6apC_E z`kMzPg!Zt|wh8SKp>1uG;a-FMeC6+|a#2+(S}GJYgAqY7Tp4sZGAPEQ$3Y5Zm{GhH zRP#W#9r2$5mdDqD2+J2l#XbhjBHKN`17se!(NAy&ntY`Nr^xsIIeFjhd*4$r@_R)F zU-sP>g1fI&4EA!hWjXfZ+pScaDk7krZ&oowJVNj_2*U@CE1-il}}FYU(ehc7*NT{pV5*0VrR^oV9{rLP;T-57wD`B7ticU7MdgjRgo zv8R#F!EOxD(E{Paxw)(P}QH{`!s?oHy1GZ(i+Q!Zp-`SNt z9TIT8blMt=PT+VzhD}b$89Rd#ELPDE$(fv00I`m-v^82B7q)9hi);9X|ygALbc2zE4>>$`$K3%&_z;9>kRBb~fj+QuzzXvhU$F|S{M?AN^E z<6XS!;bz<~u-n{fkaeKxvEg6sJ@aa?(_GQnx7fU*3u-d}^IU`h4Gku|$_Ju5;S{_u zZs=}iw}q`Zu7s6M=3Of-hL*@D;Q`0oe8x^-Gt(la-~sDd{Bf5^?igoo*0S=#a?@wF zgf|WhgjYsaMEk>$oa>Bvkui8qd7#)%q+q2ZyB*sCEtPZ9R(4%BSr|tZ8sS+Df>*Sy zb>o(86*4JMlZDj8x?QV=B141W$apyNSqM7@#!fB+kqgP370El0AUs1k&u5`4G{~bn z3a*z-ZI9#&j%TGjry%FUwY&sA$6*}sQ0G55Exs_Cbge`_mmOrToi9Ms7_*@_nlL_Q zR6Bir&GFg^) zcEZ|m#>NsmCoDUWh6^iacN}JyA5Uar!knxt4!2gE6)f}s*% zt#g>*{1`N+Ex_<4aBc~d&kKIz5J(-$Jj?No0IwG1<{Eso2DfYQLJj_v8oX44AFRO- z)!@(7;By{n%Iz&Tgy_KPfuV|hsmiS;b}V{f;?FjE0H`-Bo|ydohCJvwQ27KAn%Ex6 zu3|4B=I_3&8ODbN?<@bP3i2X^P>}N%0Io6CL$%~`rS)n2Eb08o46?LeM*P!MBbWCK zqAw|2?k$Ki3Wr00U-0^4k@2?*mEBJ@@&zPg^%Ih%{ch6brx)Z4iDC5$$;k0YA=mp` z3Ww9GUp`Q{nrABpfPxjA1pTr};W*FtQOnH=SM%Saa5eq`g{$-SQ-#CP*e}m2{3AYv z{OH_-&6v;A)D}{>nommMa?PNNqi{9PyA-a@!?zW#=J{iVt8t!FxEkjrg{$^|QMhXV zFNLf9$~BMohrCB{T=L}}8Ls^zLMZ&b5o*crr}>q0CHZC4pX>|G2w@o3%YQ{2*%zXI zg=4=la$2eJKTyBJ8ed5~rtvW8H);G%vcE;+^4_pC{wdONpT;7`+e>lo5ZLEw;$PGF zzlrbDIH~L*jsJq|abL$G`+c0|=Lvy*K1}w{Xk4!2qZ*$_an5MGk@y=LZzBD?#yiM< znmDGRu21>NS>|7$JR7OT3PZ^KXE||ce;dVJqwx*I;~Jl&eAImgQI2?u?6E>rBA(ay z6U5bh3DFdBc^}9)e6p?9M_Y?pVaJyHDf0=`*Wnfs@UVbe3l&EP&kJE zF7fxYIGahYqyAAv@%LokuJMb+7i&CAaR!OYaea~W>olIEIG@wve23!Ps&TpgZ`1fu zvfrukMWpZ3_*UxoA&sYre^29&5PwSJmr%dYYkV8=*NMw{=q7%)27gQAOR3*;HMrc* zWqf#5=jA=kUh)q#egoMX^vWRP$o15yacMtKG#=k{*EULk;(73#=OKR{{ z8ec*AtgXS-=bhZc&_$lRG!y7ELF;B#Vx^@O`P^2!*$b19Qe6bHD~a3?-7IqXlaRn4vSFLej<;U6o}s z@U~3t&>xGYoLtU=xBaLMUn-*TB}II>ASY`g!M}FUDE|K{46Znra=vAxVG{H&d9)m* z89$ffb3@w8h6{9|E~V>>XLkR!KqmJY`4;dES7We6D`A^d!UixGHcpvNe-(DpqAa;@r zcWWJLD$9axwf>jU;a|=Z_K*KZqW8ZC7{-)&g2+o8H(Dr1w1px2m-T&MQ_a7DUPQ0r zQOZBkPu2&>zic6-e)8A3^ppHYARyDyWYQn6k6PsTC3_r%YV$Wt^C#y8=Pv|*(qGPN ywZ1X-eU$(ADKUJfZm;5xYeKt4fWW%N&Y+wSmH(@cA7fVY&r|+S`<_D3{r?B~p7hiJ literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-avg.d b/threads/build/tests/threads/mlfqs/mlfqs-load-avg.d new file mode 100644 index 0000000..37e6eba --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-load-avg.d @@ -0,0 +1,10 @@ +tests/threads/mlfqs/mlfqs-load-avg.o: \ + ../../tests/threads/mlfqs/mlfqs-load-avg.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/malloc.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/threads/thread.h \ + ../../include/threads/interrupt.h ../../include/devices/timer.h \ + ../../include/lib/round.h diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-avg.o b/threads/build/tests/threads/mlfqs/mlfqs-load-avg.o new file mode 100644 index 0000000000000000000000000000000000000000..b0e6c7900c2d3b15b537135471fd1ba6ac33d9eb GIT binary patch literal 8664 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 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-change.d b/threads/build/tests/threads/priority-change.d new file mode 100644 index 0000000..92dcb40 --- /dev/null +++ b/threads/build/tests/threads/priority-change.d @@ -0,0 +1,7 @@ +tests/threads/priority-change.o: ../../tests/threads/priority-change.c \ + ../../include/lib/stdio.h ../../include/lib/debug.h \ + ../../include/lib/stdarg.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/kernel/stdio.h ../../tests/threads/tests.h \ + ../../include/threads/init.h ../../include/threads/thread.h \ + ../../include/lib/kernel/list.h ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-change.o b/threads/build/tests/threads/priority-change.o new file mode 100644 index 0000000000000000000000000000000000000000..6158ed0de24040ad97a317a001f3c694d2b3c134 GIT binary patch literal 6216 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 Q&VM82|4_-5OS=Dm0JCPORR910 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-donate-chain.d b/threads/build/tests/threads/priority-donate-chain.d new file mode 100644 index 0000000..bc6848a --- /dev/null +++ b/threads/build/tests/threads/priority-donate-chain.d @@ -0,0 +1,8 @@ +tests/threads/priority-donate-chain.o: \ + ../../tests/threads/priority-donate-chain.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/synch.h ../../include/lib/kernel/list.h \ + ../../include/threads/thread.h ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-donate-chain.o b/threads/build/tests/threads/priority-donate-chain.o new file mode 100644 index 0000000000000000000000000000000000000000..bd5097e8dee3f2e71c4be0f45aeae059b34dae2f GIT binary patch literal 12464 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 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-donate-lower.d b/threads/build/tests/threads/priority-donate-lower.d new file mode 100644 index 0000000..669b407 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-lower.d @@ -0,0 +1,8 @@ +tests/threads/priority-donate-lower.o: \ + ../../tests/threads/priority-donate-lower.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/synch.h ../../include/lib/kernel/list.h \ + ../../include/threads/thread.h ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-donate-lower.o b/threads/build/tests/threads/priority-donate-lower.o new file mode 100644 index 0000000000000000000000000000000000000000..2489a9d1177cbb88b4c8d47e038af0e671c35a90 GIT binary patch literal 10288 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 O55<3U#FR_A{eJ=5z>cl} literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-donate-multiple.d b/threads/build/tests/threads/priority-donate-multiple.d new file mode 100644 index 0000000..3ecb87e --- /dev/null +++ b/threads/build/tests/threads/priority-donate-multiple.d @@ -0,0 +1,8 @@ +tests/threads/priority-donate-multiple.o: \ + ../../tests/threads/priority-donate-multiple.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/synch.h ../../include/lib/kernel/list.h \ + ../../include/threads/thread.h ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-donate-multiple.o b/threads/build/tests/threads/priority-donate-multiple.o new file mode 100644 index 0000000000000000000000000000000000000000..4c588dae6c4fbad67dfe1717ff6fa7fa6e7e1ed2 GIT binary patch literal 11424 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 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-donate-multiple2.d b/threads/build/tests/threads/priority-donate-multiple2.d new file mode 100644 index 0000000..25f3c39 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-multiple2.d @@ -0,0 +1,9 @@ +tests/threads/priority-donate-multiple2.o: \ + ../../tests/threads/priority-donate-multiple2.c \ + ../../include/lib/stdio.h ../../include/lib/debug.h \ + ../../include/lib/stdarg.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/kernel/stdio.h ../../tests/threads/tests.h \ + ../../include/threads/init.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/threads/thread.h \ + ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-donate-multiple2.o b/threads/build/tests/threads/priority-donate-multiple2.o new file mode 100644 index 0000000000000000000000000000000000000000..2389a3b172688a33fa0aa43ca4789a42e4466e81 GIT binary patch literal 11824 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 Qy7t}5=8IKRDRKM%2dq;;7ytkO literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-donate-nest.d b/threads/build/tests/threads/priority-donate-nest.d new file mode 100644 index 0000000..9c83345 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-nest.d @@ -0,0 +1,8 @@ +tests/threads/priority-donate-nest.o: \ + ../../tests/threads/priority-donate-nest.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/synch.h ../../include/lib/kernel/list.h \ + ../../include/threads/thread.h ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-donate-nest.o b/threads/build/tests/threads/priority-donate-nest.o new file mode 100644 index 0000000000000000000000000000000000000000..4cacc1aa454822de14b9821906d723a625e4a7b5 GIT binary patch literal 12144 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 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-donate-sema.d b/threads/build/tests/threads/priority-donate-sema.d new file mode 100644 index 0000000..a5c524e --- /dev/null +++ b/threads/build/tests/threads/priority-donate-sema.d @@ -0,0 +1,8 @@ +tests/threads/priority-donate-sema.o: \ + ../../tests/threads/priority-donate-sema.c ../../include/lib/stdio.h \ + ../../include/lib/debug.h ../../include/lib/stdarg.h \ + ../../include/lib/stdbool.h ../../include/lib/stddef.h \ + ../../include/lib/stdint.h ../../include/lib/kernel/stdio.h \ + ../../tests/threads/tests.h ../../include/threads/init.h \ + ../../include/threads/synch.h ../../include/lib/kernel/list.h \ + ../../include/threads/thread.h ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-donate-sema.o b/threads/build/tests/threads/priority-donate-sema.o new file mode 100644 index 0000000000000000000000000000000000000000..61ccbfc9a94786303ee5583d30784ae1fa8b24ba GIT binary patch literal 11400 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 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-fifo.d b/threads/build/tests/threads/priority-fifo.d new file mode 100644 index 0000000..3fbb145 --- /dev/null +++ b/threads/build/tests/threads/priority-fifo.d @@ -0,0 +1,9 @@ +tests/threads/priority-fifo.o: ../../tests/threads/priority-fifo.c \ + ../../include/lib/stdio.h ../../include/lib/debug.h \ + ../../include/lib/stdarg.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/kernel/stdio.h ../../tests/threads/tests.h \ + ../../include/threads/init.h ../../include/devices/timer.h \ + ../../include/lib/round.h ../../include/threads/malloc.h \ + ../../include/threads/synch.h ../../include/lib/kernel/list.h \ + ../../include/threads/thread.h ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-fifo.o b/threads/build/tests/threads/priority-fifo.o new file mode 100644 index 0000000000000000000000000000000000000000..5f19fc18ff66404492368587a3d173b622b3cf70 GIT binary patch literal 12336 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 literal 0 HcmV?d00001 diff --git a/threads/build/tests/threads/priority-preempt.d b/threads/build/tests/threads/priority-preempt.d new file mode 100644 index 0000000..cdc87af --- /dev/null +++ b/threads/build/tests/threads/priority-preempt.d @@ -0,0 +1,8 @@ +tests/threads/priority-preempt.o: ../../tests/threads/priority-preempt.c \ + ../../include/lib/stdio.h ../../include/lib/debug.h \ + ../../include/lib/stdarg.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/kernel/stdio.h ../../tests/threads/tests.h \ + ../../include/threads/init.h ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/threads/thread.h \ + ../../include/threads/interrupt.h diff --git a/threads/build/tests/threads/priority-preempt.o b/threads/build/tests/threads/priority-preempt.o new file mode 100644 index 0000000000000000000000000000000000000000..9fe5dc8e9fcc68a9556981a3f73ecfa6718df4b2 GIT binary patch literal 6640 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 literal 0 HcmV?d00001 diff --git a/threads/build/threads/init.d b/threads/build/threads/init.d new file mode 100644 index 0000000..97afcec --- /dev/null +++ b/threads/build/threads/init.d @@ -0,0 +1,16 @@ +threads/init.o: ../../threads/init.c ../../include/threads/init.h \ + ../../include/lib/debug.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/kernel/console.h ../../include/lib/limits.h \ + ../../include/lib/random.h ../../include/lib/stdio.h \ + ../../include/lib/stdarg.h ../../include/lib/kernel/stdio.h \ + ../../include/lib/stdlib.h ../../include/lib/string.h \ + ../../include/devices/kbd.h ../../include/devices/input.h \ + ../../include/devices/serial.h ../../include/devices/timer.h \ + ../../include/lib/round.h ../../include/devices/vga.h \ + ../../include/threads/interrupt.h ../../include/threads/io.h \ + ../../include/threads/loader.h ../../include/threads/malloc.h \ + ../../include/threads/mmu.h ../../include/threads/pte.h \ + ../../include/threads/vaddr.h ../../include/threads/palloc.h \ + ../../include/threads/thread.h ../../include/lib/kernel/list.h \ + ../../tests/threads/tests.h diff --git a/threads/build/threads/init.o b/threads/build/threads/init.o new file mode 100644 index 0000000000000000000000000000000000000000..88ba826b748d453eef091696ddb2a3faa6aac355 GIT binary patch literal 20304 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 HEc^cju9BP@ literal 0 HcmV?d00001 diff --git a/threads/build/threads/malloc.d b/threads/build/threads/malloc.d new file mode 100644 index 0000000..020db21 --- /dev/null +++ b/threads/build/threads/malloc.d @@ -0,0 +1,8 @@ +threads/malloc.o: ../../threads/malloc.c ../../include/threads/malloc.h \ + ../../include/lib/debug.h ../../include/lib/stddef.h \ + ../../include/lib/kernel/list.h ../../include/lib/stdbool.h \ + ../../include/lib/stdint.h ../../include/lib/round.h \ + ../../include/lib/stdio.h ../../include/lib/stdarg.h \ + ../../include/lib/kernel/stdio.h ../../include/lib/string.h \ + ../../include/threads/palloc.h ../../include/threads/synch.h \ + ../../include/threads/vaddr.h ../../include/threads/loader.h diff --git a/threads/build/threads/malloc.o b/threads/build/threads/malloc.o new file mode 100644 index 0000000000000000000000000000000000000000..b3fb1d4494a697620ca0d211469ea71c9272b451 GIT binary patch literal 16752 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 literal 0 HcmV?d00001 diff --git a/threads/build/threads/mmu.d b/threads/build/threads/mmu.d new file mode 100644 index 0000000..b2ee3f9 --- /dev/null +++ b/threads/build/threads/mmu.d @@ -0,0 +1,9 @@ +threads/mmu.o: ../../threads/mmu.c ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/string.h \ + ../../include/threads/init.h ../../include/lib/debug.h \ + ../../include/lib/stdint.h ../../include/threads/pte.h \ + ../../include/threads/vaddr.h ../../include/threads/loader.h \ + ../../include/threads/palloc.h ../../include/threads/thread.h \ + ../../include/lib/kernel/list.h ../../include/threads/interrupt.h \ + ../../include/threads/mmu.h ../../include/intrinsic.h \ + ../../include/threads/mmu.h diff --git a/threads/build/threads/mmu.o b/threads/build/threads/mmu.o new file mode 100644 index 0000000000000000000000000000000000000000..ac094874962ce5415457226afb54b7b01747e78c GIT binary patch literal 24216 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 Nl=R<&!mK3g{~uZX*r@;j literal 0 HcmV?d00001 diff --git a/threads/build/threads/start.d b/threads/build/threads/start.d new file mode 100644 index 0000000..83368f9 --- /dev/null +++ b/threads/build/threads/start.d @@ -0,0 +1 @@ +threads/start.o: ../../threads/start.S ../../include/threads/loader.h diff --git a/threads/build/threads/start.o b/threads/build/threads/start.o new file mode 100644 index 0000000000000000000000000000000000000000..7a57cb137ced77b327c4c9748f708472ad208ab5 GIT binary patch literal 30720 zcmeI5O>9(E6vt0HsDpx2{NzLI&{PtmPH8O#8o;7MEv-N+Vv35xwDW8W)6OvSz!GDq zOc&Iogb+XC2MN)QMk6jvgoK!;jY$(?G%k#~Fx9X_S1!baSns(Xr*B@n(zr1B-*oQ% z-~T)JzI%V~y-D6IdX8^@qP4Q3f?TPftu)tjF42TPr(3jap{2Bh+UkF6yF^vAXhfN9 z7gVLo>^G`0^K{TNN-tBNj6OuPMzteWKcL!Lx?T4+s(RG=+$8BP=_ToISyz&lQ>8tU zq!qMC^h#PRdKKL)`X0JP^lG(kQ<8MAJu{!Hn(h=ouFmFS*3e4PH53w0^0FCHrF>`xTu^^fKTGR=PdmU`;R<@};wNaved z>nV|_Q-6Mc!Aoa~bwxj2@DqE;8}bXsQcaB`00JNY0w4eaAOHd&@P8oiZui)< zdM}Mr=h;nDvC*&9n(HTG@0G4q#7<1A&L3RGWAT~NbUaowGrom4RX=f&U%G$)$aKe7 zvstG{TAGaBz{}fF`jd`a z9aowtR`WfNoQO3ntgYVrAmy%Y9?$%MV0<3;$XD%^3}h1442tiRlR-Qv}exC z`;k6~3Isp^1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;{v!er{%8CPl!#;; zD?b>KOnhNKT5hPGnK>%C&RoE)T0|vpp7X1%@AAbt-{jqk(sgIpw$a943HjWOkWM2o z??{Ahn&&kur;7CYuOFY)83c69wmH9SOo#KU%4~Yt`SEf;?fiA+KIh=m=WQwXk2=4z z+#k{Y{OdKQ{qk7d8_K1!xuL$)U@qfP(esbwQ~7kCm-5p+S&v>A$YxXdj8~+-jGt0% zZ&M>nRi|_UxVa2*TBY)X*+$RGOx`ycr!{%r234aEI00 zIL)~ngS&G%7TI_C966qINOECcrKpgSv`O-u?{e&Q27Hr+(hPAq?Ks}tlccYIi=8p- zw+4K>7aiXf@a-+3{rv$y7~dQ4ml>_&nGqL0Z*U%8yT-rGXdOQq@PqTb8t{Yhp9cKk ze!mU)%u_vQdj1~+zU8KUmu!Qt6~|w(@subY8&vm}YW;#~`<*Iy*>uA9hJ8w8(ter} zJ;fp=w5#qlJtWn5&d;I-ZunyJP1b>76lvEV((_A2$^eYU7iu$(NI z-g0a5b>p$_o6z~3LzI1&!%<0H_Bj!1!{_Jcfamkgw+Ih&Y*5ur=!4h6;yE+*5bi92?=s<9^($2T` zcGWJl{^dmz&}k><>&I&kub&TBn$Yq(Z@Sm)c+Nk&M18{J7b|a}{a-t5#-B2c)ZxAI Sv%S#xe*4AHB_oXpkN+F~M_}9l literal 0 HcmV?d00001 diff --git a/threads/build/threads/synch.d b/threads/build/threads/synch.d new file mode 100644 index 0000000..bd5eb50 --- /dev/null +++ b/threads/build/threads/synch.d @@ -0,0 +1,7 @@ +threads/synch.o: ../../threads/synch.c ../../include/threads/synch.h \ + ../../include/lib/kernel/list.h ../../include/lib/stdbool.h \ + ../../include/lib/stddef.h ../../include/lib/stdint.h \ + ../../include/lib/stdio.h ../../include/lib/debug.h \ + ../../include/lib/stdarg.h ../../include/lib/kernel/stdio.h \ + ../../include/lib/string.h ../../include/threads/interrupt.h \ + ../../include/threads/thread.h diff --git a/threads/build/threads/synch.o b/threads/build/threads/synch.o new file mode 100644 index 0000000000000000000000000000000000000000..7bfd77d06d12c883c1860886b7a51975fd94ad3c GIT binary patch literal 24504 zcmcJX3w)HtwZLb0Lw3Uo1i~Xc)I~)el1-vK6$BsApcWCKN|kOl$tKy7Y{KqF(Tafa z6)9?LZ>u%GTddaF`m@DqDdHS%$3bpiJ9`2K6&r>|kc21!`@Bu6L^R08prX*z8k7U8iPp ztvAp2|Gaif&0UXx6Gm$X4joS`Sl9hnPR%2S=Y>H|ji+n&q4xKp*inH#6z;0o=j&R( zujKOQb9PIW`rN{pcGv95^|ZNWk5UOC+JoLGoa-s4(_SYAcagX|&+Gm#617jG`vwfK zmx)L4%B8IMOnpCydOqy}b}_aNf;$-q78_~oYK zGVp9iZFlE3xOVIq_+CE_E(D)?{&ub3Hn5iRfwUa-Rbc!;8aLN$Q^PxmIW%D)ty^kf z*!oKQz1wWA*-^V?WnVu_kOOUjyNp$&OoWSvwmLU*ZiaMs!X08TOT(E1`O>w1&%h&B zF_4yn9=Yg18V|fJ4r1gg2iB_3iQH;N*U(BPghQ=H=ra$;i31sEhhx-|LoY1zDT zkGlgMunsPCTYMf|f(wetB--MU$qOS(SDtm2iDxp2bT-+ZiquWXOpP?fldXxysEI}^ z;a|2TorpJPDl?a)8d{O~)GAQ`yA2Y-HMWvm%knCR5E3RN2weo=#+<(Wvd9 zA`4Zfu|1WDn%4G)HC~6tOvZAoCDGa#tG^`H(3wsrQrVd6D>4l$r=yv+*#Kf-N~5P4 zjff>v$*gVd{ERiWU!0QVZ2A&rR=%^t^&{F@^WqI_JCo^zX9uMfe#C+Jdjx9{jexsAvcbtrH8BHd(P;!@%fuNPHn|VO0gjU5CVPRXH-D7fF#I zhyDPG>(0p>bvqENx3uWI-H^976rGP*%CEwF$OJ=uaI~V4qSd9~s1yAnV#>!bUkY~l zk%gS6(}slb1hmpaO3)_C4}A}XoXV;pqZ>S-F|T46U4yZBw+WdNR529W8ej4GSRc+N z8%^;Seu;iq(c%lXLB7c4FWe3Jkjt-L0V3rt|HTU+A94A*KFCiCXPZoM>q}tqJcrxR z#J%8e3-sdr9TNEn^0s=&WVD*bI9Pw;ydHk_`WZGxjQ(3qcP zf@3frg8XqNI2QAzkU!Q0$6>x4^3^6-j`;}Wt4we_=BI_z^G$F9W~;*Kc_ug!v-85~ zOwt4=VSaHq-3a+ZF<%=_*LRrUVVGYAe4Pm%j`{P$=?2J0Fkc5Uke`hCmT)=_`6Dpj z;mq#~PQieNmz&@;bkKwo855ko0dnhXD1tLEf2qqK(*ya-!i^v@6Y)leD=>eB%STb< zN|&#~j;?k2S(v{uoKAwlbAJr^o5KyDW*#=(>O|&a{@X5pJgT|FuG=>lxJ zEu4X-3sHQB6FCv{J6(PeHhsvQpKk1mhvNj2V`uYz`x$VjR`EETK*K)Tce7(1Vlg_GR@{K&kCyl%t#16{Hs)FW^fQy)Cex8@;i&t}kEZm2e z3+ovgVm%9+613fUHrn%Sr{~#iFl5fN(bls-&s`h1jIITGwr&`M(e{n;9b(JdHrN5V z7aIP*`+6VTMm%3nlfGUf~UD~ z{e!09pj|u%j56i6?Ynq3aLQ1|*W2nTe;2dHi-+TW$kk zXUk8WE$5HNI^T0B?(b=Lq5iilYmnn_gXYGc%`AoShrA1yx6g-98`hHEWhHFl&Vvot zXE}rOrmHpAS@wNr58PEKn_AO`nG)>T4fjG0CGNLi^7Z0ixlk_5GwVbd%E8Rt!e>=pkn!B{ra<29 z;a*u|J#j`?I8$LkM;Tu)-dvs070&1uD&b1k-_z)>PlLGI*;~OR?jTg^Ws5d@*k!DgY^0b6KI9V6NBV4W4{(xR))y-1tWNrVK9&2Zm1^KGHWT zSPJg?k22x#iGbi79cu!^j}M;^UILC65r>QCkTPFjcsPtTKBy@k=84UNDG?k23a~{8 zGjOgPZLl=dHX6c>!q6z>bYr7Kia_OwVQk0}!={1SNl-W3=UY;S9gUa_nks>m&hmO( zG=2fh@R3p9qVd+&AydbrCyUF!aq@Uy+YdjW4cVFQ%BYo8% zHik5k*jP_rSm_%_`oK_BQ7#3Sl;w3jK4&G0PKbhw=$z6x5yU7GC^ji-(5KXJCv422 z`5*-YV`jo1K9%6pp-l2wTk>8I_L~;~`F#HzJ`6tX7shb5`tr6`Xrm>WYH00jOjNce z>klNAYZB>HqE%JU-VAJW(B=&2&SV=K6HU<;G!^pjNbmBk$qeS;O6P=Ia09_901SDM zOr+DD9Vi9G#zcK*vunDbzBAdHtw^R$bncb7C_o`F)3+NQ_jF*v8(E>$nA6`np)${84HrQ+i3R) z?T(>YQMBRGbZJn?Sg|EeV=& zcq%&D!N5e?@s3vL3I#f_Ic751c*B~Cj&yrA(U5IVL*!s%)_y=UgZqmR0lBx>&=Myp z6ktc)cC3p#Z+KE2^pNe$n2Qn(u~fTh?uexm%`giR=?u4aV+O&d;HPj}T^wJN=N!AB-pz642UyaciOu$Q`tj6nbW{HIHIhBie7Ow&$n>tesv6!3{eNVa#xn$j@huGa3k)7)xn zZCdLtHU+l)O zJ$7en#c|I6>dUL=MXP2_cNA}Kyqfi0y4?8ImHH+g5)9o4cU4@!@fvO&3Z68)^lJYp z!;1Zxr$EHkEkF**uE)7PQ07AcY@4Wg~ zy!wZzegz)A`m??IH>lqB+YL`(IM=Y>S|xuS@jBu-_Ly#lKa}4{ocq0#IG&4`nBNb1l;27m_gpYN4u8nE z5g%cx`v|ygazU8quj^SLVBF&$m-!el@Kn@K3efJpt_r{&et#+8cJmLY3K$-}Toqm$ zMuBIX?6n9Azl1;god8$R@ec*~9^j~l+w&d*zHQQxTfc)(R_`L=AcG5qM zE(Lg=VCo}&2XWpb-9`K=*zLt+uc2^!m-tKYB?Bhj_Wgvo`%20fdrgM=AozoE+e>=v zbr$$Y;&pTi@D~&liBF&tj=z$bO8k3t3fSu@8o*DYyatF?&#!_t46O*TG*6bQ=gQKt z$GSxUt`>O3CYsKgC530@DVm+v$?QC}b8t!JmLy=noV<2(^K{OgFD2*A5^I#a6`=Rr zlUsq>g$J)>^Hw2xRh_?{rCPUYw(W9@LbrV7w-sy&-&H^b3A>_GD=N~(&rP;LZuvzE zPd3Lr&3Mmu?l~^+y$4(9{~Zmt2$s)eR+v}Cc2Q=Rb~a~UY_K_crNQQNi#FPAh3Ny+ z7OvX4bOdFY^Zf?*VlXj(-4)FVbYy-MmCq2|+q(m{M)1QZkB2RSOMAYdINNiZ;(TA; zra0U4sNm9`=LL^Y9uIF)p8YzW%I_-9_WV_Gw#SbOAh8~{XQbfLp2Gy6?3&uoO2K)I zu;O!qA1UNl3C?|Db(i3{cH#6L!Dak^s5txkfZ}^e(KCv3-@g!C`ulsqC$lkd#Ooj? ztd@2z7F^nShT?4J3dMOn)}T1snHF5yxj}Gg=PiOyvlhFLp9nr(@D~K1A^4vKm;Mf+ zbt1+A{XLV~j24{FO{|(JIIr=L*B0Ox2#zN3y7WteW501!0x2tag+uo9M!}~F{$0Tj z7yMztQ9oZ7o)$bRKR$&gfKp`--Uvs{Jf5MnFQfnC0u+7{%G1!xd+H zqKdOU3k8?H9cS*JMLbB*F`&({T)_WVF_Ij?pKegxTqhd&68 zS)NyW6lXg>QM`)Au>`(f!^H7tJIe)^cFq)B#%+<{*wsc<3TcVrY|puhvpw~Svps7C zm-ciEezfb-e*UN6GH$yBmvQ@r;%w({73b&KJ&LoP`vsSFmeIN!<1FKLq~K`JUF1WB z;%v`c#o3Ji1+o?U`Vdwwgp9Is&^ zXB^MZ=g8J^inBeF72inqR4LB(ED~JWbFScWeRzrB7$3H$OL4Ymi{kt|+p9R+bGP8q zo<{|jSFYmlbDwu2Y=txkYek&vwD(efCAcj}&qHo#41P$LSNn<@J9U zJ%3}It5_J0#|bXy;X=jP-_sS}O6SGr6=#1Ff=hod5nRs0F2%XuEsAr$y^3?ccMC52 z-642H#Nj!?(H@?MuPV;=ys0?b^Jm4`p8pYC+A}ijjKDC;c{o{cIS-Ffob8#dINNio z;%v{kf=hdv1)nD3vq|vjg7*qORq)3Jm-Fg*#o7MX6yHYkYPaHS|3`vL`$M#Wi_PV{ z8l^b*J4tcw_ZY>w-{S?B{jL;zj)+5x;4+?cd$;@0_Vrw9L*kZ~1H*kyOe5XF;}6pF z1GmNLh4OzRZeJjSGB(HOAWl4XC~serq6)qyupWLzV>Z<@k5Tz##SbfTV2R?}sqv?}*vN`WuN~ zuXr=r^G(I)lm0suZzcI3DgGhpe^&APXk6Y<{9@Aoj^Z4jj}?EDMzegWw{Uh#i9bIfYR@1b&1 z@%yRVsdxwJxmodb)bAaNzeMGG6_1kqCi3f8#h;?`d^+MZMN{~DoMlS>Eb2F=_zcpY zQhXJa*U=I6<9(d(%bNtpe)rQl;CjVt=tg?0;xXcPDV`?&3*sEly>uS_M#=N{SsyET z_O}R)hQxZ<-!jG7-$RMBzr21sT5$BY0~JC#PVw!;7c2fa@y{t9qPTrQ@rlHn700*R zF=Z8BOMH{!n~7hq_?^V>C64Cdx`opYCC}d{{!GbpoZnP@1}XZB;vdpD?pK`SulKL` zIc}8Lhr#&UA1A@_aK-o0^R3+1LitdMGibh&UrPKm#pA@~z831agLs{i?<3x(_%DgO z-#X^jfgcdRM#&e^Jo%d9&ac(POKJay?d1LI31VLe_3-!L)k=N_`L#%KwsVQlgLc-Doy!GB{jXCw zruchQzLt(`=RCSjUa#c&`*+?qV|ljoKBb54d|2o~J9&TaDZ$asp;UfZ@k6Qnmg03( z{y=g3WgDha8V9!Xdk&ik#4%jhFTZb4t>oD+-cMsakI;4Yb4s55Jx}OIf2(L*`1-;9 z9!c}5O~|7?bBJH6_+`YeQT(gKzoz(I#D7AZ?VpUDKzdlo^LrYvD0z+p@3XNU_V<0E z2mOtZzaI;ZUH*;Y=BM+X55LY(ycU%~nxyyz#HTBM8}T`c^L1SAzo9)(lKeR& z&wf?fUX79aawyO5x1^Lj$LBJ|IX+hld$7w=iq8##qy9@NKD~S*iFO z;`NFzC*H33<-{*j{F}tP73X#K*A?e=`2EE3fa`?0G>$u!Jio{Fl9FeCdB2YJtfq1N zK*{s``Mc1M^Cv|8@+*5B=k=s#7_DoVcN3qW`0d1}D*hPpS&F|-{3ONq5^p5Ve(eNX zF{P9|uV=1O@*JP9D$en_O>w>s|4?y`+XKWg4j4DycaZymX!_d}&z}i-Dm zUtaICzmF3iLhE;q|2oixiTC$dp8cIc^32)ad5W`NCky@P*E?1_yuTngn(|ZP=PUji z@r2@&$X|Z`VEd;L-=O5@6aR|hygzb_;teE!r{eg2BBuL^a~w9(^<<}#chYd*R`MLr zHx=jopAQu0c>Z1J$9TTZ9ni)snuqb^eZpaicar=>;%xs+y3QP4fFG^+A4q;i0bZ^6 zl{DXG7vKvNUrX^^T!5dh_;*SFnFaWA#ZRU9 zewT@6E@{ig;TN}=Y}y@LI0rAY#-sL!Y0<`bHg2Nz@N=VRy4@9Qt$QgrnQCe`QJ0U` z*W<5~qM|yUj;EU8e=?G+HJM6q6X?%G8`|62;J-jK(G>i4FABdcbid`JMu`^q%@qEQ z?%z!jP=KM}dCK}0Q%3)mnZm|m2G3tSB^P_dWtPzcz&4ub_+QvyTY8-F_K1!qPM0Ou z7(O4O`-ulAqx+u;9Cd!y_V^tw>Xhdc6ipxX|ETJa&s&tiguj4RB9?EUpK3fz*98mv zk;U&N`imb2w7lH4#Q5PD>G+)itiS#j&`Sq9RHZ7K)dkvrL|=whLA^}6{rOPYpZ(=n z0g2nA{rCu^?OzK_>jY$uqL*v7s)5n6tsvW9|FzUVg%5t?0PhsSpYDG>Fx1I*Le{1y zBkuS|R4x+t&&O+_uD|woPjQWAh_;yJc6{s+Op3lr?IpuJw_|=MF%>5BI=5F9>_4}^ z4Kn@3ua4r^LLFlKaPD(^jw@EHE`Y%LZ>l{Q-oGw`B2G!&9_NHUcd=!81%ARlj#94u V9|@n7{@_soH=vm%-p$i=iXheEvq=k>+vWK9yL=XQcRUPyg3ms)zMNlNDWlW18s-S4{SV= zA9$Jtj_to;cWl-IHywC}a{@a#_Ujsm1$J>#%Pw%`W*>XKW^dV>LsUX(psnmc;O4S7 z;rM=_z3lydp6o>NgxInD{|{)}`%ueasO4~Ar0P0$EYS9RqJ}_Qwv}jCJ5R@!{F+-5 zXxp2}25S;tXjgkn(@@N2xrxNF{cXN2fsHTbUwr8c=v8oP5w!S#RxQ;6547#E{HYbY z{|WPi z7!=Q=3^)ir+f`fHr-@ECg}3a-`r4rhTGy5hCb{1v7q{ZEX72`6nGJF}@r0e|vJ(d& z;b^hI-VN_VLP2wks-$7lUiK*s9Lv^?U7k(5dvxG`gVJwuV4`PFXeK%ME!4poD0?R{ z9Q*+o4lo7|t5|<%@!|FjM?v+B@?Dp|+T(Qg*|#vFt?VnUzBFy)QE!i$(S~pI7EV(e zcjqUKdfSCq7qlBE_4cx_lBcKRPAnL$8+SYI8Im2)b72?g=;FB$1}qL{?W3dL#z)y; zLJuuD+FqJ=0vC_|C!p#0(b=x3UEg}d`g^L+(zwfq9cF=UFMngZ(dd?eNs2B2*2E^K z};FVO-=T6Wt)n#i)#hV`LW^9`OxLxFv5006-iBo$)Wpkw(&@I+xo8(bzq~O z$5A;ax0|8ZUYhHULG~4Ye1Ky6U#&M^3EvZ9UY!as3h1 zngO4)uIcI8_x&DJfk9n8UqSEgNeeW8C$2)fUHU*KPvhvOn*$EcPCK)448oPa?KQj4 zv?p)gaUkcgc^-q^uA?^Xj`d5ZhO+}!JKYN63>w&Y zxF|7pb(iVtU#w`Ko>$Qx%X2E)8}hO%+N<+&E7~u~^H;Pl%ge85ugEK^XrGr?5&)6X zK>ND9KmgXg9Z?+f~t4Qqk7zRJ7G)SG29nt!S(CSF|n8 zuV@PtRkW3YAsN{!I8WD*k$VCz;!Q- z(0!bHQ^4s!DY!bV%)MzboDr{Sk%R;MZR?MG%ckYxI>+r#ecC78kl5yfrOX*RSxbo}r*Zl;85zBT=wz;!vlrxxRR zhgbL>XUs7@X~Ky{FG0G#%@Sm6PikQ%IqoiPFAhI5eVkp^)o;^7n8GDczfEnF0gZy2 zmiYRFzxe8TxjrADT#rqj)w6Bid>MwCy2NNn^mnSeWw(Rjjx69w+*`Eu!DVWe%H8R)*_t^250LsPQr z8f-1-0zFv2zOW=W2DNnCcX$`y?}jkgp6DdK;%LiGj1@;;uUv=FP+s3ZsR&F=ZV_Ab zQoOrO1iayeaBYH^*s)`9y!&ybkGH+n?Vb}#)<>kL%+FS!{Nkkxg6A$+hgH$6(70%@!`k#fs7 zgrIBdAiugP*iuy&u8!-`qEu1>@~QrohH$u9y*yAUy|t$tSRg5N5`NerXFww5b<#0` zw~5NvXBK>VonDymdNTCEtMk*+(qT{;v9xU5F0~7$4Q$mV94w(#r49Km60cTe$jKc@ z(kwFUF(jrsBa?SO5M5z*`h|xeu5C!K#3;pAVBAr?oZWELqW<(t@n+tLUWSF<9nbB3vD&sVaF9zPKGET>MWoEPr;(m;;1R01A$9P?4Gz9T8Fy3s;-<>h?zo4<1 zOI1cbHc(}TTU5pvobOt-e=^2m{3;Vab1THxWmbd8IK&$aF2MNpCSHgln@qe2E81-0 zlQ6y|Gg=P@PkjpF+cK*_O$ipg$B0bB_bUGG&BC`dG&Oq^} zjmS)l?=2yBOkr6JNO-;`y1e8r7=-Z7MOi5r@@Lm31>{ zz`wq;Al;8oqkf3+rcm{2!NCeCh+h3T9Q*Htj{!rlw={LKegnsxtT*8k|FoiG-~g1< zDxAJALDcd^ZzmH@c-?Z3<%KjO-n-u<(5+9E{65avAgL|x(;F?Oc%P3T>KLJ-J_A>} zLW3|$LW2iG98bM$s9x*qlX+S@i)NmVy=Fu+^JE;<#z@I=-RT@((@pI~-NEAS;AC`FqM||Hhjw_*N`S%GC{G!Vk_61UAClX^ zPr3)aYDjH$OnH`X29glU)g?E2u_%Weig-GPV$8E%&tDjwh#wF<9bbT!lXY~xF6-S| zr;K!sD}6}IqV%tz$BlFiNe52Rg=@Vi1cgu4$vW>)7>6dSo+MWeBQ@%3igbWBBNOpr zw|KW!p2ji{fbnkPW!UI&6Hj2X+*GG6_Y!6q>o0Jv#|HrzJRR4-HN#kc0ohb(s=tt` zuQSO?ZM}DE_32pd7ATeQvs>}s`&w4KZd>uLo%pMr_}EUo0-krZErS!%O?(YvD(emy z8(6pQ^^;UTwBC;fdCI+d+QB%43(W!A_Zdi-7F1}7gw?}ww(^{-sdsCGTayE)kDJKB zbLkA!=E+NV59bp^9S7m6Y_yL|cGoCMuGH@O6vPr0k64Xup^!;O&q(jpAeATi$g4pZ z27zVM+b|8e2A*bHo8;vaOeFdL1DyD@m(gVHWk>bHRvI4+aeZ)x>x2JBz)2R z0C?N84x~awm2bIqNRBrW)5-PeQ>_Ff-ppzN#}LM#>RNsT^p~)Gz3paF)U(?9qk^BgF8lr;;kr*D+jPrkLTn* z?B1+uyYdQ{4WaTKP`MdR5x4T7t{N+U*sVN5wbA_B78)x@+pguBp4g)NbZbxA+NOT9c~8Gln`M*JEER@f5+}=|~!2m>_v4X;yeqOQZZo zSb_|Ple;(jQ`>wy(4OYH-kv&;N;TK5v^;g(iEidPtVGXseN{g+!;CPcrxmhK>4hUC zJRM1ECEc*GDCGH=MZczqrvuNPGoei%)8b2e$McC9Ar0L$(Cw5YOOwvXq@1MdtsV!) zmcOtqdtF<854PwUQ!KYq4};^b5U!O;eXK8k`F@E zl;YjG%%nQav>7;4Pn(@))+`+YZhY3bv2KW7Y(0mS@QHRJ^XXOKe%JJ*i_qOUQsSqh25@0TfLB->dds4p{d8%Q+6|VpIG9!&Q(QdvNv)+eEP68 z#cM+i%G-o#H32`o{e0VjPppnbA&ybF?BOl*B+SK-eqAEkl!!(W(PlTA5pbg?WxLUg zL^S=H1nuia`<$GJp6W(3vfOC;^=`EHKsTD+&g)=>^Q>ia)(}@HLvJqV>^=!QdJjld zG-H8Vv`@l-K9;dVU4it~%G2L7vTshNukR^+`+ElT${qqP%~P3~GXa6m2P|DAZI)X^cw{c*ru7});MeEbXbV=ALJQ56eS0wYk{0W zYBXSQHaEZvOPxWJ)O>9NCI%<+W(`FEPG?&%nOmr44b`R7M-N?)gYGHKy=x9=9a`u~ zVp<7)+ml!qI5F8I!OdW0aaW>MCf7#aFeM zbaSWy9^06B%a!mv#Y7t$<0euaUKOu}sICjFp!oDv@%n~XL49PV@m6o+R7m&^D$iDU zlHtktIKw+@NL@#o*Z07+J7E_2i;6ib@V_*#bACL{v&329Ju}Cd;cWlT4NlxUZqRei z_}LpjbH+O#I70t2djMBJPRKX zC5+0SV%hQu2YCE~p$?;Ck-T0XYsAqnWDMG7eEj$q?`g50!l!p< z1~ubHDC&If6qVix17V+Y(Tt)_;kiz5-S}snoSDxZaBds_$y-jXbM9Nu`qnx%zAWb; z@J{gVz?tRyyk0mP;kju9wn19zuL=iaDh`Qecm@p*TJTH8oU+qpBs`7z$Q5T@g`{@D)LRDyxD)J>Kgh!Nzc7OE{() znj*D+{Sk)~vo-<`eW7lBrUoJ3JOO7b@Zqg8Cz^gd-W;k8D?D3+%}ve0nkYPqhU(y1 zt7iH!D<*@u;!aeA`l%{-t{hd>;g+f(wAOvXZHl{!^waYoJbRA9Bk3U9VjhBOt*8)` z#G-NifIJutuYok2?!o3zq`t~(G|Q)+CLh#9 z!(pg{oe&K-HmwaSZCMaq0JB=Op{n^x<-R)rbwz{W2tG|$u!xL<`lNRaR8lX58^Vq5 zLu7nY0Ho_<^`QoShzt+JgIcHoA37Z0jW}GEpI^3A;fn;&4XDC>sH}TakCS+_9(cy@ zS|53co=oGb3S6bO7w6p|zK{T8&OGl=>Ll(X{a~C_;b3xwiRo7?nnKmV(Aruxf6;RP z+~Q*Y)WXSyMgD@umZq9mK}|zbCI+oEFd{s%W$yF?HEaAR}qN@YAA zs;-WP;o&E>S`R`T&oLJnx$$*Pjp6a}Rq;qHKE677!*VGc6?7mfkCvUY1n~JXp ztq#YVb+4NK#gPc(4qB&Tjg+Cgi{242ePrsgdLSCEg10Y%Rn2jAMW`OU(V}1up)(&x z(CqVJ2rXmt>1_=KXI7XQcCMYq6COrnu-a`QHa8BbdQgmSSKtSns14yz3$HSaN!F_~ zWMgAP&6<{^cO!yxnwngn;~>&?yQhwxRnSaDr|rBI_+m@)+Zei+R)uTf?VJ`k&trPp zYYf%u`2zbf=uS20F+HzoUk77N!4UeMPM1ivs)JX4*cJ3L3C=1LC%~+tJ3tRM-FQ4p zL7O&FXX#gr)Y@=WFw&$?Z$8nqhx8n(S2pm5ik?T~&D9vCc@>=Knq%CBj;fEs%ue3Z z8rIgs%-G28z*m7*P^(?1fib2*&GDAH;3^pRtU=GbFo`yYs*BBGf;mhyhe_rz*&L>r z!&Gx9F&83j1YL1-f0?U-Z9NST^jitLt-8KN&y=RI=1K_7jmF`Psz^*<{>;p}NYysO zXsU%d7l*HQU8rhJ92~)|FkKeK_Yuf5Xox!_;agi*nn_!Ci(Xl>!}zr+oujW0!KMh* z7mG(>vt|C=xo7$Fm+RBk%w7c(%}HE*O>s$K(WEhk(q0TKEj?E)Ri4&t&nYMMa<;&_ z8232zlUX?G-IdvWvv2gy&B`d-=<}6(UYPw72$IY^IAVZ`m0~$>y_P^7)yN_2zz;Wn zyPLlWIRw2a<>m+6d|eLm^~M|L`{sI30QJ9!g(2v@LC*I+@0LGkvX$P)bn}n8`T9FS zAfvZLIe&@H);`Dse_+t{aK3k!TYetp4@4o(KhKnh`!`ih`48Lq5J%fLP~IDMp7&K( z_dS$9!p^@eVcTxX*AEQ1?!}4x_bDH5&|KRVB=YHwO~DRABLAF3zMpPBQstL^Lq4{B zCFKWg{Se2zb(E(cHnHu%(J$L5Pd_ZkeNu?eBYqEYKOL9B5%uh*H0#Il ziu`548;I{0{0ia+h;z#~Y3?)cLqQzJJqMq8m5G!3xEVh2jX-|3eiG$=4~}qCrY?u4 z?-=+Y@_i6TelKqFL*REi9)~#cEz}@={sDUu{!ss6>PkH?0DGR~|4#DyoCJpLMERp6 zp9N_QnUF^PKO>;e1K{t$AIdv)evw(~2=QFOza)-dnZUs9bx8lM1o(}LfxuCJ3CXiP zn2$U_oZE%ZI+0fj{WD4bejJbx^gIH`CB$#h6CRX>G=?DQsT2Aeb-qW{v*AWu#faY| z_{;?&IwziH-yGbx|+^0<14!8^I}kX^KSlk;4-wBuAzzq+ z|%IjHkf=)rM}dU!nZ_`f=Z{PijLZKUT#8kqd7_+H{) zQc{7QJi1WO(hv81%D(3e+D@EVHg>%*ICfsJt^ehNWuSENzUFM*^ApR;mw#J~> zKXA-}@rU*tCTHk%6L3H9?)-CR3O+RjpPhm)1djE>hYotZg)wtS2M-yn+c;|*E_wed zX$Q^SkdPaQri|V(39wA2KjjxLb0#{mc6tx>1S!7cJQRCOj#`eKv~Pd#z>*n=(>uyt-Q-mYltZr}t^B zJwDwdyje?SkXhS@yqQcpJ-qvEZHSr{x(^F@uj=^yble`~9UR^3yjRH9>hD1Hv>9e^ z)S10LZ2)c5>$v-v0k-8~(-JomkKdd!(~Y@rhd3?=CK1Dfet8d$$nE)WBxXWj&hOZa zH`wKT|3S|nUCwV;@OlCDFhdn9@dE;Kn5x~n*CT|09HvZH?mGw}AfKXR=HqsXvpi@0 z(Be}W!tuuzNBw?E|H9(7{4R^5{5_Q3XK`Ep1B;`4fYSd=!SVhD10K--6_|i9$l|c{ zaPQ}aTin(^IR&3%an!^2e+?F&h80q{*5WA7_l37u9PL~}^4lza7BM{RusGgpbNH3T zr!#~juER0lfyWZ2-?KQjw-h0Se+a%?Q@Gbeqak26%I}6h4E+Uv*^LE6Ljd(3xhsl@&la_pB%;tyGRW)s5$zNwCZ ze;OW~g_$#qD`GY;o*I z4o!lyJy#0O_G}iM>%Pn4%&?9f7Prs4Us)Xch4*hhv^d)ND^vpEQ^DEJe+%x=xXDU4 z<=Fph)2S9`hLU3}evT=sKj&E-?fDJmEfSpVsT7>;sTG{-UTbk?Sj8Qob8z*IM-caab~D4WO3VXYb-Zo7N5@$ zj+u^0p#8T0Pqnyx-c7N%?YE^V_=73=F-)HgjEj$0q;`$USN7Mbf(NL-&J>*c<}8ad!z$)m++M$}w0OB?=ZzM}amD-aTLkBEb+_P^Wap0s zXPch3I5VvNb&F%YxQ~zF9l^QYLxOX?p9;=(_-NlB)iOis1r}$9_10Q^83GD-T6{S}IKF9d`#SZ$#V@eryDV;x=VO9%k>0eght0o`AsqKu z++OFrZgKP*hj#>Lza0|1j>gHSg0qi&^c+R@*Jk2a9M{NSncvwt)?vxpcK+1jww=Ee zobB8#cq`fYn&52bdlqMgzWB)EGZ9eux5d$(IvQ^dJz~Kma<*rH;B3!u!MW}ti!;Nj zXILD^!#xNg%(uAR@Ax%D3~0{^9Wx(Mi`#nES==6nw_4ox!w!q1i+NqTUvPe2_rAsL z{_V23-M?Q7&i+iJ4SDwSX6oM@!P$3bSezMp;w+0}y?p;XPjIexk>FhKrGj%E4HjpH z^=`E|*30+dKM4C{Tz;@IzeADvD6_2^IJ0rE@Q2|ki(h1r{@i16 zyoJrDy!|QopDb?c|G?rGTlzC-aHAV%T70m@?e*api(~XbDl<`V_WumQx6ye~AvpW` zVv94wD(Wn5uZym*IJUPGg(2K4xL;GHeqwREzkY4;OGy?F|6%cY7JtX$JT@^qjh-j* zxb;(+z82?qC@`zc;wwoO50_Zn-mhr4c*v5+uaIJp^*&(nRYpXAc3ND2&yVunNx}b? zf@je4Dy-MmlR^4$SumF3c%aLa{;8h=NPBTmLm>4o{~9|J!XR^Sc^Yx}l9&!yFAXW3 z9%HbUA4hRK6j>bWor(n^@EAiok<;yinuD1TnB#MC3=7P`<$tI2V!_v?8*qu>MN~n( z;D4rcL~!%lV#@vH8n$OH>E9saucCI{EO?YUS>Ps5gfj`Z9j_>08v7JM9?r_Txg3d!#iocCqk75r_|^M3^2PJaAE@G$BBLh$dA z|BnfN0r??=#s&N5Ao2c!&n5l%o`&ro59yyGcnj4xNARbKQ`5%%!dxd-{$?q5Pqe=c< zAUd1UrGAE6!N8He+KmfxAz{B??;^bg`bO@BII|Ie4da$nd~nT@-LJ8 zG$GIPW0{cOPxAa6f$jO6`tc$m&-XQ}EnZAI@DLOA-b?8Xmb|^bdcfjXWj5)0Oz8QL z=BsBcdF=vPxBXVgk0JTr3weG|iq8*jFaEwGhA)Mli)h@M-(WTCQmmKXtK#PrQqO3r zpZOH(uPK7xLgQwR;O7xvLLA2rsyK}nm^DIv3E3SN^5>EK^@7(Bzg6%%iT_aWT;h)i z{y6cciF14LA2PwPOUU#4Yi|m9_WvQlxm}+M&VKVz|8TuGksq?S-@pbOQ+&TR*y8BV zY#MMQ1oso?buRnAhPeIw0`)|RFBE#7BF^tkvYwZTR}1<7ByK;~K>de^-$C-+-c!jh z+l3x}j?B*~Sf0;c`#A*;eZC)mN9fr__uGdB|AhEIg*}&}u@Jr%^1OdF&@uUJ5BKi~ z!FioLL2&Nh>BP~W=o;P+SzvKA<(Vu~AHQ$P{%5{U$p3-l+XVlR`1b@apc{kx1;2v$ z6N3Ma_;Z3^PX7E4!P|+yCHRkse@UGEIh^Oa-lpB$UVcuOOPu9-y*FBL_H(hN2mRbi z{cAr@L3B3x=RBe3G8&(kS$a@@3CXV(yqWlwf!x%f`6a*UcnzD{vmPp=dI+Qe+YTrHyezC5Lo^}y6#LAoc%w8IFIu>(!bE+i0-E6 z1glc;^@6`b^4}G_FZu0J;&>>4zlGF~PYQW{-}w(hei)tqhlD)uSAQk=hm^LTvtYY& z$j%{jL@~4{gX}qtIFECFuV#*r=lho>g7f{$O2OIxms|RA{8y6yTP%*~1?uk&g7>9% z-7NSr;@od+{~F>C3Hj~BJBecw{ZK{c`}0Dc-xqpY$n!qJ=Yn&4J=Fg^-U8I#J{Ct* zM(rIU_!8oIf^)x=5NG@G-+aO_OUU#4cozuyQ%OE7_#Uz|CiL+9d!69Fr+M=h!T&`3 z2ZDb@{Bh!Je>1Jqb_#j^Uc#$F{%>UG0U^)dZ{X)*tRH@MNQZw4dH$Y6Z<>c#p5JH6 zCeGuEuYaS3Jl|hU6}*AY-#J1Lf1hK8;FpkpYK5LZPqwW-b3dKe{}S^2eX`SO z{l)dNf5s5U{zd=fl7FUH9MPZXyk3-o*9%@wcCHotPU7Du&i4EW>cFr=$n*EWIt727 z?Aa&u&l3Iz6#L;lIJIHJ*H58sFJ`NH#IfsntB z(*7xKJbnj+-aQoVBp zzmNE0!5<@jso;BvuO`lRE+sqH2zlcLxQ`d|JWg)20!Ji{OPw?LpUn2PF@Q5gCkxK=$+Q%_RPa}5ex8?tmka*ibrtpLUwKuoaOHn`~ezo z-%r8s5&UiP|Be*=CxS1giXTtGe<}C?(!VnW-y`_%NdIqAa8jq&v18Z?aHM6CUdK{b z>0Ey9fo`<9U*{TT^MK%dy{;3S*9n^i=XJ=#g7f<4LobR*h1n2w8O@i}%+z!Ece}LP~_VE70K_Sok8)@WRmgjvEe*c6y@3-*#P|SJX zrdsIX{iqFs^FCXL;Jn}Utl+%=$?u0?HvaKG>Q_RZ_l-}bd5-0IKYzO5{G8GsQT!-NNeDhhsdHwpX;QV_Js<7qC##m?-9Ai;)tm7DbKRi^3{}QSygda!@slrw8 zi<^bfCX>*)<~L#MBQ;GRqkkVZv}zUpW^SRC9g2n`weZg=+N_~I0zXn|ia>p;u&Sw1 z|1+qC5%^`$LipuU^Gl&rC|n1>g^NFx`+pn!pa6#=&l9Y#lp^xSzG>L9nEqZmUV>Sk zGoD^(Vv7fxBQ8&|tYeby?`Dl6PTfJd@IEfBXUDn3M0nm}jQOZjmcNI}zsrJj^ow*c zq|q)Kwr(z$e?Vlg{Va&@>PnwrUKuU4e@pW+%S%~&&#OECIUy>MXO7q$>?5w9_chSX zQYV(^KNdgXT~Of|DU0veN`~d;7T{;%eNB@(UKZ~gy0!lXQ=*6pqW!qFF700fth@SK zsQ!C;u)hJycUON2)z5yy`tgy0tbaY#&vrsmha4Oj5O&h~z@!qkvdxmagic == THREAD_MAGIC) @@ -108,6 +113,7 @@ thread_init (void) { /* Init the globla thread context */ lock_init (&tid_lock); list_init (&ready_list); + list_init (&sleep_list); // ready list와 같이 초가화! list_init (&destruction_req); /* Set up a thread structure for the running thread. */ @@ -238,11 +244,11 @@ thread_unblock (struct thread *t) { ASSERT (is_thread (t)); - old_level = intr_disable (); - ASSERT (t->status == THREAD_BLOCKED); - list_push_back (&ready_list, &t->elem); - t->status = THREAD_READY; - intr_set_level (old_level); + old_level = intr_disable (); // 인터럽트 비활성화 이전 인터럽트를 old_level에 저장. + ASSERT (t->status == THREAD_BLOCKED); // blocked 상태여야 + list_push_back (&ready_list, &t->elem); // t의 알람링크를 ready_list에 추가. + t->status = THREAD_READY; // 레디 상태로 설정. + intr_set_level (old_level); // 인터럽트 다시 활성화 } /* Returns the name of the running thread. */ @@ -296,16 +302,16 @@ thread_exit (void) { may be scheduled again immediately at the scheduler's whim. */ void thread_yield (void) { - struct thread *curr = thread_current (); + struct thread *curr = thread_current (); // 현재 실행 되고 있는 thread를 반환 enum intr_level old_level; ASSERT (!intr_context ()); - old_level = intr_disable (); + old_level = intr_disable (); // 인터럽트를 비활성하고 이전 인터럽트의 상태를 반환 if (curr != idle_thread) - list_push_back (&ready_list, &curr->elem); - do_schedule (THREAD_READY); - intr_set_level (old_level); + list_push_back (&ready_list, &curr->elem); // 주어진 entry + do_schedule (THREAD_READY); // 컨텍스트 스위치 작업을 수행 + intr_set_level (old_level); // 인자로 전달된 인터럽트 상태로 인터럽트를 설정하고 이전 인터럽트 상태를 반환 } /* Sets the current thread's priority to NEW_PRIORITY. */ @@ -588,3 +594,52 @@ allocate_tid (void) { return tid; } + +void thread_sleep(int64_t ticks){ + struct thread *curr = thread_current (); // 현재 실행 되고 있는 thread를 반환 + enum intr_level old_level; + + ASSERT (!intr_context ()); + + old_level = intr_disable (); // 인터럽트를 비활성하고 이전 인터럽트의 상태를 반환 + if (curr != idle_thread) + curr -> wakeup_tick = ticks; + list_push_back (&sleep_list, &curr->elem); // 주어진 entry + update_next_tick_to_awake(ticks); + thread_block(); + // do_schedule (THREAD_BLOCKED); // 컨텍스트 스위치 작업을 수행 + intr_set_level (old_level); // 인자로 전달된 인터럽트 상태로 인터럽트를 설정하고 이전 인터럽트 상태를 반환 +} + +void thread_awake(int64_t ticks){ + struct list_elem *cur_elem; + enum intr_level old_level; + int64_t tmp_tick = INT64_MAX; + + cur_elem = list_begin(&sleep_list); + + while (cur_elem != list_end (&sleep_list)){ + struct thread *curr = list_entry(cur_elem, struct thread, elem); + if (curr->wakeup_tick <= ticks){ + cur_elem = list_remove(cur_elem); + thread_unblock(curr); + } + else{ + if (tmp_tick > curr->wakeup_tick){ + tmp_tick = curr->wakeup_tick; + } + cur_elem = list_next(cur_elem); + } + } + next_tick_to_awake = tmp_tick; +} + +void update_next_tick_to_awake(int64_t ticks){ + if (next_tick_to_awake > ticks){ + next_tick_to_awake = ticks; + } +} + +int64_t get_next_tick_to_awake(void){ + return next_tick_to_awake; +} From 0e46c20d5a76f8dfe701b26c39d818ee431e4ebf Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 29 May 2023 15:54:43 +0000 Subject: [PATCH 2/5] :sparkles: Feat : alarm-priority, priority-fifo,-preempt,-sema,-condvar --- include/threads/synch.h | 3 + include/threads/thread.h | 3 + threads/build/devices/disk.o | Bin 33432 -> 33432 bytes threads/build/devices/input.o | Bin 8584 -> 8584 bytes threads/build/devices/intq.o | Bin 15624 -> 15624 bytes threads/build/devices/serial.o | Bin 17552 -> 17552 bytes threads/build/devices/timer.o | Bin 15248 -> 15248 bytes threads/build/kernel.bin | Bin 135168 -> 135168 bytes threads/build/kernel.o | Bin 2414256 -> 2414984 bytes threads/build/lib/kernel/console.o | Bin 12704 -> 12704 bytes threads/build/os.dsk | Bin 135680 -> 135680 bytes .../build/tests/threads/alarm-multiple.errors | 1 + .../build/tests/threads/alarm-multiple.output | 57 +++++++++++ .../build/tests/threads/alarm-multiple.result | 1 + .../build/tests/threads/alarm-negative.errors | 1 + .../build/tests/threads/alarm-negative.output | 18 ++++ .../build/tests/threads/alarm-negative.result | 1 + .../build/tests/threads/alarm-priority.errors | 1 + threads/build/tests/threads/alarm-priority.o | Bin 8624 -> 8624 bytes .../build/tests/threads/alarm-priority.output | 27 +++++ .../build/tests/threads/alarm-priority.result | 1 + .../tests/threads/alarm-simultaneous.errors | 1 + .../build/tests/threads/alarm-simultaneous.o | Bin 9600 -> 9600 bytes .../tests/threads/alarm-simultaneous.output | 35 +++++++ .../tests/threads/alarm-simultaneous.result | 1 + .../build/tests/threads/alarm-single.errors | 1 + .../build/tests/threads/alarm-single.output | 27 +++++ .../build/tests/threads/alarm-single.result | 1 + threads/build/tests/threads/alarm-wait.o | Bin 14328 -> 14328 bytes threads/build/tests/threads/alarm-zero.errors | 1 + threads/build/tests/threads/alarm-zero.output | 18 ++++ threads/build/tests/threads/alarm-zero.result | 1 + .../build/tests/threads/mlfqs/mlfqs-block.o | Bin 10336 -> 10336 bytes .../build/tests/threads/mlfqs/mlfqs-fair.o | Bin 10960 -> 10960 bytes .../tests/threads/mlfqs/mlfqs-load-1.errors | 1 + .../build/tests/threads/mlfqs/mlfqs-load-1.o | Bin 8000 -> 8000 bytes .../tests/threads/mlfqs/mlfqs-load-1.output | 20 ++++ .../tests/threads/mlfqs/mlfqs-load-1.result | 11 ++ .../tests/threads/mlfqs/mlfqs-load-60.errors | 1 + .../build/tests/threads/mlfqs/mlfqs-load-60.o | Bin 8544 -> 8544 bytes .../tests/threads/mlfqs/mlfqs-load-60.output | 95 +++++++++++++++++ .../tests/threads/mlfqs/mlfqs-load-avg.o | Bin 8664 -> 8664 bytes .../tests/threads/mlfqs/mlfqs-recent-1.o | Bin 7168 -> 7168 bytes .../tests/threads/priority-change.errors | 1 + threads/build/tests/threads/priority-change.o | Bin 6216 -> 6216 bytes .../tests/threads/priority-change.output | 22 ++++ .../tests/threads/priority-change.result | 1 + .../tests/threads/priority-condvar.errors | 1 + .../build/tests/threads/priority-condvar.o | Bin 10824 -> 10824 bytes .../tests/threads/priority-condvar.output | 37 +++++++ .../tests/threads/priority-condvar.result | 69 +++++++++++++ .../threads/priority-donate-chain.errors | 1 + .../tests/threads/priority-donate-chain.o | Bin 12464 -> 12464 bytes .../threads/priority-donate-chain.output | 33 ++++++ .../threads/priority-donate-chain.result | 96 ++++++++++++++++++ .../threads/priority-donate-lower.errors | 1 + .../tests/threads/priority-donate-lower.o | Bin 10288 -> 10288 bytes .../threads/priority-donate-lower.output | 22 ++++ .../threads/priority-donate-lower.result | 25 +++++ .../threads/priority-donate-multiple.errors | 1 + .../tests/threads/priority-donate-multiple.o | Bin 11424 -> 11424 bytes .../threads/priority-donate-multiple.output | 23 +++++ .../threads/priority-donate-multiple.result | 33 ++++++ .../threads/priority-donate-multiple2.errors | 1 + .../tests/threads/priority-donate-multiple2.o | Bin 11824 -> 11824 bytes .../threads/priority-donate-multiple2.output | 23 +++++ .../threads/priority-donate-multiple2.result | 32 ++++++ .../tests/threads/priority-donate-nest.errors | 1 + .../tests/threads/priority-donate-nest.o | Bin 12144 -> 12144 bytes .../tests/threads/priority-donate-nest.output | 27 +++++ .../tests/threads/priority-donate-nest.result | 32 ++++++ .../tests/threads/priority-donate-one.errors | 1 + .../build/tests/threads/priority-donate-one.o | Bin 10840 -> 10840 bytes .../tests/threads/priority-donate-one.output | 21 ++++ .../tests/threads/priority-donate-one.result | 27 +++++ .../tests/threads/priority-donate-sema.errors | 1 + .../tests/threads/priority-donate-sema.o | Bin 11400 -> 11400 bytes .../tests/threads/priority-donate-sema.output | 19 ++++ .../tests/threads/priority-donate-sema.result | 23 +++++ .../build/tests/threads/priority-fifo.errors | 1 + threads/build/tests/threads/priority-fifo.o | Bin 12336 -> 12336 bytes .../build/tests/threads/priority-fifo.output | 35 +++++++ .../build/tests/threads/priority-fifo.result | 1 + .../tests/threads/priority-preempt.errors | 1 + .../build/tests/threads/priority-preempt.o | Bin 6640 -> 6640 bytes .../tests/threads/priority-preempt.output | 24 +++++ .../tests/threads/priority-preempt.result | 1 + .../build/tests/threads/priority-sema.errors | 1 + threads/build/tests/threads/priority-sema.o | Bin 7672 -> 7672 bytes .../build/tests/threads/priority-sema.output | 27 +++++ .../build/tests/threads/priority-sema.result | 49 +++++++++ threads/build/threads/init.o | Bin 20304 -> 20304 bytes threads/build/threads/interrupt.o | Bin 26408 -> 26408 bytes threads/build/threads/intr-stubs.o | Bin 39176 -> 39176 bytes threads/build/threads/loader.o | Bin 5632 -> 5632 bytes threads/build/threads/malloc.o | Bin 16752 -> 16752 bytes threads/build/threads/mmu.o | Bin 24216 -> 24216 bytes threads/build/threads/palloc.o | Bin 20448 -> 20448 bytes threads/build/threads/start.o | Bin 30720 -> 30720 bytes threads/build/threads/synch.o | Bin 24504 -> 25416 bytes threads/build/threads/thread.o | Bin 36392 -> 37896 bytes threads/synch.c | 22 +++- threads/thread.c | 42 +++++++- 103 files changed, 1102 insertions(+), 4 deletions(-) create mode 100644 threads/build/tests/threads/alarm-multiple.errors create mode 100644 threads/build/tests/threads/alarm-multiple.output create mode 100644 threads/build/tests/threads/alarm-multiple.result create mode 100644 threads/build/tests/threads/alarm-negative.errors create mode 100644 threads/build/tests/threads/alarm-negative.output create mode 100644 threads/build/tests/threads/alarm-negative.result create mode 100644 threads/build/tests/threads/alarm-priority.errors create mode 100644 threads/build/tests/threads/alarm-priority.output create mode 100644 threads/build/tests/threads/alarm-priority.result create mode 100644 threads/build/tests/threads/alarm-simultaneous.errors create mode 100644 threads/build/tests/threads/alarm-simultaneous.output create mode 100644 threads/build/tests/threads/alarm-simultaneous.result create mode 100644 threads/build/tests/threads/alarm-single.errors create mode 100644 threads/build/tests/threads/alarm-single.output create mode 100644 threads/build/tests/threads/alarm-single.result create mode 100644 threads/build/tests/threads/alarm-zero.errors create mode 100644 threads/build/tests/threads/alarm-zero.output create mode 100644 threads/build/tests/threads/alarm-zero.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.output create mode 100644 threads/build/tests/threads/priority-change.errors create mode 100644 threads/build/tests/threads/priority-change.output create mode 100644 threads/build/tests/threads/priority-change.result create mode 100644 threads/build/tests/threads/priority-condvar.errors create mode 100644 threads/build/tests/threads/priority-condvar.output create mode 100644 threads/build/tests/threads/priority-condvar.result create mode 100644 threads/build/tests/threads/priority-donate-chain.errors create mode 100644 threads/build/tests/threads/priority-donate-chain.output create mode 100644 threads/build/tests/threads/priority-donate-chain.result create mode 100644 threads/build/tests/threads/priority-donate-lower.errors create mode 100644 threads/build/tests/threads/priority-donate-lower.output create mode 100644 threads/build/tests/threads/priority-donate-lower.result create mode 100644 threads/build/tests/threads/priority-donate-multiple.errors create mode 100644 threads/build/tests/threads/priority-donate-multiple.output create mode 100644 threads/build/tests/threads/priority-donate-multiple.result create mode 100644 threads/build/tests/threads/priority-donate-multiple2.errors create mode 100644 threads/build/tests/threads/priority-donate-multiple2.output create mode 100644 threads/build/tests/threads/priority-donate-multiple2.result create mode 100644 threads/build/tests/threads/priority-donate-nest.errors create mode 100644 threads/build/tests/threads/priority-donate-nest.output create mode 100644 threads/build/tests/threads/priority-donate-nest.result create mode 100644 threads/build/tests/threads/priority-donate-one.errors create mode 100644 threads/build/tests/threads/priority-donate-one.output create mode 100644 threads/build/tests/threads/priority-donate-one.result create mode 100644 threads/build/tests/threads/priority-donate-sema.errors create mode 100644 threads/build/tests/threads/priority-donate-sema.output create mode 100644 threads/build/tests/threads/priority-donate-sema.result create mode 100644 threads/build/tests/threads/priority-fifo.errors create mode 100644 threads/build/tests/threads/priority-fifo.output create mode 100644 threads/build/tests/threads/priority-fifo.result create mode 100644 threads/build/tests/threads/priority-preempt.errors create mode 100644 threads/build/tests/threads/priority-preempt.output create mode 100644 threads/build/tests/threads/priority-preempt.result create mode 100644 threads/build/tests/threads/priority-sema.errors create mode 100644 threads/build/tests/threads/priority-sema.output create mode 100644 threads/build/tests/threads/priority-sema.result diff --git a/include/threads/synch.h b/include/threads/synch.h index 3d089fd..bcb3f26 100644 --- a/include/threads/synch.h +++ b/include/threads/synch.h @@ -7,6 +7,7 @@ /* A counting semaphore. */ struct semaphore { unsigned value; /* Current value. */ + /* 여러 스레드 semaphore를 대기하고 있는 스레드들의 list인 FIFO로 구현 */ struct list waiters; /* List of waiting threads. */ }; @@ -38,6 +39,8 @@ void cond_wait (struct condition *, struct lock *); void cond_signal (struct condition *, struct lock *); void cond_broadcast (struct condition *, struct lock *); +bool cmp_sem_priority(const struct list_elem *a_, const struct list_elem *b_, void *aux); + /* Optimization barrier. * * The compiler will not reorder operations across an diff --git a/include/threads/thread.h b/include/threads/thread.h index a8ff0e1..8a2a0d3 100644 --- a/include/threads/thread.h +++ b/include/threads/thread.h @@ -148,4 +148,7 @@ void thread_awake(int64_t); void update_next_tick_to_awake(int64_t); int64_t get_next_tick_to_awake(void); +void test_max_priority(void); +bool cmp_priority(const struct list_elem *a, const struct list_elem *b, void *aux UNUSED); + #endif /* threads/thread.h */ diff --git a/threads/build/devices/disk.o b/threads/build/devices/disk.o index 85787503a11bc5b4de8af0b923f288e53e05f79f..caf8fec38f2723a90b085e8d2f04661325555311 100644 GIT binary patch delta 192 zcmbQy$~2>uX~Sac3|t^KruX~SGW?31y3IR+M!YU=*0#rz5;Mce*WF|p4K{yuTWk#gIASOZ diff --git a/threads/build/devices/input.o b/threads/build/devices/input.o index b05632458496d782cae321f9b76b8b7729675b58..e280fb2055d5aed090a6beb7f7c041e54a2c90b5 100644 GIT binary patch delta 72 zcmeBh?r`4F!>q=AoPmLXgMl4LG8iz6+A@N8K)@{K1Y|q=2oPmLXgMl4LG8iz6*fN56K)@{O1Y|Zsa~!>z_WhlzoKgMpm^2n<+7g_s!_I6-Vyv3ejA$`;=|iCc(GTv`$&0|KnF z2&UBL-GUlC5yqAb@$qS;dCBqddWIGz#teC>6(uM_77XQynI#Oxndy0nImj}mX2?7< Nb7Y?RW^1{#asXLeCO!ZF delta 174 zcmeCE>Zsa~!>z_OhlzoKgMpm^2n<+7gqRr^I6-Vy(Rv^g$`;!^iCc(GTuKro0|Klv z2&Uxb-GUlC5k{5_@$qS;dCBqddWIIp#teC>6(uM_77XQynI#Oxndy0nImj|5X2?8K Nb7Y>`W^1{#asX7HCNTg2 diff --git a/threads/build/devices/serial.o b/threads/build/devices/serial.o index b17bcd6e39497095eff51f24f30b71f122076fd0..1037f4606a127fee5fd56ff54ba4a51d724f7270 100644 GIT binary patch delta 133 zcmbQx$vB~tal<|?HSR@B3=A9$>@_~s{EQ$?kWEE$SZ wOX7=Di!u{)7~4nOMdq0qpzt<-P*|W00C)-^lmGw# delta 133 zcmbQx$vB~tal<|?HLgWW3=A9$>@*ybl(Q$?i=Eg6ba wOX7=Di!u{)7~4nKMdq0rpzt<-P*|W00CjmGiU0rr diff --git a/threads/build/devices/timer.o b/threads/build/devices/timer.o index a9a8ff57b4f3c3458f40809d1df71e129846dee5..71285a6744d2e7885db4d79753c2666cabb626e0 100644 GIT binary patch delta 26 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 literal 135168 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 z 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 T0;>{OmB6Y5RweNNMFRf=7+0By diff --git a/threads/build/kernel.o b/threads/build/kernel.o index f13cccba4431de2f070b8a2f2de49d56c66b54c9..c5332fed704073ca06f19ba633bbc21da56edc84 100755 GIT binary patch literal 2414984 zcmeF)3z%J3T`>HUcG{*TFas8d3hlI%mmn2_Qcbz0(9vB?A-qxy0v}OnEfu6dQlgSF zWfII`2u2hw7qwoHzKBv4+LKT+lLBqHC@CUFt^-ueVS)}?=>UPe|FzfI`0v_&d@VE~h=M95dP(KRPsCMx*85V);qs=X)>6pN&Qy{)~Ux^nyHJIeN)IBTG(U z0s;gG5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF 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

)bxBo7?DpPi{Wam(`Tdc)!m32WIkqJ*?NfW)adV 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

ud@mOIj62#l1PB36)2LQ=)=tQdz23! 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

u*+T_k~Xx?Bd6;w&7cizLVY6@C)di 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ⅇ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 E4@wIYEC2ui literal 2414256 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]gM$m? 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 LSdqa0FB14apj`9= literal 135680 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

~#{s0+0Dg+d3EEu1D@ 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 delta 56 zcmdnsyuo>c7z-oUW^ooCCPsnDDs1}VyrK+Hz}^XGvhi)sVq4G2Xt-HQV45HR6nhC6 diff --git a/threads/build/tests/threads/alarm-priority.output b/threads/build/tests/threads/alarm-priority.output new file mode 100644 index 0000000..9f61138 --- /dev/null +++ b/threads/build/tests/threads/alarm-priority.output @@ -0,0 +1,27 @@ +Kernel command line: -q run alarm-priority +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 154,214,400 loops/s. +Boot complete. +Executing 'alarm-priority': +(alarm-priority) begin +(alarm-priority) Thread priority 30 woke up. +(alarm-priority) Thread priority 29 woke up. +(alarm-priority) Thread priority 28 woke up. +(alarm-priority) Thread priority 27 woke up. +(alarm-priority) Thread priority 26 woke up. +(alarm-priority) Thread priority 25 woke up. +(alarm-priority) Thread priority 24 woke up. +(alarm-priority) Thread priority 23 woke up. +(alarm-priority) Thread priority 22 woke up. +(alarm-priority) Thread priority 21 woke up. +(alarm-priority) end +Execution of 'alarm-priority' complete. +Timer: 529 ticks +Thread: 490 idle ticks, 40 kernel ticks, 0 user ticks +Console: 880 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-priority.result b/threads/build/tests/threads/alarm-priority.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-priority.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/alarm-simultaneous.errors b/threads/build/tests/threads/alarm-simultaneous.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-simultaneous.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-simultaneous.o b/threads/build/tests/threads/alarm-simultaneous.o index 7da0bebc2327065b7ef1b2c465dc51fd3d7fba00..660ee9ac89514ae68f2b8d89cefcbdd95b9bc91f 100644 GIT binary patch delta 14 VcmZqhZt&i4MTpUO^HrhMLI5nJ1-JkJ delta 14 VcmZqhZt&i4MTpU8^HrhMLI5nD1-AeI diff --git a/threads/build/tests/threads/alarm-simultaneous.output b/threads/build/tests/threads/alarm-simultaneous.output new file mode 100644 index 0000000..23df110 --- /dev/null +++ b/threads/build/tests/threads/alarm-simultaneous.output @@ -0,0 +1,35 @@ +Kernel command line: -q run alarm-simultaneous +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 154,624,000 loops/s. +Boot complete. +Executing 'alarm-simultaneous': +(alarm-simultaneous) begin +(alarm-simultaneous) Creating 3 threads to sleep 5 times each. +(alarm-simultaneous) Each thread sleeps 10 ticks each time. +(alarm-simultaneous) Within an iteration, all threads should wake up on the same tick. +(alarm-simultaneous) iteration 0, thread 0: woke up after 10 ticks +(alarm-simultaneous) iteration 0, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 0, thread 2: woke up 0 ticks later +(alarm-simultaneous) iteration 1, thread 0: woke up 10 ticks later +(alarm-simultaneous) iteration 1, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 1, thread 2: woke up 0 ticks later +(alarm-simultaneous) iteration 2, thread 0: woke up 10 ticks later +(alarm-simultaneous) iteration 2, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 2, thread 2: woke up 0 ticks later +(alarm-simultaneous) iteration 3, thread 0: woke up 10 ticks later +(alarm-simultaneous) iteration 3, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 3, thread 2: woke up 0 ticks later +(alarm-simultaneous) iteration 4, thread 0: woke up 10 ticks later +(alarm-simultaneous) iteration 4, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 4, thread 2: woke up 0 ticks later +(alarm-simultaneous) end +Execution of 'alarm-simultaneous' complete. +Timer: 283 ticks +Thread: 250 idle ticks, 33 kernel ticks, 0 user ticks +Console: 1655 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-simultaneous.result b/threads/build/tests/threads/alarm-simultaneous.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-simultaneous.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/alarm-single.errors b/threads/build/tests/threads/alarm-single.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-single.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-single.output b/threads/build/tests/threads/alarm-single.output new file mode 100644 index 0000000..f0a1521 --- /dev/null +++ b/threads/build/tests/threads/alarm-single.output @@ -0,0 +1,27 @@ +Kernel command line: -q run alarm-single +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 52,377,600 loops/s. +Boot complete. +Executing 'alarm-single': +(alarm-single) begin +(alarm-single) Creating 5 threads to sleep 1 times each. +(alarm-single) Thread 0 sleeps 10 ticks each time, +(alarm-single) thread 1 sleeps 20 ticks each time, and so on. +(alarm-single) If successful, product of iteration count and +(alarm-single) sleep duration will appear in nondescending order. +(alarm-single) thread 0: duration=10, iteration=1, product=10 +(alarm-single) thread 1: duration=20, iteration=1, product=20 +(alarm-single) thread 2: duration=30, iteration=1, product=30 +(alarm-single) thread 3: duration=40, iteration=1, product=40 +(alarm-single) thread 4: duration=50, iteration=1, product=50 +(alarm-single) end +Execution of 'alarm-single' complete. +Timer: 274 ticks +Thread: 250 idle ticks, 24 kernel ticks, 0 user ticks +Console: 1026 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-single.result b/threads/build/tests/threads/alarm-single.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-single.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/alarm-wait.o b/threads/build/tests/threads/alarm-wait.o index 4ef15f7ba1164c42f1d885f388723f9793b771c2..6d15e425f9da3b1d3b25ff6ba23eef9d43b523b5 100644 GIT binary patch delta 82 zcmey7|090`AD0@p03!nf2M_{*0h?$&kjDvPvx&U{GNEko%_dwiY&_D^AQ=!~lbt+A UAcRqB^GAVf9!As6v9hzJ029m&l>h($ delta 82 zcmey7|090`AD0@J03!nf2M_{*0h>rYkjDvPvx&X|GNEj-%_dwiY&=rZAQ=!~lbJk6 UAcRqJ^GAVf9!8VRv9hzJ01~VXjQ{`u diff --git a/threads/build/tests/threads/alarm-zero.errors b/threads/build/tests/threads/alarm-zero.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-zero.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-zero.output b/threads/build/tests/threads/alarm-zero.output new file mode 100644 index 0000000..5cfa529 --- /dev/null +++ b/threads/build/tests/threads/alarm-zero.output @@ -0,0 +1,18 @@ +Kernel command line: -q run alarm-zero +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 65,433,600 loops/s. +Boot complete. +Executing 'alarm-zero': +(alarm-zero) begin +(alarm-zero) PASS +(alarm-zero) end +Execution of 'alarm-zero' complete. +Timer: 23 ticks +Thread: 0 idle ticks, 23 kernel ticks, 0 user ticks +Console: 424 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-zero.result b/threads/build/tests/threads/alarm-zero.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-zero.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/mlfqs/mlfqs-block.o b/threads/build/tests/threads/mlfqs/mlfqs-block.o index 421417102b3bba97dfa8d213f23ef45a4c84a4b7..f14eb513111cde9ec6bfeffbc43859777187c5c4 100644 GIT binary patch delta 77 zcmaD5@E~AA2&)>m03!nf2M_{*0h?$&kjDvPvx&U{GNEko%~h;!ER52V4|0k!N=?4b VslX_^`3L7EPDZ26r-i4A000Oi50L-> delta 77 zcmaD5@E~AA2&)>G03!nf2M_{*0h>rYkjDvPvx&X|GNEj-%~h;!ER0f<4|0k!N>0Ac VslX_+`3L7EPDaDcr-i4A000La4~YN( diff --git a/threads/build/tests/threads/mlfqs/mlfqs-fair.o b/threads/build/tests/threads/mlfqs/mlfqs-fair.o index 5028c9b7b9ed64f013fa8ab2021b9198fd0d0b1c..05fcbfe4458adf15a098adcf69f5bc513cf0e19a 100644 GIT binary patch delta 19 bcmcZ*dLeYfL{TO)^U1sT#gy1iJtL delta 14 VcmaFh^uTF@zW}4*<^TZ!K>#gs1iAnK diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-60.output b/threads/build/tests/threads/mlfqs/mlfqs-load-60.output new file mode 100644 index 0000000..8ef1245 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-load-60.output @@ -0,0 +1,95 @@ +Kernel command line: -q -mlfqs run mlfqs-load-60 +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 150,937,600 loops/s. +Boot complete. +Executing 'mlfqs-load-60': +(mlfqs-load-60) begin +(mlfqs-load-60) Starting 60 niced load threads... +(mlfqs-load-60) Starting threads took 0 seconds. +(mlfqs-load-60) After 0 seconds, load average=0.00. +(mlfqs-load-60) After 2 seconds, load average=0.00. +(mlfqs-load-60) After 4 seconds, load average=0.00. +(mlfqs-load-60) After 6 seconds, load average=0.00. +(mlfqs-load-60) After 8 seconds, load average=0.00. +(mlfqs-load-60) After 10 seconds, load average=0.00. +(mlfqs-load-60) After 12 seconds, load average=0.00. +(mlfqs-load-60) After 14 seconds, load average=0.00. +(mlfqs-load-60) After 16 seconds, load average=0.00. +(mlfqs-load-60) After 18 seconds, load average=0.00. +(mlfqs-load-60) After 20 seconds, load average=0.00. +(mlfqs-load-60) After 22 seconds, load average=0.00. +(mlfqs-load-60) After 24 seconds, load average=0.00. +(mlfqs-load-60) After 26 seconds, load average=0.00. +(mlfqs-load-60) After 28 seconds, load average=0.00. +(mlfqs-load-60) After 30 seconds, load average=0.00. +(mlfqs-load-60) After 32 seconds, load average=0.00. +(mlfqs-load-60) After 34 seconds, load average=0.00. +(mlfqs-load-60) After 36 seconds, load average=0.00. +(mlfqs-load-60) After 38 seconds, load average=0.00. +(mlfqs-load-60) After 40 seconds, load average=0.00. +(mlfqs-load-60) After 42 seconds, load average=0.00. +(mlfqs-load-60) After 44 seconds, load average=0.00. +(mlfqs-load-60) After 46 seconds, load average=0.00. +(mlfqs-load-60) After 48 seconds, load average=0.00. +(mlfqs-load-60) After 50 seconds, load average=0.00. +(mlfqs-load-60) After 52 seconds, load average=0.00. +(mlfqs-load-60) After 54 seconds, load average=0.00. +(mlfqs-load-60) After 56 seconds, load average=0.00. +(mlfqs-load-60) After 58 seconds, load average=0.00. +(mlfqs-load-60) After 60 seconds, load average=0.00. +(mlfqs-load-60) After 62 seconds, load average=0.00. +(mlfqs-load-60) After 64 seconds, load average=0.00. +(mlfqs-load-60) After 66 seconds, load average=0.00. +(mlfqs-load-60) After 68 seconds, load average=0.00. +(mlfqs-load-60) After 70 seconds, load average=0.00. +(mlfqs-load-60) After 72 seconds, load average=0.00. +(mlfqs-load-60) After 74 seconds, load average=0.00. +(mlfqs-load-60) After 76 seconds, load average=0.00. +(mlfqs-load-60) After 78 seconds, load average=0.00. +(mlfqs-load-60) After 80 seconds, load average=0.00. +(mlfqs-load-60) After 82 seconds, load average=0.00. +(mlfqs-load-60) After 84 seconds, load average=0.00. +(mlfqs-load-60) After 86 seconds, load average=0.00. +(mlfqs-load-60) After 88 seconds, load average=0.00. +(mlfqs-load-60) After 90 seconds, load average=0.00. +(mlfqs-load-60) After 92 seconds, load average=0.00. +(mlfqs-load-60) After 94 seconds, load average=0.00. +(mlfqs-load-60) After 96 seconds, load average=0.00. +(mlfqs-load-60) After 98 seconds, load average=0.00. +(mlfqs-load-60) After 100 seconds, load average=0.00. +(mlfqs-load-60) After 102 seconds, load average=0.00. +(mlfqs-load-60) After 104 seconds, load average=0.00. +(mlfqs-load-60) After 106 seconds, load average=0.00. +(mlfqs-load-60) After 108 seconds, load average=0.00. +(mlfqs-load-60) After 110 seconds, load average=0.00. +(mlfqs-load-60) After 112 seconds, load average=0.00. +(mlfqs-load-60) After 114 seconds, load average=0.00. +(mlfqs-load-60) After 116 seconds, load average=0.00. +(mlfqs-load-60) After 118 seconds, load average=0.00. +(mlfqs-load-60) After 120 seconds, load average=0.00. +(mlfqs-load-60) After 122 seconds, load average=0.00. +(mlfqs-load-60) After 124 seconds, load average=0.00. +(mlfqs-load-60) After 126 seconds, load average=0.00. +(mlfqs-load-60) After 128 seconds, load average=0.00. +(mlfqs-load-60) After 130 seconds, load average=0.00. +(mlfqs-load-60) After 132 seconds, load average=0.00. +(mlfqs-load-60) After 134 seconds, load average=0.00. +(mlfqs-load-60) After 136 seconds, load average=0.00. +(mlfqs-load-60) After 138 seconds, load average=0.00. +(mlfqs-load-60) After 140 seconds, load average=0.00. +(mlfqs-load-60) After 142 seconds, load average=0.00. +(mlfqs-load-60) After 144 seconds, load average=0.00. +(mlfqs-load-60) After 146 seconds, load average=0.00. +(mlfqs-load-60) After 148 seconds, load average=0.00. +(mlfqs-load-60) After 150 seconds, load average=0.00. +(mlfqs-load-60) After 152 seconds, load average=0.00. +(mlfqs-load-60) After 154 seconds, load average=0.00. +(mlfqs-load-60) After 156 seconds, load average=0.00. +(mlfqs-load-60) After 158 seconds, load average=0.00. +(mlfqs-load-60) After 160 seconds, load average=0.00. +(mlfqs-load-60) After 162 seconds, load average=0.00. +(mlfqs-load-60) After 164 seconds, load average=0.00. diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-avg.o b/threads/build/tests/threads/mlfqs/mlfqs-load-avg.o index b0e6c7900c2d3b15b537135471fd1ba6ac33d9eb..6dbc4642ad20daf91205845a1cf67b351028410e 100644 GIT binary patch delta 14 VcmccNe8YLe1OY~)%@YOO1pzR71!e#M delta 14 VcmccNe8YLe1OZ0F%@YOO1pzR11!VvL diff --git a/threads/build/tests/threads/mlfqs/mlfqs-recent-1.o b/threads/build/tests/threads/mlfqs/mlfqs-recent-1.o index a1e7bb7afb2d4f7dbc53e16d3d110da71e3e7e25..655d8f6005735fc4f338cbf057092c3082ceb490 100644 GIT binary patch delta 14 VcmZp$Xt3CDmY30J^EqB4J^(3B1pEL1 delta 14 VcmZp$Xt3CDmY30R^EqB4J^(351p5F0 diff --git a/threads/build/tests/threads/priority-change.errors b/threads/build/tests/threads/priority-change.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-change.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-change.o b/threads/build/tests/threads/priority-change.o index 6158ed0de24040ad97a317a001f3c694d2b3c134..54746a48332b08dda549d53d96b3518f70d9d6ec 100644 GIT binary patch delta 14 VcmX?MaKd0iJU64|<^=8+JOC@k1y=w7 delta 14 VcmX?MaKd0iJU659<^=8+JOC@A1yKM1 diff --git a/threads/build/tests/threads/priority-change.output b/threads/build/tests/threads/priority-change.output new file mode 100644 index 0000000..6334f80 --- /dev/null +++ b/threads/build/tests/threads/priority-change.output @@ -0,0 +1,22 @@ +Kernel command line: -q run priority-change +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 157,081,600 loops/s. +Boot complete. +Executing 'priority-change': +(priority-change) begin +(priority-change) Creating a high-priority thread 2. +(priority-change) Thread 2 now lowering priority. +(priority-change) Thread 2 should have just lowered its priority. +(priority-change) Thread 2 exiting. +(priority-change) Thread 2 should have just exited. +(priority-change) end +Execution of 'priority-change' complete. +Timer: 25 ticks +Thread: 0 idle ticks, 25 kernel ticks, 0 user ticks +Console: 689 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-change.result b/threads/build/tests/threads/priority-change.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/priority-change.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/priority-condvar.errors b/threads/build/tests/threads/priority-condvar.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-condvar.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-condvar.o b/threads/build/tests/threads/priority-condvar.o index 0afad210a8fe9c6aadd99721a552ba7bd079e490..d1947f57c31ed95815fad22479e2d3dea51a1404 100644 GIT binary patch delta 126 zcmX>Raw25IOcph60Y(M}4j=>q12)lmAdeHoW)ph@WJ1~EllQYU@F;RK!32~xd$V3= r7MGR;DFp#GH3U<3vL&bfWF<~fUiMCesQTtE&MRDuMw{bBUWx($NbwQj delta 126 zcmX>Raw25IOcpgR0Y(M}4j=>q12&O*AdeHoW)pn_WJ1|ullQYU@F;LI!2}dHd$V3= so}9rc%ETr!*^*OVNm3G|3k29y;7s;TIFn6na~J0oE=I%6@ggrp0ec}58UO$Q diff --git a/threads/build/tests/threads/priority-condvar.output b/threads/build/tests/threads/priority-condvar.output new file mode 100644 index 0000000..53067e7 --- /dev/null +++ b/threads/build/tests/threads/priority-condvar.output @@ -0,0 +1,37 @@ +Kernel command line: -q run priority-condvar +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 111,206,400 loops/s. +Boot complete. +Executing 'priority-condvar': +(priority-condvar) begin +(priority-condvar) Thread priority 23 starting. +(priority-condvar) Thread priority 22 starting. +(priority-condvar) Thread priority 21 starting. +(priority-condvar) Thread priority 30 starting. +(priority-condvar) Thread priority 29 starting. +(priority-condvar) Thread priority 28 starting. +(priority-condvar) Thread priority 27 starting. +(priority-condvar) Thread priority 26 starting. +(priority-condvar) Thread priority 25 starting. +(priority-condvar) Thread priority 24 starting. +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) Signaling... +(priority-condvar) end +Execution of 'priority-condvar' complete. +Timer: 35 ticks +Thread: 0 idle ticks, 35 kernel ticks, 0 user ticks +Console: 1237 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-condvar.result b/threads/build/tests/threads/priority-condvar.result new file mode 100644 index 0000000..aad6637 --- /dev/null +++ b/threads/build/tests/threads/priority-condvar.result @@ -0,0 +1,69 @@ +FAIL +Test output failed to match any acceptable form. + +Acceptable output: + (priority-condvar) begin + (priority-condvar) Thread priority 23 starting. + (priority-condvar) Thread priority 22 starting. + (priority-condvar) Thread priority 21 starting. + (priority-condvar) Thread priority 30 starting. + (priority-condvar) Thread priority 29 starting. + (priority-condvar) Thread priority 28 starting. + (priority-condvar) Thread priority 27 starting. + (priority-condvar) Thread priority 26 starting. + (priority-condvar) Thread priority 25 starting. + (priority-condvar) Thread priority 24 starting. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 30 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 29 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 28 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 27 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 26 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 25 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 24 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 23 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 22 woke up. + (priority-condvar) Signaling... + (priority-condvar) Thread priority 21 woke up. + (priority-condvar) end +Differences in `diff -u' format: + (priority-condvar) begin + (priority-condvar) Thread priority 23 starting. + (priority-condvar) Thread priority 22 starting. + (priority-condvar) Thread priority 21 starting. + (priority-condvar) Thread priority 30 starting. + (priority-condvar) Thread priority 29 starting. + (priority-condvar) Thread priority 28 starting. + (priority-condvar) Thread priority 27 starting. + (priority-condvar) Thread priority 26 starting. + (priority-condvar) Thread priority 25 starting. + (priority-condvar) Thread priority 24 starting. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 30 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 29 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 28 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 27 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 26 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 25 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 24 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 23 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 22 woke up. + (priority-condvar) Signaling... +- (priority-condvar) Thread priority 21 woke up. + (priority-condvar) end diff --git a/threads/build/tests/threads/priority-donate-chain.errors b/threads/build/tests/threads/priority-donate-chain.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-chain.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-chain.o b/threads/build/tests/threads/priority-donate-chain.o index bd5097e8dee3f2e71c4be0f45aeae059b34dae2f..f2c40d9e75e54b25a393820f219b0e0aa71aaccc 100644 GIT binary patch delta 83 zcmdmxxFK|;142}Q* delta 83 zcmdmxxFKrYkjDvPvx&X|GNEj-%_-~+tUOYZAQ=!~lbQU1 V$CXiXvl*{0H|*E437W+ diff --git a/threads/build/tests/threads/priority-donate-chain.output b/threads/build/tests/threads/priority-donate-chain.output new file mode 100644 index 0000000..a20d46d --- /dev/null +++ b/threads/build/tests/threads/priority-donate-chain.output @@ -0,0 +1,33 @@ +Kernel command line: -q run priority-donate-chain +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 117,760,000 loops/s. +Boot complete. +Executing 'priority-donate-chain': +(priority-donate-chain) begin +(priority-donate-chain) main got lock. +(priority-donate-chain) main should have priority 3. Actual priority: 0. +(priority-donate-chain) interloper 1 finished. +(priority-donate-chain) main should have priority 6. Actual priority: 0. +(priority-donate-chain) interloper 2 finished. +(priority-donate-chain) main should have priority 9. Actual priority: 0. +(priority-donate-chain) interloper 3 finished. +(priority-donate-chain) main should have priority 12. Actual priority: 0. +(priority-donate-chain) interloper 4 finished. +(priority-donate-chain) main should have priority 15. Actual priority: 0. +(priority-donate-chain) interloper 5 finished. +(priority-donate-chain) main should have priority 18. Actual priority: 0. +(priority-donate-chain) interloper 6 finished. +(priority-donate-chain) main should have priority 21. Actual priority: 0. +(priority-donate-chain) interloper 7 finished. +(priority-donate-chain) main finishing with priority 0. +(priority-donate-chain) end +Execution of 'priority-donate-chain' complete. +Timer: 34 ticks +Thread: 0 idle ticks, 34 kernel ticks, 0 user ticks +Console: 1408 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-donate-chain.result b/threads/build/tests/threads/priority-donate-chain.result new file mode 100644 index 0000000..d6f37ab --- /dev/null +++ b/threads/build/tests/threads/priority-donate-chain.result @@ -0,0 +1,96 @@ +FAIL +Test output failed to match any acceptable form. + +Acceptable output: + (priority-donate-chain) begin + (priority-donate-chain) main got lock. + (priority-donate-chain) main should have priority 3. Actual priority: 3. + (priority-donate-chain) main should have priority 6. Actual priority: 6. + (priority-donate-chain) main should have priority 9. Actual priority: 9. + (priority-donate-chain) main should have priority 12. Actual priority: 12. + (priority-donate-chain) main should have priority 15. Actual priority: 15. + (priority-donate-chain) main should have priority 18. Actual priority: 18. + (priority-donate-chain) main should have priority 21. Actual priority: 21. + (priority-donate-chain) thread 1 got lock + (priority-donate-chain) thread 1 should have priority 21. Actual priority: 21 + (priority-donate-chain) thread 2 got lock + (priority-donate-chain) thread 2 should have priority 21. Actual priority: 21 + (priority-donate-chain) thread 3 got lock + (priority-donate-chain) thread 3 should have priority 21. Actual priority: 21 + (priority-donate-chain) thread 4 got lock + (priority-donate-chain) thread 4 should have priority 21. Actual priority: 21 + (priority-donate-chain) thread 5 got lock + (priority-donate-chain) thread 5 should have priority 21. Actual priority: 21 + (priority-donate-chain) thread 6 got lock + (priority-donate-chain) thread 6 should have priority 21. Actual priority: 21 + (priority-donate-chain) thread 7 got lock + (priority-donate-chain) thread 7 should have priority 21. Actual priority: 21 + (priority-donate-chain) thread 7 finishing with priority 21. + (priority-donate-chain) interloper 7 finished. + (priority-donate-chain) thread 6 finishing with priority 18. + (priority-donate-chain) interloper 6 finished. + (priority-donate-chain) thread 5 finishing with priority 15. + (priority-donate-chain) interloper 5 finished. + (priority-donate-chain) thread 4 finishing with priority 12. + (priority-donate-chain) interloper 4 finished. + (priority-donate-chain) thread 3 finishing with priority 9. + (priority-donate-chain) interloper 3 finished. + (priority-donate-chain) thread 2 finishing with priority 6. + (priority-donate-chain) interloper 2 finished. + (priority-donate-chain) thread 1 finishing with priority 3. + (priority-donate-chain) interloper 1 finished. + (priority-donate-chain) main finishing with priority 0. + (priority-donate-chain) end +Differences in `diff -u' format: + (priority-donate-chain) begin + (priority-donate-chain) main got lock. +- (priority-donate-chain) main should have priority 3. Actual priority: 3. +- (priority-donate-chain) main should have priority 6. Actual priority: 6. +- (priority-donate-chain) main should have priority 9. Actual priority: 9. +- (priority-donate-chain) main should have priority 12. Actual priority: 12. +- (priority-donate-chain) main should have priority 15. Actual priority: 15. +- (priority-donate-chain) main should have priority 18. Actual priority: 18. +- (priority-donate-chain) main should have priority 21. Actual priority: 21. +- (priority-donate-chain) thread 1 got lock +- (priority-donate-chain) thread 1 should have priority 21. Actual priority: 21 +- (priority-donate-chain) thread 2 got lock +- (priority-donate-chain) thread 2 should have priority 21. Actual priority: 21 +- (priority-donate-chain) thread 3 got lock +- (priority-donate-chain) thread 3 should have priority 21. Actual priority: 21 +- (priority-donate-chain) thread 4 got lock +- (priority-donate-chain) thread 4 should have priority 21. Actual priority: 21 +- (priority-donate-chain) thread 5 got lock +- (priority-donate-chain) thread 5 should have priority 21. Actual priority: 21 +- (priority-donate-chain) thread 6 got lock +- (priority-donate-chain) thread 6 should have priority 21. Actual priority: 21 +- (priority-donate-chain) thread 7 got lock +- (priority-donate-chain) thread 7 should have priority 21. Actual priority: 21 +- (priority-donate-chain) thread 7 finishing with priority 21. +- (priority-donate-chain) interloper 7 finished. +- (priority-donate-chain) thread 6 finishing with priority 18. +- (priority-donate-chain) interloper 6 finished. +- (priority-donate-chain) thread 5 finishing with priority 15. +- (priority-donate-chain) interloper 5 finished. +- (priority-donate-chain) thread 4 finishing with priority 12. +- (priority-donate-chain) interloper 4 finished. +- (priority-donate-chain) thread 3 finishing with priority 9. +- (priority-donate-chain) interloper 3 finished. +- (priority-donate-chain) thread 2 finishing with priority 6. +- (priority-donate-chain) interloper 2 finished. +- (priority-donate-chain) thread 1 finishing with priority 3. ++ (priority-donate-chain) main should have priority 3. Actual priority: 0. + (priority-donate-chain) interloper 1 finished. ++ (priority-donate-chain) main should have priority 6. Actual priority: 0. ++ (priority-donate-chain) interloper 2 finished. ++ (priority-donate-chain) main should have priority 9. Actual priority: 0. ++ (priority-donate-chain) interloper 3 finished. ++ (priority-donate-chain) main should have priority 12. Actual priority: 0. ++ (priority-donate-chain) interloper 4 finished. ++ (priority-donate-chain) main should have priority 15. Actual priority: 0. ++ (priority-donate-chain) interloper 5 finished. ++ (priority-donate-chain) main should have priority 18. Actual priority: 0. ++ (priority-donate-chain) interloper 6 finished. ++ (priority-donate-chain) main should have priority 21. Actual priority: 0. ++ (priority-donate-chain) interloper 7 finished. + (priority-donate-chain) main finishing with priority 0. + (priority-donate-chain) end diff --git a/threads/build/tests/threads/priority-donate-lower.errors b/threads/build/tests/threads/priority-donate-lower.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-lower.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-lower.o b/threads/build/tests/threads/priority-donate-lower.o index 2489a9d1177cbb88b4c8d47e038af0e671c35a90..77ed5127283bb11e5e1a19cabbc814677e8da908 100644 GIT binary patch delta 93 zcmdlGupwZB9jh9*03!nf2M_{*0h?$&kjDvPvx&U{GNEko%_*#+EaK7rYkjDvPvx&X|GNEj-%_*#+EaFlUxy9)WAk3vA d4pIaHY%-H4a4IlLZr;ebo0HLEbFT1V5demX50U@? diff --git a/threads/build/tests/threads/priority-donate-lower.output b/threads/build/tests/threads/priority-donate-lower.output new file mode 100644 index 0000000..58f36cf --- /dev/null +++ b/threads/build/tests/threads/priority-donate-lower.output @@ -0,0 +1,22 @@ +Kernel command line: -q run priority-donate-lower +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 104,755,200 loops/s. +Boot complete. +Executing 'priority-donate-lower': +(priority-donate-lower) begin +(priority-donate-lower) Main thread should have priority 41. Actual priority: 31. +(priority-donate-lower) Lowering base priority... +(priority-donate-lower) Main thread should have priority 41. Actual priority: 21. +(priority-donate-lower) acquire must already have finished. +(priority-donate-lower) Main thread should have priority 21. Actual priority: 21. +(priority-donate-lower) end +Execution of 'priority-donate-lower' complete. +Timer: 24 ticks +Thread: 0 idle ticks, 24 kernel ticks, 0 user ticks +Console: 821 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-donate-lower.result b/threads/build/tests/threads/priority-donate-lower.result new file mode 100644 index 0000000..174eb8f --- /dev/null +++ b/threads/build/tests/threads/priority-donate-lower.result @@ -0,0 +1,25 @@ +FAIL +Test output failed to match any acceptable form. + +Acceptable output: + (priority-donate-lower) begin + (priority-donate-lower) Main thread should have priority 41. Actual priority: 41. + (priority-donate-lower) Lowering base priority... + (priority-donate-lower) Main thread should have priority 41. Actual priority: 41. + (priority-donate-lower) acquire: got the lock + (priority-donate-lower) acquire: done + (priority-donate-lower) acquire must already have finished. + (priority-donate-lower) Main thread should have priority 21. Actual priority: 21. + (priority-donate-lower) end +Differences in `diff -u' format: + (priority-donate-lower) begin +- (priority-donate-lower) Main thread should have priority 41. Actual priority: 41. ++ (priority-donate-lower) Main thread should have priority 41. Actual priority: 31. + (priority-donate-lower) Lowering base priority... +- (priority-donate-lower) Main thread should have priority 41. Actual priority: 41. +- (priority-donate-lower) acquire: got the lock +- (priority-donate-lower) acquire: done ++ (priority-donate-lower) Main thread should have priority 41. Actual priority: 21. + (priority-donate-lower) acquire must already have finished. + (priority-donate-lower) Main thread should have priority 21. Actual priority: 21. + (priority-donate-lower) end diff --git a/threads/build/tests/threads/priority-donate-multiple.errors b/threads/build/tests/threads/priority-donate-multiple.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-multiple.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-multiple.o b/threads/build/tests/threads/priority-donate-multiple.o index 4c588dae6c4fbad67dfe1717ff6fa7fa6e7e1ed2..234e6344b1555d7f1ab619952b6f56b0c15d6bd1 100644 GIT binary patch delta 93 zcmZ1wxgc^wA)6Yv03!nf2M_{*0h?$&kjDvPvx&U{GNEko&C}V=vxrMe<`$rYkjDvPvx&X|GNEj-&C}V=vxrMc<`$q12)lmAdeHoW)ph@WJ1~En{TiQvGPbufn-2{O?L7( XZiUIOxVbhf@OW@BT5ir1J1!0YIU^3E delta 82 zcmdlGvms`~CN?!L0Y(M}4j=>q12&O*AdeHoW)pn_WJ1|un{TiQvGPbsfn-2{O=j{p VZUsik&Eh delta 99 zcmewm_aSbBF1s3+03!nf2M_{*0h>rYkjDvPvx&X|GNEj-&B5$$tm0CVxy9)WAk3vA j0a644Y%-HK@MtqiZob1K$Hi=6X)t+#kjQ31@puUUAUhEd diff --git a/threads/build/tests/threads/priority-donate-nest.output b/threads/build/tests/threads/priority-donate-nest.output new file mode 100644 index 0000000..f6957cf --- /dev/null +++ b/threads/build/tests/threads/priority-donate-nest.output @@ -0,0 +1,27 @@ +Kernel command line: -q run priority-donate-nest +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 157,081,600 loops/s. +Boot complete. +Executing 'priority-donate-nest': +(priority-donate-nest) begin +(priority-donate-nest) Low thread should have priority 32. Actual priority: 31. +(priority-donate-nest) Low thread should have priority 33. Actual priority: 31. +(priority-donate-nest) Medium thread should have priority 33. Actual priority: 32. +(priority-donate-nest) Medium thread got the lock. +(priority-donate-nest) High thread got the lock. +(priority-donate-nest) High thread finished. +(priority-donate-nest) High thread should have just finished. +(priority-donate-nest) Middle thread finished. +(priority-donate-nest) Medium thread should just have finished. +(priority-donate-nest) Low thread should have priority 31. Actual priority: 31. +(priority-donate-nest) end +Execution of 'priority-donate-nest' complete. +Timer: 27 ticks +Thread: 0 idle ticks, 27 kernel ticks, 0 user ticks +Console: 1102 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-donate-nest.result b/threads/build/tests/threads/priority-donate-nest.result new file mode 100644 index 0000000..1666408 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-nest.result @@ -0,0 +1,32 @@ +FAIL +Test output failed to match any acceptable form. + +Acceptable output: + (priority-donate-nest) begin + (priority-donate-nest) Low thread should have priority 32. Actual priority: 32. + (priority-donate-nest) Low thread should have priority 33. Actual priority: 33. + (priority-donate-nest) Medium thread should have priority 33. Actual priority: 33. + (priority-donate-nest) Medium thread got the lock. + (priority-donate-nest) High thread got the lock. + (priority-donate-nest) High thread finished. + (priority-donate-nest) High thread should have just finished. + (priority-donate-nest) Middle thread finished. + (priority-donate-nest) Medium thread should just have finished. + (priority-donate-nest) Low thread should have priority 31. Actual priority: 31. + (priority-donate-nest) end +Differences in `diff -u' format: + (priority-donate-nest) begin +- (priority-donate-nest) Low thread should have priority 32. Actual priority: 32. +- (priority-donate-nest) Low thread should have priority 33. Actual priority: 33. +- (priority-donate-nest) Medium thread should have priority 33. Actual priority: 33. ++ (priority-donate-nest) Low thread should have priority 32. Actual priority: 31. ++ (priority-donate-nest) Low thread should have priority 33. Actual priority: 31. ++ (priority-donate-nest) Medium thread should have priority 33. Actual priority: 32. + (priority-donate-nest) Medium thread got the lock. + (priority-donate-nest) High thread got the lock. + (priority-donate-nest) High thread finished. + (priority-donate-nest) High thread should have just finished. + (priority-donate-nest) Middle thread finished. + (priority-donate-nest) Medium thread should just have finished. + (priority-donate-nest) Low thread should have priority 31. Actual priority: 31. + (priority-donate-nest) end diff --git a/threads/build/tests/threads/priority-donate-one.errors b/threads/build/tests/threads/priority-donate-one.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-one.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-one.o b/threads/build/tests/threads/priority-donate-one.o index e284461b066a9469cb22172e3957d918cd73c7ef..dc4648907d89d4f43744612ee8de0bbf2add6788 100644 GIT binary patch delta 120 zcmcZ+awB8|51Sgd03!nf2M_{*0h?$&kjDvPvx&U{GNEko%|>jQEEdudxy9)WAk3vA i4pIaHY_f1BrvRME-T`N_No~H&b)J*aa`R%5t)c+B{SXWQ delta 120 zcmcZ+awB8|51Sg703!nf2M_{*0h>rYkjDvPvx&X|GNEj-%|>jQEEZA{xy9)WAk3vA i4pIaHY%*{rrvRME-T`N_Np8N(b)J*aV)J5=t)c+A1P}xO diff --git a/threads/build/tests/threads/priority-donate-one.output b/threads/build/tests/threads/priority-donate-one.output new file mode 100644 index 0000000..77aecbb --- /dev/null +++ b/threads/build/tests/threads/priority-donate-one.output @@ -0,0 +1,21 @@ +Kernel command line: -q run priority-donate-one +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 157,081,600 loops/s. +Boot complete. +Executing 'priority-donate-one': +(priority-donate-one) begin +(priority-donate-one) This thread should have priority 32. Actual priority: 31. +(priority-donate-one) This thread should have priority 33. Actual priority: 31. +(priority-donate-one) acquire2, acquire1 must already have finished, in that order. +(priority-donate-one) This should be the last line before finishing this test. +(priority-donate-one) end +Execution of 'priority-donate-one' complete. +Timer: 25 ticks +Thread: 0 idle ticks, 25 kernel ticks, 0 user ticks +Console: 777 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-donate-one.result b/threads/build/tests/threads/priority-donate-one.result new file mode 100644 index 0000000..0102de3 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-one.result @@ -0,0 +1,27 @@ +FAIL +Test output failed to match any acceptable form. + +Acceptable output: + (priority-donate-one) begin + (priority-donate-one) This thread should have priority 32. Actual priority: 32. + (priority-donate-one) This thread should have priority 33. Actual priority: 33. + (priority-donate-one) acquire2: got the lock + (priority-donate-one) acquire2: done + (priority-donate-one) acquire1: got the lock + (priority-donate-one) acquire1: done + (priority-donate-one) acquire2, acquire1 must already have finished, in that order. + (priority-donate-one) This should be the last line before finishing this test. + (priority-donate-one) end +Differences in `diff -u' format: + (priority-donate-one) begin +- (priority-donate-one) This thread should have priority 32. Actual priority: 32. +- (priority-donate-one) This thread should have priority 33. Actual priority: 33. +- (priority-donate-one) acquire2: got the lock +- (priority-donate-one) acquire2: done +- (priority-donate-one) acquire1: got the lock +- (priority-donate-one) acquire1: done ++ (priority-donate-one) This thread should have priority 32. Actual priority: 31. ++ (priority-donate-one) This thread should have priority 33. Actual priority: 31. + (priority-donate-one) acquire2, acquire1 must already have finished, in that order. + (priority-donate-one) This should be the last line before finishing this test. + (priority-donate-one) end diff --git a/threads/build/tests/threads/priority-donate-sema.errors b/threads/build/tests/threads/priority-donate-sema.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-sema.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-sema.o b/threads/build/tests/threads/priority-donate-sema.o index 61ccbfc9a94786303ee5583d30784ae1fa8b24ba..c2db83cb41369824bf41b70d536ef20fb044328f 100644 GIT binary patch delta 153 zcmeB(?1$m0aD*~H!enNYU)W?{BVERoU@xy9)WAk3vA q4pIaHY=Q`;EP}}oXL1U_nd}{KCYuz3$+y{#yOoR4a`O?k*(4E6-pzL0tz3*2n~#Vd5d#2tC=ieU diff --git a/threads/build/tests/threads/priority-donate-sema.output b/threads/build/tests/threads/priority-donate-sema.output new file mode 100644 index 0000000..b013027 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-sema.output @@ -0,0 +1,19 @@ +Kernel command line: -q run priority-donate-sema +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 157,081,600 loops/s. +Boot complete. +Executing 'priority-donate-sema': +(priority-donate-sema) begin +(priority-donate-sema) Thread L acquired lock. +(priority-donate-sema) Main thread finished. +(priority-donate-sema) end +Execution of 'priority-donate-sema' complete. +Timer: 25 ticks +Thread: 0 idle ticks, 25 kernel ticks, 0 user ticks +Console: 549 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-donate-sema.result b/threads/build/tests/threads/priority-donate-sema.result new file mode 100644 index 0000000..a639d9d --- /dev/null +++ b/threads/build/tests/threads/priority-donate-sema.result @@ -0,0 +1,23 @@ +FAIL +Test output failed to match any acceptable form. + +Acceptable output: + (priority-donate-sema) begin + (priority-donate-sema) Thread L acquired lock. + (priority-donate-sema) Thread L downed semaphore. + (priority-donate-sema) Thread H acquired lock. + (priority-donate-sema) Thread H finished. + (priority-donate-sema) Thread M finished. + (priority-donate-sema) Thread L finished. + (priority-donate-sema) Main thread finished. + (priority-donate-sema) end +Differences in `diff -u' format: + (priority-donate-sema) begin + (priority-donate-sema) Thread L acquired lock. +- (priority-donate-sema) Thread L downed semaphore. +- (priority-donate-sema) Thread H acquired lock. +- (priority-donate-sema) Thread H finished. +- (priority-donate-sema) Thread M finished. +- (priority-donate-sema) Thread L finished. + (priority-donate-sema) Main thread finished. + (priority-donate-sema) end diff --git a/threads/build/tests/threads/priority-fifo.errors b/threads/build/tests/threads/priority-fifo.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-fifo.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-fifo.o b/threads/build/tests/threads/priority-fifo.o index 5f19fc18ff66404492368587a3d173b622b3cf70..c6115c9a12d05d81cbac891d50d2ce1efaea233f 100644 GIT binary patch delta 82 zcmdmxupwcC8M_*{03!nf2M_{*0h?$&kjDvPvx&U{GNEko%`xoatUS_^AQ=!~lbu}8 UQ_Co|`7cj8H>2_9REg8#0OXJjA^-pY delta 76 zcmdmxupwcC8M_*n03!nf2M_{*0h>rYkjDvPvx&X|GNEj-%`xoatdsxna51sTOs?mt TWt80fmnWT@(P(q3#A$H=+{zAu diff --git a/threads/build/tests/threads/priority-fifo.output b/threads/build/tests/threads/priority-fifo.output new file mode 100644 index 0000000..fa03304 --- /dev/null +++ b/threads/build/tests/threads/priority-fifo.output @@ -0,0 +1,35 @@ +Kernel command line: -q run priority-fifo +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 52,377,600 loops/s. +Boot complete. +Executing 'priority-fifo': +(priority-fifo) begin +(priority-fifo) 16 threads will iterate 16 times in the same order each time. +(priority-fifo) If the order varies then there is a bug. +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) end +Execution of 'priority-fifo' complete. +Timer: 26 ticks +Thread: 0 idle ticks, 27 kernel ticks, 0 user ticks +Console: 1596 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-fifo.result b/threads/build/tests/threads/priority-fifo.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/priority-fifo.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/priority-preempt.errors b/threads/build/tests/threads/priority-preempt.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-preempt.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-preempt.o b/threads/build/tests/threads/priority-preempt.o index 9fe5dc8e9fcc68a9556981a3f73ecfa6718df4b2..480ce5a2d1f08685ffbfbbb72f6d3f8f0f09eb35 100644 GIT binary patch delta 14 Vcmexh{K0sGIuE1eW(}SbyZ|i{1t0(b delta 14 Vcmexh{K0sGIuE18W(}SbyZ|i>1s?za diff --git a/threads/build/tests/threads/priority-preempt.output b/threads/build/tests/threads/priority-preempt.output new file mode 100644 index 0000000..bd64be8 --- /dev/null +++ b/threads/build/tests/threads/priority-preempt.output @@ -0,0 +1,24 @@ +Kernel command line: -q run priority-preempt +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 117,760,000 loops/s. +Boot complete. +Executing 'priority-preempt': +(priority-preempt) begin +(priority-preempt) Thread high-priority iteration 0 +(priority-preempt) Thread high-priority iteration 1 +(priority-preempt) Thread high-priority iteration 2 +(priority-preempt) Thread high-priority iteration 3 +(priority-preempt) Thread high-priority iteration 4 +(priority-preempt) Thread high-priority done! +(priority-preempt) The high-priority thread should have already completed. +(priority-preempt) end +Execution of 'priority-preempt' complete. +Timer: 29 ticks +Thread: 0 idle ticks, 29 kernel ticks, 0 user ticks +Console: 818 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-preempt.result b/threads/build/tests/threads/priority-preempt.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/priority-preempt.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/priority-sema.errors b/threads/build/tests/threads/priority-sema.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-sema.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-sema.o b/threads/build/tests/threads/priority-sema.o index d8e115430d54aafbabd368cb0e35f2c88fbb2eca..e28ea1a4eb623242d85a82c1dc635bbb94f0e3de 100644 GIT binary patch delta 42 ycmexi{lj|0E@npV&AXZF7#aB|Td}%Mwq)g=+{MbxD7bkV>pl)fqs^gwi}?XLBn=?| delta 40 wcmexi{lj|0E@noq&AXZF7#aB{Td}$_@=k7G6=f9IJdJf92czNUP`<_d02y5jPXGV_ diff --git a/threads/build/tests/threads/priority-sema.output b/threads/build/tests/threads/priority-sema.output new file mode 100644 index 0000000..e19d6a3 --- /dev/null +++ b/threads/build/tests/threads/priority-sema.output @@ -0,0 +1,27 @@ +Kernel command line: -q run priority-sema +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 111,206,400 loops/s. +Boot complete. +Executing 'priority-sema': +(priority-sema) begin +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) Back in main thread. +(priority-sema) end +Execution of 'priority-sema' complete. +Timer: 29 ticks +Thread: 0 idle ticks, 29 kernel ticks, 0 user ticks +Console: 792 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-sema.result b/threads/build/tests/threads/priority-sema.result new file mode 100644 index 0000000..251607c --- /dev/null +++ b/threads/build/tests/threads/priority-sema.result @@ -0,0 +1,49 @@ +FAIL +Test output failed to match any acceptable form. + +Acceptable output: + (priority-sema) begin + (priority-sema) Thread priority 30 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 29 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 28 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 27 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 26 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 25 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 24 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 23 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 22 woke up. + (priority-sema) Back in main thread. + (priority-sema) Thread priority 21 woke up. + (priority-sema) Back in main thread. + (priority-sema) end +Differences in `diff -u' format: + (priority-sema) begin +- (priority-sema) Thread priority 30 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 29 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 28 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 27 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 26 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 25 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 24 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 23 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 22 woke up. + (priority-sema) Back in main thread. +- (priority-sema) Thread priority 21 woke up. + (priority-sema) Back in main thread. + (priority-sema) end diff --git a/threads/build/threads/init.o b/threads/build/threads/init.o index 88ba826b748d453eef091696ddb2a3faa6aac355..7cd0f9a59789c5eae2f4f4852677def390601604 100644 GIT binary patch delta 82 zcmcaGkMY7h#tmE=&Xx>`Md@XFMuz4l45h`1>8T9y@oA-b$?@?(F-s$cqSCzhlEmU{ bhQ#EO%>2A!JtHFn3nVp0hK8GcHJH@_V44}? delta 82 zcmcaGkMY7h#tmE=&c+OhMd@XFMuuh<45h`1>8T9y@oA-b$?@?(F$*(>qSCzhlEmU{ bhQ#EO%>2A!JtHFnBP2CO2Bw>RHJH@_U%46I diff --git a/threads/build/threads/interrupt.o b/threads/build/threads/interrupt.o index ceb9943362f90c85105a7e074319e3993ffdb561..b38c2ee7c9220091c0965fda707a59dfcd8f89d9 100644 GIT binary patch delta 145 zcmZ2+j&a2~#tk-RNybJD1)0h5nR%Hd4Ds=4rFqHm@p?uECWZ_}sp*-;C8ht-wNsg delta 35 mcmZqBY0%lg!Y<}-nHg!6s#naQUy@s(pPUTgZhqWeUmw diff --git a/threads/build/threads/malloc.o b/threads/build/threads/malloc.o index b3fb1d4494a697620ca0d211469ea71c9272b451..269291ebceabe35d21d092e11d3a8d603a358022 100644 GIT binary patch delta 114 zcmey+#Q33!af2$48uxw%1_llWRv^h>z$)s*$iTn`VzY|51DQ~^_-1b&7IsGI$pONm yjIxu{gj*P;Hoq2bp5mmD9jXJ}z=ip;Yx*nCiNy*vP}{TSu| delta 114 zcmey+#Q33!af2$48rOaX1_llWRv^h>z$)Uz$iTn`VzY|61DQ~^*k*4Y7IsFd$pONm xj53qcgj*OTH@_Bcp5mmD9jXJ}z=h{7}5d{A+{JOHf|7~uc_ diff --git a/threads/build/threads/mmu.o b/threads/build/threads/mmu.o index ac094874962ce5415457226afb54b7b01747e78c..6e6abf16a78ab05df81a098ed4d4cc80f0c063e3 100644 GIT binary patch delta 107 zcmbQSmvP2k#tpfqOylH=p`3@t6qCr>qvW;CDt-&D%V!U7>> aWMFBA#4|K7LFO5nBlC<6HoKYyYXAT*A0Y|= delta 107 zcmbQSmvP2k#tpfqOlIbj^G(GB%qlH=p`3@t4UCr>qv<~Kx$85x+HP5x*q arDJJ;ENE$g#4|KR)?jF4vf0%vSOWkh3Ly3X diff --git a/threads/build/threads/palloc.o b/threads/build/threads/palloc.o index f3d89fcca8b68449055f38f860d22356e7b3a876..04e381dcadfff979a2e4200d7ec4522a0b8fafcc 100644 GIT binary patch delta 116 zcmaDbpYg$b#tjPv)VMVn85lSixEO%IfL(M3kjD*Tvy06IGNEko&Bp~|IT@uUt4alk xORIq7L4ZRI&SaO}+#}T`z+_@DSwdTe--IDPKCLt_IX+&`(9*(Wv$OVG6#z)u6gU6? delta 116 zcmaDbpYg$b#tjPv)VMSm85lSixEO%IfL&w;kjD*Tvy09JGNEj-&Bp~|IT4&;S4c diff --git a/threads/build/threads/synch.o b/threads/build/threads/synch.o index 7bfd77d06d12c883c1860886b7a51975fd94ad3c..1c6e83efc7cfd931452de4b5ec9287bb44cfc29d 100644 GIT binary patch literal 25416 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 A3jhEB literal 24504 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�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 literal 36392 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 == 0) { - list_push_back (&sema->waiters, &thread_current ()->elem); + // Semaphore를 얻고 writers 리스트 삽입 시, 우선순위대로 삽입되도록 수정 + list_insert_ordered(&sema->waiters, &thread_current()->elem, cmp_sem_priority, NULL); + //list_push_back (&sema->waiters, &thread_current ()->elem); thread_block (); } sema->value--; @@ -110,8 +112,12 @@ sema_up (struct semaphore *sema) { old_level = intr_disable (); if (!list_empty (&sema->waiters)) + /* waiter list에 있는 쓰레드의 우선순위가 변경 되었을 경우를 고려하여 + waiter list를 정렬 (list_sort)*/ thread_unblock (list_entry (list_pop_front (&sema->waiters), struct thread, elem)); + list_sort(&sema->waiters,cmp_sem_priority,NULL); + /*priority preemption 기능 추가 (구현중)*/ sema->value++; intr_set_level (old_level); } @@ -282,7 +288,9 @@ cond_wait (struct condition *cond, struct lock *lock) { ASSERT (lock_held_by_current_thread (lock)); sema_init (&waiter.semaphore, 0); - list_push_back (&cond->waiters, &waiter.elem); + + list_insert_ordered(&cond->waiters, &waiter.elem, cmp_sem_priority, NULL); + //list_push_back (&cond->waiters, &waiter.elem); lock_release (lock); sema_down (&waiter.semaphore); lock_acquire (lock); @@ -305,6 +313,7 @@ cond_signal (struct condition *cond, struct lock *lock UNUSED) { if (!list_empty (&cond->waiters)) sema_up (&list_entry (list_pop_front (&cond->waiters), struct semaphore_elem, elem)->semaphore); + list_sort(&cond->waiters, cmp_sem_priority, NULL); } /* Wakes up all threads, if any, waiting on COND (protected by @@ -321,3 +330,12 @@ cond_broadcast (struct condition *cond, struct lock *lock) { while (!list_empty (&cond->waiters)) cond_signal (cond, lock); } + +bool cmp_sem_priority(const struct list_elem *a_, const struct list_elem *b_, void *aux UNUSED){ + struct thread *first = list_entry(a_, struct thread, elem); + struct thread *second = list_entry(b_, struct thread, elem); + if (first->priority > second->priority){ + return 1; + } + return 0; +} \ No newline at end of file diff --git a/threads/thread.c b/threads/thread.c index 33b74a1..acbd57e 100644 --- a/threads/thread.c +++ b/threads/thread.c @@ -213,6 +213,13 @@ thread_create (const char *name, int priority, /* Add to run queue. */ thread_unblock (t); + /* 현재 실행중인 thread와 우선순위를 비교하여, 새로 생성된 + thread의 우선순위가 높다면 thread_yield()를 통해 CPU를 양보 */ + struct thread *curr = thread_current(); + if (t->priority > curr->priority){ + thread_yield(); + } + return tid; } @@ -246,7 +253,8 @@ thread_unblock (struct thread *t) { old_level = intr_disable (); // 인터럽트 비활성화 이전 인터럽트를 old_level에 저장. ASSERT (t->status == THREAD_BLOCKED); // blocked 상태여야 - list_push_back (&ready_list, &t->elem); // t의 알람링크를 ready_list에 추가. + //list_push_back (&ready_list, &t->elem); // t의 알람링크를 ready_list에 추가. + list_insert_ordered(&ready_list, &t->elem, cmp_priority, NULL); t->status = THREAD_READY; // 레디 상태로 설정. intr_set_level (old_level); // 인터럽트 다시 활성화 } @@ -309,7 +317,8 @@ thread_yield (void) { old_level = intr_disable (); // 인터럽트를 비활성하고 이전 인터럽트의 상태를 반환 if (curr != idle_thread) - list_push_back (&ready_list, &curr->elem); // 주어진 entry + //list_push_back (&ready_list, &curr->elem); // 주어진 entry + list_insert_ordered(&ready_list, &curr->elem, cmp_priority, NULL); do_schedule (THREAD_READY); // 컨텍스트 스위치 작업을 수행 intr_set_level (old_level); // 인자로 전달된 인터럽트 상태로 인터럽트를 설정하고 이전 인터럽트 상태를 반환 } @@ -318,6 +327,8 @@ thread_yield (void) { void thread_set_priority (int new_priority) { thread_current ()->priority = new_priority; + // 현재 쓰레드의 우선순위와 ready_list에서 가장 높은 우선 순위를 비교하여 스케쥴링 하는 함수 호출 + test_max_priority(); } /* Returns the current thread's priority. */ @@ -643,3 +654,30 @@ void update_next_tick_to_awake(int64_t ticks){ int64_t get_next_tick_to_awake(void){ return next_tick_to_awake; } + +void +test_max_priority(void){ + struct list_elem *cur_elem; + + cur_elem = list_begin(&ready_list); + + struct thread *thr = list_entry(cur_elem, struct thread, elem); + + struct thread *curr; + + curr = thread_current(); + + if (curr->priority < thr->priority){ + thread_yield(); + } +} + +bool +cmp_priority(const struct list_elem *a_, const struct list_elem *b_, void *aux UNUSED){ + struct thread *first = list_entry(a_, struct thread, elem); + struct thread *second = list_entry(b_, struct thread, elem); + if (first->priority > second->priority){ + return 1; + } + return 0; +} From 791c0e65d8f7ca5803402723d6776ec82b440ca0 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 31 May 2023 05:56:28 +0000 Subject: [PATCH 3/5] :hammer: Fix : modify used cmp_sem_priority and code check --- include/threads/synch.h | 2 +- threads/build/kernel.bin | Bin 135168 -> 135168 bytes threads/build/kernel.o | Bin 2414984 -> 2415144 bytes threads/build/os.dsk | Bin 135680 -> 135680 bytes .../build/tests/threads/alarm-multiple.errors | 1 - .../build/tests/threads/alarm-multiple.output | 57 ---- .../build/tests/threads/alarm-multiple.result | 1 - .../build/tests/threads/alarm-negative.errors | 1 - .../build/tests/threads/alarm-negative.output | 18 -- .../build/tests/threads/alarm-negative.result | 1 - .../build/tests/threads/alarm-priority.errors | 1 - .../build/tests/threads/alarm-priority.output | 27 -- .../build/tests/threads/alarm-priority.result | 1 - .../tests/threads/alarm-simultaneous.errors | 1 - .../tests/threads/alarm-simultaneous.output | 35 --- .../tests/threads/alarm-simultaneous.result | 1 - .../build/tests/threads/alarm-single.errors | 1 - .../build/tests/threads/alarm-single.output | 27 -- .../build/tests/threads/alarm-single.result | 1 - threads/build/tests/threads/alarm-zero.errors | 1 - threads/build/tests/threads/alarm-zero.output | 18 -- threads/build/tests/threads/alarm-zero.result | 1 - .../tests/threads/mlfqs/mlfqs-load-1.errors | 1 - .../tests/threads/mlfqs/mlfqs-load-1.output | 20 -- .../tests/threads/mlfqs/mlfqs-load-1.result | 11 - .../tests/threads/mlfqs/mlfqs-load-60.errors | 1 - .../tests/threads/mlfqs/mlfqs-load-60.output | 95 ------- .../tests/threads/priority-change.errors | 1 - .../tests/threads/priority-change.output | 22 -- .../tests/threads/priority-change.result | 1 - .../tests/threads/priority-condvar.errors | 1 - .../tests/threads/priority-condvar.output | 37 --- .../tests/threads/priority-condvar.result | 69 ----- .../threads/priority-donate-chain.errors | 1 - .../threads/priority-donate-chain.output | 33 --- .../threads/priority-donate-chain.result | 96 ------- .../threads/priority-donate-lower.errors | 1 - .../threads/priority-donate-lower.output | 22 -- .../threads/priority-donate-lower.result | 25 -- .../threads/priority-donate-multiple.errors | 1 - .../threads/priority-donate-multiple.output | 23 -- .../threads/priority-donate-multiple.result | 33 --- .../threads/priority-donate-multiple2.errors | 1 - .../threads/priority-donate-multiple2.output | 23 -- .../threads/priority-donate-multiple2.result | 32 --- .../tests/threads/priority-donate-nest.errors | 1 - .../tests/threads/priority-donate-nest.output | 27 -- .../tests/threads/priority-donate-nest.result | 32 --- .../tests/threads/priority-donate-one.errors | 1 - .../tests/threads/priority-donate-one.output | 21 -- .../tests/threads/priority-donate-one.result | 27 -- .../tests/threads/priority-donate-sema.errors | 1 - .../tests/threads/priority-donate-sema.output | 19 -- .../tests/threads/priority-donate-sema.result | 23 -- .../build/tests/threads/priority-fifo.errors | 1 - .../build/tests/threads/priority-fifo.output | 35 --- .../build/tests/threads/priority-fifo.result | 1 - .../tests/threads/priority-preempt.errors | 1 - .../tests/threads/priority-preempt.output | 24 -- .../tests/threads/priority-preempt.result | 1 - .../build/tests/threads/priority-sema.errors | 1 - .../build/tests/threads/priority-sema.output | 27 -- .../build/tests/threads/priority-sema.result | 49 ---- threads/build/threads/intr-stubs.o | Bin 39176 -> 39176 bytes threads/build/threads/loader.o | Bin 5632 -> 5632 bytes threads/build/threads/start.o | Bin 30720 -> 30720 bytes threads/build/threads/synch.o | Bin 25416 -> 26104 bytes threads/build/threads/thread.o | Bin 37896 -> 37976 bytes threads/synch.c | 255 +++++++++--------- threads/thread.c | 13 +- 70 files changed, 137 insertions(+), 1169 deletions(-) delete mode 100644 threads/build/tests/threads/alarm-multiple.errors delete mode 100644 threads/build/tests/threads/alarm-multiple.output delete mode 100644 threads/build/tests/threads/alarm-multiple.result delete mode 100644 threads/build/tests/threads/alarm-negative.errors delete mode 100644 threads/build/tests/threads/alarm-negative.output delete mode 100644 threads/build/tests/threads/alarm-negative.result delete mode 100644 threads/build/tests/threads/alarm-priority.errors delete mode 100644 threads/build/tests/threads/alarm-priority.output delete mode 100644 threads/build/tests/threads/alarm-priority.result delete mode 100644 threads/build/tests/threads/alarm-simultaneous.errors delete mode 100644 threads/build/tests/threads/alarm-simultaneous.output delete mode 100644 threads/build/tests/threads/alarm-simultaneous.result delete mode 100644 threads/build/tests/threads/alarm-single.errors delete mode 100644 threads/build/tests/threads/alarm-single.output delete mode 100644 threads/build/tests/threads/alarm-single.result delete mode 100644 threads/build/tests/threads/alarm-zero.errors delete mode 100644 threads/build/tests/threads/alarm-zero.output delete mode 100644 threads/build/tests/threads/alarm-zero.result delete mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.errors delete mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.output delete mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.result delete mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.errors delete mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.output delete mode 100644 threads/build/tests/threads/priority-change.errors delete mode 100644 threads/build/tests/threads/priority-change.output delete mode 100644 threads/build/tests/threads/priority-change.result delete mode 100644 threads/build/tests/threads/priority-condvar.errors delete mode 100644 threads/build/tests/threads/priority-condvar.output delete mode 100644 threads/build/tests/threads/priority-condvar.result delete mode 100644 threads/build/tests/threads/priority-donate-chain.errors delete mode 100644 threads/build/tests/threads/priority-donate-chain.output delete mode 100644 threads/build/tests/threads/priority-donate-chain.result delete mode 100644 threads/build/tests/threads/priority-donate-lower.errors delete mode 100644 threads/build/tests/threads/priority-donate-lower.output delete mode 100644 threads/build/tests/threads/priority-donate-lower.result delete mode 100644 threads/build/tests/threads/priority-donate-multiple.errors delete mode 100644 threads/build/tests/threads/priority-donate-multiple.output delete mode 100644 threads/build/tests/threads/priority-donate-multiple.result delete mode 100644 threads/build/tests/threads/priority-donate-multiple2.errors delete mode 100644 threads/build/tests/threads/priority-donate-multiple2.output delete mode 100644 threads/build/tests/threads/priority-donate-multiple2.result delete mode 100644 threads/build/tests/threads/priority-donate-nest.errors delete mode 100644 threads/build/tests/threads/priority-donate-nest.output delete mode 100644 threads/build/tests/threads/priority-donate-nest.result delete mode 100644 threads/build/tests/threads/priority-donate-one.errors delete mode 100644 threads/build/tests/threads/priority-donate-one.output delete mode 100644 threads/build/tests/threads/priority-donate-one.result delete mode 100644 threads/build/tests/threads/priority-donate-sema.errors delete mode 100644 threads/build/tests/threads/priority-donate-sema.output delete mode 100644 threads/build/tests/threads/priority-donate-sema.result delete mode 100644 threads/build/tests/threads/priority-fifo.errors delete mode 100644 threads/build/tests/threads/priority-fifo.output delete mode 100644 threads/build/tests/threads/priority-fifo.result delete mode 100644 threads/build/tests/threads/priority-preempt.errors delete mode 100644 threads/build/tests/threads/priority-preempt.output delete mode 100644 threads/build/tests/threads/priority-preempt.result delete mode 100644 threads/build/tests/threads/priority-sema.errors delete mode 100644 threads/build/tests/threads/priority-sema.output delete mode 100644 threads/build/tests/threads/priority-sema.result diff --git a/include/threads/synch.h b/include/threads/synch.h index bcb3f26..933c5b9 100644 --- a/include/threads/synch.h +++ b/include/threads/synch.h @@ -39,7 +39,7 @@ void cond_wait (struct condition *, struct lock *); void cond_signal (struct condition *, struct lock *); void cond_broadcast (struct condition *, struct lock *); -bool cmp_sem_priority(const struct list_elem *a_, const struct list_elem *b_, void *aux); +bool cmp_sem_priority(const struct list_elem *a, const struct list_elem *b, void *aux); /* Optimization barrier. * diff --git a/threads/build/kernel.bin b/threads/build/kernel.bin index 1343e7085bcb3805002742ff5602ba8a5b43bdca..5b582a25707de4f6682b00d31d18abc90df604bd 100644 GIT binary patch literal 135168 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 UOajLwa7+TnBydaue<>39Uzw-?d;kCd literal 135168 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 diff --git a/threads/build/kernel.o b/threads/build/kernel.o index c5332fed704073ca06f19ba633bbc21da56edc84..e7928f964fa36062f84dd15fb6e814c31c666d53 100755 GIT binary patch delta 98670 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 diff --git a/threads/build/os.dsk b/threads/build/os.dsk index 2cb7d60fe6cda0051b64e885ba37b26daebd756b..936bf976eb0d9be4812af71afd66eeea5456c6f6 100644 GIT binary patch literal 135680 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
sICur6OQY$L;`idJJOM00t}*6t}7KwGMem9 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 z

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 literal 135680 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]gM$m? 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 LSdqa0FB14apj`9= diff --git a/threads/build/tests/threads/alarm-multiple.errors b/threads/build/tests/threads/alarm-multiple.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/alarm-multiple.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-multiple.output b/threads/build/tests/threads/alarm-multiple.output deleted file mode 100644 index 1e8b365..0000000 --- a/threads/build/tests/threads/alarm-multiple.output +++ /dev/null @@ -1,57 +0,0 @@ -Kernel command line: -q run alarm-multiple -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 117,760,000 loops/s. -Boot complete. -Executing 'alarm-multiple': -(alarm-multiple) begin -(alarm-multiple) Creating 5 threads to sleep 7 times each. -(alarm-multiple) Thread 0 sleeps 10 ticks each time, -(alarm-multiple) thread 1 sleeps 20 ticks each time, and so on. -(alarm-multiple) If successful, product of iteration count and -(alarm-multiple) sleep duration will appear in nondescending order. -(alarm-multiple) thread 0: duration=10, iteration=1, product=10 -(alarm-multiple) thread 1: duration=20, iteration=1, product=20 -(alarm-multiple) thread 0: duration=10, iteration=2, product=20 -(alarm-multiple) thread 2: duration=30, iteration=1, product=30 -(alarm-multiple) thread 0: duration=10, iteration=3, product=30 -(alarm-multiple) thread 3: duration=40, iteration=1, product=40 -(alarm-multiple) thread 1: duration=20, iteration=2, product=40 -(alarm-multiple) thread 0: duration=10, iteration=4, product=40 -(alarm-multiple) thread 4: duration=50, iteration=1, product=50 -(alarm-multiple) thread 0: duration=10, iteration=5, product=50 -(alarm-multiple) thread 2: duration=30, iteration=2, product=60 -(alarm-multiple) thread 1: duration=20, iteration=3, product=60 -(alarm-multiple) thread 0: duration=10, iteration=6, product=60 -(alarm-multiple) thread 0: duration=10, iteration=7, product=70 -(alarm-multiple) thread 3: duration=40, iteration=2, product=80 -(alarm-multiple) thread 1: duration=20, iteration=4, product=80 -(alarm-multiple) thread 2: duration=30, iteration=3, product=90 -(alarm-multiple) thread 4: duration=50, iteration=2, product=100 -(alarm-multiple) thread 1: duration=20, iteration=5, product=100 -(alarm-multiple) thread 3: duration=40, iteration=3, product=120 -(alarm-multiple) thread 2: duration=30, iteration=4, product=120 -(alarm-multiple) thread 1: duration=20, iteration=6, product=120 -(alarm-multiple) thread 1: duration=20, iteration=7, product=140 -(alarm-multiple) thread 4: duration=50, iteration=3, product=150 -(alarm-multiple) thread 2: duration=30, iteration=5, product=150 -(alarm-multiple) thread 3: duration=40, iteration=4, product=160 -(alarm-multiple) thread 2: duration=30, iteration=6, product=180 -(alarm-multiple) thread 4: duration=50, iteration=4, product=200 -(alarm-multiple) thread 3: duration=40, iteration=5, product=200 -(alarm-multiple) thread 2: duration=30, iteration=7, product=210 -(alarm-multiple) thread 3: duration=40, iteration=6, product=240 -(alarm-multiple) thread 4: duration=50, iteration=5, product=250 -(alarm-multiple) thread 3: duration=40, iteration=7, product=280 -(alarm-multiple) thread 4: duration=50, iteration=6, product=300 -(alarm-multiple) thread 4: duration=50, iteration=7, product=350 -(alarm-multiple) end -Execution of 'alarm-multiple' complete. -Timer: 592 ticks -Thread: 550 idle ticks, 42 kernel ticks, 0 user ticks -Console: 2995 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/alarm-multiple.result b/threads/build/tests/threads/alarm-multiple.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/alarm-multiple.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/alarm-negative.errors b/threads/build/tests/threads/alarm-negative.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/alarm-negative.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-negative.output b/threads/build/tests/threads/alarm-negative.output deleted file mode 100644 index 3ac9eb6..0000000 --- a/threads/build/tests/threads/alarm-negative.output +++ /dev/null @@ -1,18 +0,0 @@ -Kernel command line: -q run alarm-negative -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 142,540,800 loops/s. -Boot complete. -Executing 'alarm-negative': -(alarm-negative) begin -(alarm-negative) PASS -(alarm-negative) end -Execution of 'alarm-negative' complete. -Timer: 28 ticks -Thread: 0 idle ticks, 28 kernel ticks, 0 user ticks -Console: 449 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/alarm-negative.result b/threads/build/tests/threads/alarm-negative.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/alarm-negative.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/alarm-priority.errors b/threads/build/tests/threads/alarm-priority.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/alarm-priority.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-priority.output b/threads/build/tests/threads/alarm-priority.output deleted file mode 100644 index 9f61138..0000000 --- a/threads/build/tests/threads/alarm-priority.output +++ /dev/null @@ -1,27 +0,0 @@ -Kernel command line: -q run alarm-priority -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 154,214,400 loops/s. -Boot complete. -Executing 'alarm-priority': -(alarm-priority) begin -(alarm-priority) Thread priority 30 woke up. -(alarm-priority) Thread priority 29 woke up. -(alarm-priority) Thread priority 28 woke up. -(alarm-priority) Thread priority 27 woke up. -(alarm-priority) Thread priority 26 woke up. -(alarm-priority) Thread priority 25 woke up. -(alarm-priority) Thread priority 24 woke up. -(alarm-priority) Thread priority 23 woke up. -(alarm-priority) Thread priority 22 woke up. -(alarm-priority) Thread priority 21 woke up. -(alarm-priority) end -Execution of 'alarm-priority' complete. -Timer: 529 ticks -Thread: 490 idle ticks, 40 kernel ticks, 0 user ticks -Console: 880 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/alarm-priority.result b/threads/build/tests/threads/alarm-priority.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/alarm-priority.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/alarm-simultaneous.errors b/threads/build/tests/threads/alarm-simultaneous.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/alarm-simultaneous.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-simultaneous.output b/threads/build/tests/threads/alarm-simultaneous.output deleted file mode 100644 index 23df110..0000000 --- a/threads/build/tests/threads/alarm-simultaneous.output +++ /dev/null @@ -1,35 +0,0 @@ -Kernel command line: -q run alarm-simultaneous -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 154,624,000 loops/s. -Boot complete. -Executing 'alarm-simultaneous': -(alarm-simultaneous) begin -(alarm-simultaneous) Creating 3 threads to sleep 5 times each. -(alarm-simultaneous) Each thread sleeps 10 ticks each time. -(alarm-simultaneous) Within an iteration, all threads should wake up on the same tick. -(alarm-simultaneous) iteration 0, thread 0: woke up after 10 ticks -(alarm-simultaneous) iteration 0, thread 1: woke up 0 ticks later -(alarm-simultaneous) iteration 0, thread 2: woke up 0 ticks later -(alarm-simultaneous) iteration 1, thread 0: woke up 10 ticks later -(alarm-simultaneous) iteration 1, thread 1: woke up 0 ticks later -(alarm-simultaneous) iteration 1, thread 2: woke up 0 ticks later -(alarm-simultaneous) iteration 2, thread 0: woke up 10 ticks later -(alarm-simultaneous) iteration 2, thread 1: woke up 0 ticks later -(alarm-simultaneous) iteration 2, thread 2: woke up 0 ticks later -(alarm-simultaneous) iteration 3, thread 0: woke up 10 ticks later -(alarm-simultaneous) iteration 3, thread 1: woke up 0 ticks later -(alarm-simultaneous) iteration 3, thread 2: woke up 0 ticks later -(alarm-simultaneous) iteration 4, thread 0: woke up 10 ticks later -(alarm-simultaneous) iteration 4, thread 1: woke up 0 ticks later -(alarm-simultaneous) iteration 4, thread 2: woke up 0 ticks later -(alarm-simultaneous) end -Execution of 'alarm-simultaneous' complete. -Timer: 283 ticks -Thread: 250 idle ticks, 33 kernel ticks, 0 user ticks -Console: 1655 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/alarm-simultaneous.result b/threads/build/tests/threads/alarm-simultaneous.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/alarm-simultaneous.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/alarm-single.errors b/threads/build/tests/threads/alarm-single.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/alarm-single.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-single.output b/threads/build/tests/threads/alarm-single.output deleted file mode 100644 index f0a1521..0000000 --- a/threads/build/tests/threads/alarm-single.output +++ /dev/null @@ -1,27 +0,0 @@ -Kernel command line: -q run alarm-single -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 52,377,600 loops/s. -Boot complete. -Executing 'alarm-single': -(alarm-single) begin -(alarm-single) Creating 5 threads to sleep 1 times each. -(alarm-single) Thread 0 sleeps 10 ticks each time, -(alarm-single) thread 1 sleeps 20 ticks each time, and so on. -(alarm-single) If successful, product of iteration count and -(alarm-single) sleep duration will appear in nondescending order. -(alarm-single) thread 0: duration=10, iteration=1, product=10 -(alarm-single) thread 1: duration=20, iteration=1, product=20 -(alarm-single) thread 2: duration=30, iteration=1, product=30 -(alarm-single) thread 3: duration=40, iteration=1, product=40 -(alarm-single) thread 4: duration=50, iteration=1, product=50 -(alarm-single) end -Execution of 'alarm-single' complete. -Timer: 274 ticks -Thread: 250 idle ticks, 24 kernel ticks, 0 user ticks -Console: 1026 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/alarm-single.result b/threads/build/tests/threads/alarm-single.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/alarm-single.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/alarm-zero.errors b/threads/build/tests/threads/alarm-zero.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/alarm-zero.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-zero.output b/threads/build/tests/threads/alarm-zero.output deleted file mode 100644 index 5cfa529..0000000 --- a/threads/build/tests/threads/alarm-zero.output +++ /dev/null @@ -1,18 +0,0 @@ -Kernel command line: -q run alarm-zero -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 65,433,600 loops/s. -Boot complete. -Executing 'alarm-zero': -(alarm-zero) begin -(alarm-zero) PASS -(alarm-zero) end -Execution of 'alarm-zero' complete. -Timer: 23 ticks -Thread: 0 idle ticks, 23 kernel ticks, 0 user ticks -Console: 424 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/alarm-zero.result b/threads/build/tests/threads/alarm-zero.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/alarm-zero.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-1.errors b/threads/build/tests/threads/mlfqs/mlfqs-load-1.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/mlfqs/mlfqs-load-1.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-1.output b/threads/build/tests/threads/mlfqs/mlfqs-load-1.output deleted file mode 100644 index b8de67e..0000000 --- a/threads/build/tests/threads/mlfqs/mlfqs-load-1.output +++ /dev/null @@ -1,20 +0,0 @@ -Kernel command line: -q -mlfqs run mlfqs-load-1 -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 58,880,000 loops/s. -Boot complete. -Executing 'mlfqs-load-1': -(mlfqs-load-1) begin -(mlfqs-load-1) spinning for up to 45 seconds, please wait... -(mlfqs-load-1) FAIL: load average stayed below 0.5 for more than 45 seconds -Kernel PANIC at ../../tests/threads/tests.c:93 in fail(): test failed -Call stack: 0x80042135e6 0x8004216be8 0x8004219c24 0x8004216a22 0x8004206636 0x8004206783 0x8004206120. -The `backtrace' program can make call stacks useful. -Read "Backtraces" in the "Debugging Tools" chapter -of the Pintos documentation for more information. -Timer: 4624 ticks -Thread: 0 idle ticks, 4624 kernel ticks, 0 user ticks -Console: \ No newline at end of file diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-1.result b/threads/build/tests/threads/mlfqs/mlfqs-load-1.result deleted file mode 100644 index 1dedde8..0000000 --- a/threads/build/tests/threads/mlfqs/mlfqs-load-1.result +++ /dev/null @@ -1,11 +0,0 @@ -FAIL -Kernel panic in run: PANIC at ../../tests/threads/tests.c:93 in fail(): test failed -Call stack: 0x80042135e6 0x8004216be8 0x8004219c24 0x8004216a22 0x8004206636 0x8004206783 0x8004206120 -Translation of call stack: -0x00000080042135e6: debug_panic (lib/kernel/debug.c:32) -0x0000008004216be8: pass (tests/threads/tests.c:99) -0x0000008004219c24: test_mlfqs_load_1 (tests/threads/mlfqs/mlfqs-load-1.c:31) -0x0000008004216a22: run_test (tests/threads/tests.c:57) -0x0000008004206636: run_task (threads/init.c:252) -0x0000008004206783: run_actions (threads/init.c:297) -0x0000008004206120: main (threads/init.c:125) diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-60.errors b/threads/build/tests/threads/mlfqs/mlfqs-load-60.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/mlfqs/mlfqs-load-60.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-60.output b/threads/build/tests/threads/mlfqs/mlfqs-load-60.output deleted file mode 100644 index 8ef1245..0000000 --- a/threads/build/tests/threads/mlfqs/mlfqs-load-60.output +++ /dev/null @@ -1,95 +0,0 @@ -Kernel command line: -q -mlfqs run mlfqs-load-60 -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 150,937,600 loops/s. -Boot complete. -Executing 'mlfqs-load-60': -(mlfqs-load-60) begin -(mlfqs-load-60) Starting 60 niced load threads... -(mlfqs-load-60) Starting threads took 0 seconds. -(mlfqs-load-60) After 0 seconds, load average=0.00. -(mlfqs-load-60) After 2 seconds, load average=0.00. -(mlfqs-load-60) After 4 seconds, load average=0.00. -(mlfqs-load-60) After 6 seconds, load average=0.00. -(mlfqs-load-60) After 8 seconds, load average=0.00. -(mlfqs-load-60) After 10 seconds, load average=0.00. -(mlfqs-load-60) After 12 seconds, load average=0.00. -(mlfqs-load-60) After 14 seconds, load average=0.00. -(mlfqs-load-60) After 16 seconds, load average=0.00. -(mlfqs-load-60) After 18 seconds, load average=0.00. -(mlfqs-load-60) After 20 seconds, load average=0.00. -(mlfqs-load-60) After 22 seconds, load average=0.00. -(mlfqs-load-60) After 24 seconds, load average=0.00. -(mlfqs-load-60) After 26 seconds, load average=0.00. -(mlfqs-load-60) After 28 seconds, load average=0.00. -(mlfqs-load-60) After 30 seconds, load average=0.00. -(mlfqs-load-60) After 32 seconds, load average=0.00. -(mlfqs-load-60) After 34 seconds, load average=0.00. -(mlfqs-load-60) After 36 seconds, load average=0.00. -(mlfqs-load-60) After 38 seconds, load average=0.00. -(mlfqs-load-60) After 40 seconds, load average=0.00. -(mlfqs-load-60) After 42 seconds, load average=0.00. -(mlfqs-load-60) After 44 seconds, load average=0.00. -(mlfqs-load-60) After 46 seconds, load average=0.00. -(mlfqs-load-60) After 48 seconds, load average=0.00. -(mlfqs-load-60) After 50 seconds, load average=0.00. -(mlfqs-load-60) After 52 seconds, load average=0.00. -(mlfqs-load-60) After 54 seconds, load average=0.00. -(mlfqs-load-60) After 56 seconds, load average=0.00. -(mlfqs-load-60) After 58 seconds, load average=0.00. -(mlfqs-load-60) After 60 seconds, load average=0.00. -(mlfqs-load-60) After 62 seconds, load average=0.00. -(mlfqs-load-60) After 64 seconds, load average=0.00. -(mlfqs-load-60) After 66 seconds, load average=0.00. -(mlfqs-load-60) After 68 seconds, load average=0.00. -(mlfqs-load-60) After 70 seconds, load average=0.00. -(mlfqs-load-60) After 72 seconds, load average=0.00. -(mlfqs-load-60) After 74 seconds, load average=0.00. -(mlfqs-load-60) After 76 seconds, load average=0.00. -(mlfqs-load-60) After 78 seconds, load average=0.00. -(mlfqs-load-60) After 80 seconds, load average=0.00. -(mlfqs-load-60) After 82 seconds, load average=0.00. -(mlfqs-load-60) After 84 seconds, load average=0.00. -(mlfqs-load-60) After 86 seconds, load average=0.00. -(mlfqs-load-60) After 88 seconds, load average=0.00. -(mlfqs-load-60) After 90 seconds, load average=0.00. -(mlfqs-load-60) After 92 seconds, load average=0.00. -(mlfqs-load-60) After 94 seconds, load average=0.00. -(mlfqs-load-60) After 96 seconds, load average=0.00. -(mlfqs-load-60) After 98 seconds, load average=0.00. -(mlfqs-load-60) After 100 seconds, load average=0.00. -(mlfqs-load-60) After 102 seconds, load average=0.00. -(mlfqs-load-60) After 104 seconds, load average=0.00. -(mlfqs-load-60) After 106 seconds, load average=0.00. -(mlfqs-load-60) After 108 seconds, load average=0.00. -(mlfqs-load-60) After 110 seconds, load average=0.00. -(mlfqs-load-60) After 112 seconds, load average=0.00. -(mlfqs-load-60) After 114 seconds, load average=0.00. -(mlfqs-load-60) After 116 seconds, load average=0.00. -(mlfqs-load-60) After 118 seconds, load average=0.00. -(mlfqs-load-60) After 120 seconds, load average=0.00. -(mlfqs-load-60) After 122 seconds, load average=0.00. -(mlfqs-load-60) After 124 seconds, load average=0.00. -(mlfqs-load-60) After 126 seconds, load average=0.00. -(mlfqs-load-60) After 128 seconds, load average=0.00. -(mlfqs-load-60) After 130 seconds, load average=0.00. -(mlfqs-load-60) After 132 seconds, load average=0.00. -(mlfqs-load-60) After 134 seconds, load average=0.00. -(mlfqs-load-60) After 136 seconds, load average=0.00. -(mlfqs-load-60) After 138 seconds, load average=0.00. -(mlfqs-load-60) After 140 seconds, load average=0.00. -(mlfqs-load-60) After 142 seconds, load average=0.00. -(mlfqs-load-60) After 144 seconds, load average=0.00. -(mlfqs-load-60) After 146 seconds, load average=0.00. -(mlfqs-load-60) After 148 seconds, load average=0.00. -(mlfqs-load-60) After 150 seconds, load average=0.00. -(mlfqs-load-60) After 152 seconds, load average=0.00. -(mlfqs-load-60) After 154 seconds, load average=0.00. -(mlfqs-load-60) After 156 seconds, load average=0.00. -(mlfqs-load-60) After 158 seconds, load average=0.00. -(mlfqs-load-60) After 160 seconds, load average=0.00. -(mlfqs-load-60) After 162 seconds, load average=0.00. -(mlfqs-load-60) After 164 seconds, load average=0.00. diff --git a/threads/build/tests/threads/priority-change.errors b/threads/build/tests/threads/priority-change.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-change.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-change.output b/threads/build/tests/threads/priority-change.output deleted file mode 100644 index 6334f80..0000000 --- a/threads/build/tests/threads/priority-change.output +++ /dev/null @@ -1,22 +0,0 @@ -Kernel command line: -q run priority-change -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 157,081,600 loops/s. -Boot complete. -Executing 'priority-change': -(priority-change) begin -(priority-change) Creating a high-priority thread 2. -(priority-change) Thread 2 now lowering priority. -(priority-change) Thread 2 should have just lowered its priority. -(priority-change) Thread 2 exiting. -(priority-change) Thread 2 should have just exited. -(priority-change) end -Execution of 'priority-change' complete. -Timer: 25 ticks -Thread: 0 idle ticks, 25 kernel ticks, 0 user ticks -Console: 689 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-change.result b/threads/build/tests/threads/priority-change.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/priority-change.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/priority-condvar.errors b/threads/build/tests/threads/priority-condvar.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-condvar.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-condvar.output b/threads/build/tests/threads/priority-condvar.output deleted file mode 100644 index 53067e7..0000000 --- a/threads/build/tests/threads/priority-condvar.output +++ /dev/null @@ -1,37 +0,0 @@ -Kernel command line: -q run priority-condvar -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 111,206,400 loops/s. -Boot complete. -Executing 'priority-condvar': -(priority-condvar) begin -(priority-condvar) Thread priority 23 starting. -(priority-condvar) Thread priority 22 starting. -(priority-condvar) Thread priority 21 starting. -(priority-condvar) Thread priority 30 starting. -(priority-condvar) Thread priority 29 starting. -(priority-condvar) Thread priority 28 starting. -(priority-condvar) Thread priority 27 starting. -(priority-condvar) Thread priority 26 starting. -(priority-condvar) Thread priority 25 starting. -(priority-condvar) Thread priority 24 starting. -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) Signaling... -(priority-condvar) end -Execution of 'priority-condvar' complete. -Timer: 35 ticks -Thread: 0 idle ticks, 35 kernel ticks, 0 user ticks -Console: 1237 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-condvar.result b/threads/build/tests/threads/priority-condvar.result deleted file mode 100644 index aad6637..0000000 --- a/threads/build/tests/threads/priority-condvar.result +++ /dev/null @@ -1,69 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-condvar) begin - (priority-condvar) Thread priority 23 starting. - (priority-condvar) Thread priority 22 starting. - (priority-condvar) Thread priority 21 starting. - (priority-condvar) Thread priority 30 starting. - (priority-condvar) Thread priority 29 starting. - (priority-condvar) Thread priority 28 starting. - (priority-condvar) Thread priority 27 starting. - (priority-condvar) Thread priority 26 starting. - (priority-condvar) Thread priority 25 starting. - (priority-condvar) Thread priority 24 starting. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 30 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 29 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 28 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 27 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 26 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 25 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 24 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 23 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 22 woke up. - (priority-condvar) Signaling... - (priority-condvar) Thread priority 21 woke up. - (priority-condvar) end -Differences in `diff -u' format: - (priority-condvar) begin - (priority-condvar) Thread priority 23 starting. - (priority-condvar) Thread priority 22 starting. - (priority-condvar) Thread priority 21 starting. - (priority-condvar) Thread priority 30 starting. - (priority-condvar) Thread priority 29 starting. - (priority-condvar) Thread priority 28 starting. - (priority-condvar) Thread priority 27 starting. - (priority-condvar) Thread priority 26 starting. - (priority-condvar) Thread priority 25 starting. - (priority-condvar) Thread priority 24 starting. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 30 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 29 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 28 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 27 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 26 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 25 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 24 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 23 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 22 woke up. - (priority-condvar) Signaling... -- (priority-condvar) Thread priority 21 woke up. - (priority-condvar) end diff --git a/threads/build/tests/threads/priority-donate-chain.errors b/threads/build/tests/threads/priority-donate-chain.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-donate-chain.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-chain.output b/threads/build/tests/threads/priority-donate-chain.output deleted file mode 100644 index a20d46d..0000000 --- a/threads/build/tests/threads/priority-donate-chain.output +++ /dev/null @@ -1,33 +0,0 @@ -Kernel command line: -q run priority-donate-chain -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 117,760,000 loops/s. -Boot complete. -Executing 'priority-donate-chain': -(priority-donate-chain) begin -(priority-donate-chain) main got lock. -(priority-donate-chain) main should have priority 3. Actual priority: 0. -(priority-donate-chain) interloper 1 finished. -(priority-donate-chain) main should have priority 6. Actual priority: 0. -(priority-donate-chain) interloper 2 finished. -(priority-donate-chain) main should have priority 9. Actual priority: 0. -(priority-donate-chain) interloper 3 finished. -(priority-donate-chain) main should have priority 12. Actual priority: 0. -(priority-donate-chain) interloper 4 finished. -(priority-donate-chain) main should have priority 15. Actual priority: 0. -(priority-donate-chain) interloper 5 finished. -(priority-donate-chain) main should have priority 18. Actual priority: 0. -(priority-donate-chain) interloper 6 finished. -(priority-donate-chain) main should have priority 21. Actual priority: 0. -(priority-donate-chain) interloper 7 finished. -(priority-donate-chain) main finishing with priority 0. -(priority-donate-chain) end -Execution of 'priority-donate-chain' complete. -Timer: 34 ticks -Thread: 0 idle ticks, 34 kernel ticks, 0 user ticks -Console: 1408 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-donate-chain.result b/threads/build/tests/threads/priority-donate-chain.result deleted file mode 100644 index d6f37ab..0000000 --- a/threads/build/tests/threads/priority-donate-chain.result +++ /dev/null @@ -1,96 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-donate-chain) begin - (priority-donate-chain) main got lock. - (priority-donate-chain) main should have priority 3. Actual priority: 3. - (priority-donate-chain) main should have priority 6. Actual priority: 6. - (priority-donate-chain) main should have priority 9. Actual priority: 9. - (priority-donate-chain) main should have priority 12. Actual priority: 12. - (priority-donate-chain) main should have priority 15. Actual priority: 15. - (priority-donate-chain) main should have priority 18. Actual priority: 18. - (priority-donate-chain) main should have priority 21. Actual priority: 21. - (priority-donate-chain) thread 1 got lock - (priority-donate-chain) thread 1 should have priority 21. Actual priority: 21 - (priority-donate-chain) thread 2 got lock - (priority-donate-chain) thread 2 should have priority 21. Actual priority: 21 - (priority-donate-chain) thread 3 got lock - (priority-donate-chain) thread 3 should have priority 21. Actual priority: 21 - (priority-donate-chain) thread 4 got lock - (priority-donate-chain) thread 4 should have priority 21. Actual priority: 21 - (priority-donate-chain) thread 5 got lock - (priority-donate-chain) thread 5 should have priority 21. Actual priority: 21 - (priority-donate-chain) thread 6 got lock - (priority-donate-chain) thread 6 should have priority 21. Actual priority: 21 - (priority-donate-chain) thread 7 got lock - (priority-donate-chain) thread 7 should have priority 21. Actual priority: 21 - (priority-donate-chain) thread 7 finishing with priority 21. - (priority-donate-chain) interloper 7 finished. - (priority-donate-chain) thread 6 finishing with priority 18. - (priority-donate-chain) interloper 6 finished. - (priority-donate-chain) thread 5 finishing with priority 15. - (priority-donate-chain) interloper 5 finished. - (priority-donate-chain) thread 4 finishing with priority 12. - (priority-donate-chain) interloper 4 finished. - (priority-donate-chain) thread 3 finishing with priority 9. - (priority-donate-chain) interloper 3 finished. - (priority-donate-chain) thread 2 finishing with priority 6. - (priority-donate-chain) interloper 2 finished. - (priority-donate-chain) thread 1 finishing with priority 3. - (priority-donate-chain) interloper 1 finished. - (priority-donate-chain) main finishing with priority 0. - (priority-donate-chain) end -Differences in `diff -u' format: - (priority-donate-chain) begin - (priority-donate-chain) main got lock. -- (priority-donate-chain) main should have priority 3. Actual priority: 3. -- (priority-donate-chain) main should have priority 6. Actual priority: 6. -- (priority-donate-chain) main should have priority 9. Actual priority: 9. -- (priority-donate-chain) main should have priority 12. Actual priority: 12. -- (priority-donate-chain) main should have priority 15. Actual priority: 15. -- (priority-donate-chain) main should have priority 18. Actual priority: 18. -- (priority-donate-chain) main should have priority 21. Actual priority: 21. -- (priority-donate-chain) thread 1 got lock -- (priority-donate-chain) thread 1 should have priority 21. Actual priority: 21 -- (priority-donate-chain) thread 2 got lock -- (priority-donate-chain) thread 2 should have priority 21. Actual priority: 21 -- (priority-donate-chain) thread 3 got lock -- (priority-donate-chain) thread 3 should have priority 21. Actual priority: 21 -- (priority-donate-chain) thread 4 got lock -- (priority-donate-chain) thread 4 should have priority 21. Actual priority: 21 -- (priority-donate-chain) thread 5 got lock -- (priority-donate-chain) thread 5 should have priority 21. Actual priority: 21 -- (priority-donate-chain) thread 6 got lock -- (priority-donate-chain) thread 6 should have priority 21. Actual priority: 21 -- (priority-donate-chain) thread 7 got lock -- (priority-donate-chain) thread 7 should have priority 21. Actual priority: 21 -- (priority-donate-chain) thread 7 finishing with priority 21. -- (priority-donate-chain) interloper 7 finished. -- (priority-donate-chain) thread 6 finishing with priority 18. -- (priority-donate-chain) interloper 6 finished. -- (priority-donate-chain) thread 5 finishing with priority 15. -- (priority-donate-chain) interloper 5 finished. -- (priority-donate-chain) thread 4 finishing with priority 12. -- (priority-donate-chain) interloper 4 finished. -- (priority-donate-chain) thread 3 finishing with priority 9. -- (priority-donate-chain) interloper 3 finished. -- (priority-donate-chain) thread 2 finishing with priority 6. -- (priority-donate-chain) interloper 2 finished. -- (priority-donate-chain) thread 1 finishing with priority 3. -+ (priority-donate-chain) main should have priority 3. Actual priority: 0. - (priority-donate-chain) interloper 1 finished. -+ (priority-donate-chain) main should have priority 6. Actual priority: 0. -+ (priority-donate-chain) interloper 2 finished. -+ (priority-donate-chain) main should have priority 9. Actual priority: 0. -+ (priority-donate-chain) interloper 3 finished. -+ (priority-donate-chain) main should have priority 12. Actual priority: 0. -+ (priority-donate-chain) interloper 4 finished. -+ (priority-donate-chain) main should have priority 15. Actual priority: 0. -+ (priority-donate-chain) interloper 5 finished. -+ (priority-donate-chain) main should have priority 18. Actual priority: 0. -+ (priority-donate-chain) interloper 6 finished. -+ (priority-donate-chain) main should have priority 21. Actual priority: 0. -+ (priority-donate-chain) interloper 7 finished. - (priority-donate-chain) main finishing with priority 0. - (priority-donate-chain) end diff --git a/threads/build/tests/threads/priority-donate-lower.errors b/threads/build/tests/threads/priority-donate-lower.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-donate-lower.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-lower.output b/threads/build/tests/threads/priority-donate-lower.output deleted file mode 100644 index 58f36cf..0000000 --- a/threads/build/tests/threads/priority-donate-lower.output +++ /dev/null @@ -1,22 +0,0 @@ -Kernel command line: -q run priority-donate-lower -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 104,755,200 loops/s. -Boot complete. -Executing 'priority-donate-lower': -(priority-donate-lower) begin -(priority-donate-lower) Main thread should have priority 41. Actual priority: 31. -(priority-donate-lower) Lowering base priority... -(priority-donate-lower) Main thread should have priority 41. Actual priority: 21. -(priority-donate-lower) acquire must already have finished. -(priority-donate-lower) Main thread should have priority 21. Actual priority: 21. -(priority-donate-lower) end -Execution of 'priority-donate-lower' complete. -Timer: 24 ticks -Thread: 0 idle ticks, 24 kernel ticks, 0 user ticks -Console: 821 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-donate-lower.result b/threads/build/tests/threads/priority-donate-lower.result deleted file mode 100644 index 174eb8f..0000000 --- a/threads/build/tests/threads/priority-donate-lower.result +++ /dev/null @@ -1,25 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-donate-lower) begin - (priority-donate-lower) Main thread should have priority 41. Actual priority: 41. - (priority-donate-lower) Lowering base priority... - (priority-donate-lower) Main thread should have priority 41. Actual priority: 41. - (priority-donate-lower) acquire: got the lock - (priority-donate-lower) acquire: done - (priority-donate-lower) acquire must already have finished. - (priority-donate-lower) Main thread should have priority 21. Actual priority: 21. - (priority-donate-lower) end -Differences in `diff -u' format: - (priority-donate-lower) begin -- (priority-donate-lower) Main thread should have priority 41. Actual priority: 41. -+ (priority-donate-lower) Main thread should have priority 41. Actual priority: 31. - (priority-donate-lower) Lowering base priority... -- (priority-donate-lower) Main thread should have priority 41. Actual priority: 41. -- (priority-donate-lower) acquire: got the lock -- (priority-donate-lower) acquire: done -+ (priority-donate-lower) Main thread should have priority 41. Actual priority: 21. - (priority-donate-lower) acquire must already have finished. - (priority-donate-lower) Main thread should have priority 21. Actual priority: 21. - (priority-donate-lower) end diff --git a/threads/build/tests/threads/priority-donate-multiple.errors b/threads/build/tests/threads/priority-donate-multiple.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-donate-multiple.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-multiple.output b/threads/build/tests/threads/priority-donate-multiple.output deleted file mode 100644 index 4562509..0000000 --- a/threads/build/tests/threads/priority-donate-multiple.output +++ /dev/null @@ -1,23 +0,0 @@ -Kernel command line: -q run priority-donate-multiple -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 157,081,600 loops/s. -Boot complete. -Executing 'priority-donate-multiple': -(priority-donate-multiple) begin -(priority-donate-multiple) Main thread should have priority 32. Actual priority: 31. -(priority-donate-multiple) Main thread should have priority 33. Actual priority: 31. -(priority-donate-multiple) Thread b should have just finished. -(priority-donate-multiple) Main thread should have priority 32. Actual priority: 31. -(priority-donate-multiple) Thread a should have just finished. -(priority-donate-multiple) Main thread should have priority 31. Actual priority: 31. -(priority-donate-multiple) -Execution of 'priority-donate-multiple' complete. -Timer: 28 ticks -Thread: 0 idle ticks, 29 kernel ticks, 0 user ticks -Console: 944 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-donate-multiple.result b/threads/build/tests/threads/priority-donate-multiple.result deleted file mode 100644 index 82a3fd6..0000000 --- a/threads/build/tests/threads/priority-donate-multiple.result +++ /dev/null @@ -1,33 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-donate-multiple) begin - (priority-donate-multiple) Main thread should have priority 32. Actual priority: 32. - (priority-donate-multiple) Main thread should have priority 33. Actual priority: 33. - (priority-donate-multiple) Thread b acquired lock b. - (priority-donate-multiple) Thread b finished. - (priority-donate-multiple) Thread b should have just finished. - (priority-donate-multiple) Main thread should have priority 32. Actual priority: 32. - (priority-donate-multiple) Thread a acquired lock a. - (priority-donate-multiple) Thread a finished. - (priority-donate-multiple) Thread a should have just finished. - (priority-donate-multiple) Main thread should have priority 31. Actual priority: 31. - (priority-donate-multiple) end -Differences in `diff -u' format: - (priority-donate-multiple) begin -- (priority-donate-multiple) Main thread should have priority 32. Actual priority: 32. -- (priority-donate-multiple) Main thread should have priority 33. Actual priority: 33. -- (priority-donate-multiple) Thread b acquired lock b. -- (priority-donate-multiple) Thread b finished. -+ (priority-donate-multiple) Main thread should have priority 32. Actual priority: 31. -+ (priority-donate-multiple) Main thread should have priority 33. Actual priority: 31. - (priority-donate-multiple) Thread b should have just finished. -- (priority-donate-multiple) Main thread should have priority 32. Actual priority: 32. -- (priority-donate-multiple) Thread a acquired lock a. -- (priority-donate-multiple) Thread a finished. -+ (priority-donate-multiple) Main thread should have priority 32. Actual priority: 31. - (priority-donate-multiple) Thread a should have just finished. - (priority-donate-multiple) Main thread should have priority 31. Actual priority: 31. -- (priority-donate-multiple) end -+ (priority-donate-multiple) diff --git a/threads/build/tests/threads/priority-donate-multiple2.errors b/threads/build/tests/threads/priority-donate-multiple2.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-donate-multiple2.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-multiple2.output b/threads/build/tests/threads/priority-donate-multiple2.output deleted file mode 100644 index ecceff5..0000000 --- a/threads/build/tests/threads/priority-donate-multiple2.output +++ /dev/null @@ -1,23 +0,0 @@ -Kernel command line: -q run priority-donate-multiple2 -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 104,755,200 loops/s. -Boot complete. -Executing 'priority-donate-multiple2': -(priority-donate-multiple2) begin -(priority-donate-multiple2) Main thread should have priority 34. Actual priority: 31. -(priority-donate-multiple2) Thread c finished. -(priority-donate-multiple2) Main thread should have priority 36. Actual priority: 31. -(priority-donate-multiple2) Main thread should have priority 36. Actual priority: 31. -(priority-donate-multiple2) Threads b, a, c should have just finished, in that order. -(priority-donate-multiple2) Main thread should have priority 31. Actual priority: 31. -(priority-donate-multiple2) end -Execution of 'priority-donate-multiple2' complete. -Timer: 25 ticks -Thread: 0 idle ticks, 25 kernel ticks, 0 user ticks -Console: 963 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-donate-multiple2.result b/threads/build/tests/threads/priority-donate-multiple2.result deleted file mode 100644 index f00e34c..0000000 --- a/threads/build/tests/threads/priority-donate-multiple2.result +++ /dev/null @@ -1,32 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-donate-multiple2) begin - (priority-donate-multiple2) Main thread should have priority 34. Actual priority: 34. - (priority-donate-multiple2) Main thread should have priority 36. Actual priority: 36. - (priority-donate-multiple2) Main thread should have priority 36. Actual priority: 36. - (priority-donate-multiple2) Thread b acquired lock b. - (priority-donate-multiple2) Thread b finished. - (priority-donate-multiple2) Thread a acquired lock a. - (priority-donate-multiple2) Thread a finished. - (priority-donate-multiple2) Thread c finished. - (priority-donate-multiple2) Threads b, a, c should have just finished, in that order. - (priority-donate-multiple2) Main thread should have priority 31. Actual priority: 31. - (priority-donate-multiple2) end -Differences in `diff -u' format: - (priority-donate-multiple2) begin -- (priority-donate-multiple2) Main thread should have priority 34. Actual priority: 34. -- (priority-donate-multiple2) Main thread should have priority 36. Actual priority: 36. -- (priority-donate-multiple2) Main thread should have priority 36. Actual priority: 36. -- (priority-donate-multiple2) Thread b acquired lock b. -- (priority-donate-multiple2) Thread b finished. -- (priority-donate-multiple2) Thread a acquired lock a. -- (priority-donate-multiple2) Thread a finished. -+ (priority-donate-multiple2) Main thread should have priority 34. Actual priority: 31. - (priority-donate-multiple2) Thread c finished. -+ (priority-donate-multiple2) Main thread should have priority 36. Actual priority: 31. -+ (priority-donate-multiple2) Main thread should have priority 36. Actual priority: 31. - (priority-donate-multiple2) Threads b, a, c should have just finished, in that order. - (priority-donate-multiple2) Main thread should have priority 31. Actual priority: 31. - (priority-donate-multiple2) end diff --git a/threads/build/tests/threads/priority-donate-nest.errors b/threads/build/tests/threads/priority-donate-nest.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-donate-nest.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-nest.output b/threads/build/tests/threads/priority-donate-nest.output deleted file mode 100644 index f6957cf..0000000 --- a/threads/build/tests/threads/priority-donate-nest.output +++ /dev/null @@ -1,27 +0,0 @@ -Kernel command line: -q run priority-donate-nest -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 157,081,600 loops/s. -Boot complete. -Executing 'priority-donate-nest': -(priority-donate-nest) begin -(priority-donate-nest) Low thread should have priority 32. Actual priority: 31. -(priority-donate-nest) Low thread should have priority 33. Actual priority: 31. -(priority-donate-nest) Medium thread should have priority 33. Actual priority: 32. -(priority-donate-nest) Medium thread got the lock. -(priority-donate-nest) High thread got the lock. -(priority-donate-nest) High thread finished. -(priority-donate-nest) High thread should have just finished. -(priority-donate-nest) Middle thread finished. -(priority-donate-nest) Medium thread should just have finished. -(priority-donate-nest) Low thread should have priority 31. Actual priority: 31. -(priority-donate-nest) end -Execution of 'priority-donate-nest' complete. -Timer: 27 ticks -Thread: 0 idle ticks, 27 kernel ticks, 0 user ticks -Console: 1102 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-donate-nest.result b/threads/build/tests/threads/priority-donate-nest.result deleted file mode 100644 index 1666408..0000000 --- a/threads/build/tests/threads/priority-donate-nest.result +++ /dev/null @@ -1,32 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-donate-nest) begin - (priority-donate-nest) Low thread should have priority 32. Actual priority: 32. - (priority-donate-nest) Low thread should have priority 33. Actual priority: 33. - (priority-donate-nest) Medium thread should have priority 33. Actual priority: 33. - (priority-donate-nest) Medium thread got the lock. - (priority-donate-nest) High thread got the lock. - (priority-donate-nest) High thread finished. - (priority-donate-nest) High thread should have just finished. - (priority-donate-nest) Middle thread finished. - (priority-donate-nest) Medium thread should just have finished. - (priority-donate-nest) Low thread should have priority 31. Actual priority: 31. - (priority-donate-nest) end -Differences in `diff -u' format: - (priority-donate-nest) begin -- (priority-donate-nest) Low thread should have priority 32. Actual priority: 32. -- (priority-donate-nest) Low thread should have priority 33. Actual priority: 33. -- (priority-donate-nest) Medium thread should have priority 33. Actual priority: 33. -+ (priority-donate-nest) Low thread should have priority 32. Actual priority: 31. -+ (priority-donate-nest) Low thread should have priority 33. Actual priority: 31. -+ (priority-donate-nest) Medium thread should have priority 33. Actual priority: 32. - (priority-donate-nest) Medium thread got the lock. - (priority-donate-nest) High thread got the lock. - (priority-donate-nest) High thread finished. - (priority-donate-nest) High thread should have just finished. - (priority-donate-nest) Middle thread finished. - (priority-donate-nest) Medium thread should just have finished. - (priority-donate-nest) Low thread should have priority 31. Actual priority: 31. - (priority-donate-nest) end diff --git a/threads/build/tests/threads/priority-donate-one.errors b/threads/build/tests/threads/priority-donate-one.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-donate-one.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-one.output b/threads/build/tests/threads/priority-donate-one.output deleted file mode 100644 index 77aecbb..0000000 --- a/threads/build/tests/threads/priority-donate-one.output +++ /dev/null @@ -1,21 +0,0 @@ -Kernel command line: -q run priority-donate-one -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 157,081,600 loops/s. -Boot complete. -Executing 'priority-donate-one': -(priority-donate-one) begin -(priority-donate-one) This thread should have priority 32. Actual priority: 31. -(priority-donate-one) This thread should have priority 33. Actual priority: 31. -(priority-donate-one) acquire2, acquire1 must already have finished, in that order. -(priority-donate-one) This should be the last line before finishing this test. -(priority-donate-one) end -Execution of 'priority-donate-one' complete. -Timer: 25 ticks -Thread: 0 idle ticks, 25 kernel ticks, 0 user ticks -Console: 777 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-donate-one.result b/threads/build/tests/threads/priority-donate-one.result deleted file mode 100644 index 0102de3..0000000 --- a/threads/build/tests/threads/priority-donate-one.result +++ /dev/null @@ -1,27 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-donate-one) begin - (priority-donate-one) This thread should have priority 32. Actual priority: 32. - (priority-donate-one) This thread should have priority 33. Actual priority: 33. - (priority-donate-one) acquire2: got the lock - (priority-donate-one) acquire2: done - (priority-donate-one) acquire1: got the lock - (priority-donate-one) acquire1: done - (priority-donate-one) acquire2, acquire1 must already have finished, in that order. - (priority-donate-one) This should be the last line before finishing this test. - (priority-donate-one) end -Differences in `diff -u' format: - (priority-donate-one) begin -- (priority-donate-one) This thread should have priority 32. Actual priority: 32. -- (priority-donate-one) This thread should have priority 33. Actual priority: 33. -- (priority-donate-one) acquire2: got the lock -- (priority-donate-one) acquire2: done -- (priority-donate-one) acquire1: got the lock -- (priority-donate-one) acquire1: done -+ (priority-donate-one) This thread should have priority 32. Actual priority: 31. -+ (priority-donate-one) This thread should have priority 33. Actual priority: 31. - (priority-donate-one) acquire2, acquire1 must already have finished, in that order. - (priority-donate-one) This should be the last line before finishing this test. - (priority-donate-one) end diff --git a/threads/build/tests/threads/priority-donate-sema.errors b/threads/build/tests/threads/priority-donate-sema.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-donate-sema.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-sema.output b/threads/build/tests/threads/priority-donate-sema.output deleted file mode 100644 index b013027..0000000 --- a/threads/build/tests/threads/priority-donate-sema.output +++ /dev/null @@ -1,19 +0,0 @@ -Kernel command line: -q run priority-donate-sema -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 157,081,600 loops/s. -Boot complete. -Executing 'priority-donate-sema': -(priority-donate-sema) begin -(priority-donate-sema) Thread L acquired lock. -(priority-donate-sema) Main thread finished. -(priority-donate-sema) end -Execution of 'priority-donate-sema' complete. -Timer: 25 ticks -Thread: 0 idle ticks, 25 kernel ticks, 0 user ticks -Console: 549 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-donate-sema.result b/threads/build/tests/threads/priority-donate-sema.result deleted file mode 100644 index a639d9d..0000000 --- a/threads/build/tests/threads/priority-donate-sema.result +++ /dev/null @@ -1,23 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-donate-sema) begin - (priority-donate-sema) Thread L acquired lock. - (priority-donate-sema) Thread L downed semaphore. - (priority-donate-sema) Thread H acquired lock. - (priority-donate-sema) Thread H finished. - (priority-donate-sema) Thread M finished. - (priority-donate-sema) Thread L finished. - (priority-donate-sema) Main thread finished. - (priority-donate-sema) end -Differences in `diff -u' format: - (priority-donate-sema) begin - (priority-donate-sema) Thread L acquired lock. -- (priority-donate-sema) Thread L downed semaphore. -- (priority-donate-sema) Thread H acquired lock. -- (priority-donate-sema) Thread H finished. -- (priority-donate-sema) Thread M finished. -- (priority-donate-sema) Thread L finished. - (priority-donate-sema) Main thread finished. - (priority-donate-sema) end diff --git a/threads/build/tests/threads/priority-fifo.errors b/threads/build/tests/threads/priority-fifo.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-fifo.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-fifo.output b/threads/build/tests/threads/priority-fifo.output deleted file mode 100644 index fa03304..0000000 --- a/threads/build/tests/threads/priority-fifo.output +++ /dev/null @@ -1,35 +0,0 @@ -Kernel command line: -q run priority-fifo -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 52,377,600 loops/s. -Boot complete. -Executing 'priority-fifo': -(priority-fifo) begin -(priority-fifo) 16 threads will iterate 16 times in the same order each time. -(priority-fifo) If the order varies then there is a bug. -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -(priority-fifo) end -Execution of 'priority-fifo' complete. -Timer: 26 ticks -Thread: 0 idle ticks, 27 kernel ticks, 0 user ticks -Console: 1596 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-fifo.result b/threads/build/tests/threads/priority-fifo.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/priority-fifo.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/priority-preempt.errors b/threads/build/tests/threads/priority-preempt.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-preempt.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-preempt.output b/threads/build/tests/threads/priority-preempt.output deleted file mode 100644 index bd64be8..0000000 --- a/threads/build/tests/threads/priority-preempt.output +++ /dev/null @@ -1,24 +0,0 @@ -Kernel command line: -q run priority-preempt -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 117,760,000 loops/s. -Boot complete. -Executing 'priority-preempt': -(priority-preempt) begin -(priority-preempt) Thread high-priority iteration 0 -(priority-preempt) Thread high-priority iteration 1 -(priority-preempt) Thread high-priority iteration 2 -(priority-preempt) Thread high-priority iteration 3 -(priority-preempt) Thread high-priority iteration 4 -(priority-preempt) Thread high-priority done! -(priority-preempt) The high-priority thread should have already completed. -(priority-preempt) end -Execution of 'priority-preempt' complete. -Timer: 29 ticks -Thread: 0 idle ticks, 29 kernel ticks, 0 user ticks -Console: 818 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-preempt.result b/threads/build/tests/threads/priority-preempt.result deleted file mode 100644 index 7ef22e9..0000000 --- a/threads/build/tests/threads/priority-preempt.result +++ /dev/null @@ -1 +0,0 @@ -PASS diff --git a/threads/build/tests/threads/priority-sema.errors b/threads/build/tests/threads/priority-sema.errors deleted file mode 100644 index a2f7a82..0000000 --- a/threads/build/tests/threads/priority-sema.errors +++ /dev/null @@ -1 +0,0 @@ -qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-sema.output b/threads/build/tests/threads/priority-sema.output deleted file mode 100644 index e19d6a3..0000000 --- a/threads/build/tests/threads/priority-sema.output +++ /dev/null @@ -1,27 +0,0 @@ -Kernel command line: -q run priority-sema -0 ~ 9fc00 1 -100000 ~ 13e0000 1 -Pintos booting with: - base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) - ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) -Calibrating timer... 111,206,400 loops/s. -Boot complete. -Executing 'priority-sema': -(priority-sema) begin -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) Back in main thread. -(priority-sema) end -Execution of 'priority-sema' complete. -Timer: 29 ticks -Thread: 0 idle ticks, 29 kernel ticks, 0 user ticks -Console: 792 characters output -Keyboard: 0 keys pressed -Powering off... diff --git a/threads/build/tests/threads/priority-sema.result b/threads/build/tests/threads/priority-sema.result deleted file mode 100644 index 251607c..0000000 --- a/threads/build/tests/threads/priority-sema.result +++ /dev/null @@ -1,49 +0,0 @@ -FAIL -Test output failed to match any acceptable form. - -Acceptable output: - (priority-sema) begin - (priority-sema) Thread priority 30 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 29 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 28 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 27 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 26 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 25 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 24 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 23 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 22 woke up. - (priority-sema) Back in main thread. - (priority-sema) Thread priority 21 woke up. - (priority-sema) Back in main thread. - (priority-sema) end -Differences in `diff -u' format: - (priority-sema) begin -- (priority-sema) Thread priority 30 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 29 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 28 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 27 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 26 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 25 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 24 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 23 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 22 woke up. - (priority-sema) Back in main thread. -- (priority-sema) Thread priority 21 woke up. - (priority-sema) Back in main thread. - (priority-sema) end diff --git a/threads/build/threads/intr-stubs.o b/threads/build/threads/intr-stubs.o index dd77194d814208da72b52d862e7e2bed8e064303..508820b73dd35e597b2e35eb1b67c2b693118b21 100644 GIT binary patch delta 37 ocmeC!#MH5gX#i_@% delta 37 ocmeC!#MH5gX#=9O#q*u(KUy@s(pPUTgZhu+Y1~3 delta 35 mcmZqBY0%lg!Y)=C;FRuXs#naQUy@s(pPUTgZht-wNsg diff --git a/threads/build/threads/start.o b/threads/build/threads/start.o index fc3be1be65cf219b0a9661e74cd03502ecba053c..6b96660ca9db39831b7679b7695e46a4560c7ecd 100644 GIT binary patch delta 36 ocmZqpz}WDCal;p8(I^+E;yhQqVg~(^+yedNWH5g-C(HL@00s#SrT_o{ delta 36 ocmZqpz}WDCal;p8(Zn({M+;ZIVg~(^+yedNWH5g-C(HL@003nTFaQ7m diff --git a/threads/build/threads/synch.o b/threads/build/threads/synch.o index 1c6e83efc7cfd931452de4b5ec9287bb44cfc29d..e8c4ebeeaffda84b7fb9d34f7ee0311f8035de70 100644 GIT binary patch literal 26104 zcmcJX3w)HtwZLb0Lw0c`gm(~>g@Oho8^SXvNI-)@DI$VGeQY+HO|p{g#(gMSktjZh zDV11Td{9MeE#6;M^eUyk8l_gP;?Gx=+J{~hOKV&4aa*b=_net?zMVbEHo<%E{B*yW z|C~8<=FH=pZ@w?At6sd&?Q$s&E_IU1rkEPgWa*lpJF!PO_GA!ZHNW7bmR;n?%|G-?O-J>CjuoG^7h|MmeV4DM z{n;8v<)N21J->_U4M4s7pwfN4S6bCurB(&&_q(p{>a`j34?|;n^}!Dp*lnoU*jftB z1LM1Vy6rWNe?)6@NVy9WK3aKLEjnOq0BeQ`YkpOI z$n{|X{3__cT)PJDs6O;{x-W59rX56sdKfvnW7EqySG&CCNl>kWbbQY`wA%Iirt~0< z9pXaeFm$cq^lv(+R?LI!C^+Va3;~dl%~YcgveKH2SvE{IWNV*o549);Gn^^hI&^ z1=t=%HSJGp54IO)opl(?@^5;#0ESS`^53_nz0nuN-J7UneDK4?CgD~Fs8S<*00^(yOuz2S`K>^7~7l1 zj_U2Ad;2hk#`UIkV>NVJS8bLXR`#Z``z^8$y*Rsft#W-ad!ePcc=x&wl4WTR z`tWOa*lE2rL3h}yUY;#Z?@dd`iv8w(^@cFq&>rqIFJ_yx6jqYwU?u6QX;rdj0>e6_mDHu^>WASt{6iLL>(KYEn=|r_Wno7swjR92I+LTB}Q^8qB*yh9a3{G8#{ZOkIIe%$%qV?SmMYQtxQS zYD2MjEN!(jRG+vcZl}}9OPOi;Osh7}E~o1aM=r|5l2I(G(^$@84o^m#qv4d6qiT$N z&&|^!XtZ6QPG1ss?AGa2tT7&L&dS#%6XE(u7<~GhBBcs+h7ZQEQb+2z^>f{TY{Kp9 zhY1hNUx1k6 zA&eJ;ac*QjA8PGy8eQ7Yw}{L1>yPG{GX4DfQPe1&(r;MY5gPsuL`i7Gc!+}`sNx7L zt6YUEG2fq#)vLm9?ZqZ(dkW8e4B`bQe%^kF`%L`&-8NCrA=?^UzaJi#ybSn`jZti zly@ll9OKiKcNoTf5TB;J!!ceA@u|u?0^=nRuTb6+j0Ye-MR`YJywsnZt-MEJbc#P& zsl1~wTIo-wV#+%j<5m7-J;aa3c#S_<*Q&h7V024 z2T*hl7TxYoLD9J=zSD@Dgz-mBd>$5k+)P!|cZEebfb720aku{Um|0dh0tZl$p6xK> z2hM}kKp5&qC*ootsxXC9Ll2lr*MT{JwSeniT{;(kT%Y4;E>?qd;!GD7;BW^;TwA_` zqJzWAb*5`HJK{IGkC7Y1|HaI=8JGk^TAnt}iFC4GK77$AcJH@&VNE(@RW|7mPxk zx{HdG_j?dGM$T}Ie2`+UEjV(GRWovpoZ+&KydK03%gC8|&EF5pvSWTu!>}z*&U`zu z*iPK!hbHT0qE)(?e&xl6m}cUDG2vHEGuxn2)6CJjnK)!PjqUVwZe3@3{%9BWs;6`N zI^8>)py2;|!|#Wg<}~~qyRA)dpL25l1-DlxvAI8c0Zr6i=&!ukPUD5_A$b#d!?gun zZ(8l*&hB#~>%c5E5>>fAwx?{$(f&=a^(Z5NQJ863c?9CUd9VeQ`+Ru!(;bUtbdyFY z?^zHZrPc1Gs?=_ZxVHQbGEJR(&2Vkfb$-}~I`fai>;OYO+KwZY7ppSuf7NdPpB!7R zf*vupylQM&Ia-_j8j8C+6WX#HL8v!xuQQ=@2CO#MSoRQGcDduc>mAD;vMs~0-J82`_Nb##lWQ~SQ_Csh+VU4i z@n*bNz^F96ax-SQJ8O@LDc3D1?(S@MCRdK(dN}xec-J!KU&FQh)~V%cSd)z2YccBS zym=iezD_D$V^8j!X`hq0&KAS^d$#OGoHj*h7|Q4o;36B%b{(7Lbp9e3Jf`!TP20&6 zEx50P*6Z=P3WR!d_?@Cx==qZ z7*GmoM?+qb%e80-Ry1%dXf6j*Jl&~r-pDyHe+C6z^G0f0`yDrO(GYA)RmtWBBeB%r zex{~=i-x$NhlfB}teBERNfjlBwO{2@gIpC*Zn&*8N83mC8%Q2km(~){Ya;j zzndjTQ8{QNijJ~Hb1E2}Z669A9R%l~TaFueGys0}jtdq7SI&VI9bd)bk>*T&w7fZ1*PWEF zjwa*LW|2WBUP|$i7wAr<>+7Qp!6q~n;&4!6;?1!X#^5o+2shyqnNa{3;vgAKCNr%l z1IHK)sB@smvR`Wr7m!ZX>m7miU}h3P`~yrG@GMvs5a6Al=nW4<8f z?VaMDIdsR}dwoMrdD0OWx_9f|*y+BZr_ab18oJl_y!+T;?%?pfkAd*DzB_yw-+k`M zsLXRC{`kuEZ$zs(t#Gw(Rn=qH zQ3Yp6p|lEx^f-vcL#>%~N*^3rr;)A6SRxrqU#f7RnFGTNsF*n&N~YkjH64JIO2saV z0>~aJMjM*LjVTRcc(ALFWA)*zT3)lPdj2V)Wh<5}S+wL-8mpm9ybg~zyPtFF15)R} zbkUOK%R*-?T!_P3+i-EXITOWHGSnQs7^YGa92TplM00&KsnF6&unQ(Y0*{RAqjqbP zklUbTTA_4W;pr!wBZumgc7&Nkp$MElr=!~b5S-JVx@1M*CcxBa((u-1s0syIu{cIj>2PFqS!*(pjz-dn zB=`_c!}Sjo)6D{3*ay10FH_KYD$*1tc@*U)o6~U97ku7Kc~Dn6lTsH)BcXUgHMWM5 z(MA{<(PT=2dMIJzzgua0I~L+KdwYADniuAimSaImj3aXeOz)(3Rmq}Fsk_5fjlCNvycnj0=MOHrOzG^U7tuR;qGzCj8lk}&O~_0CidtCnyh z^k{1`da+7nB9SN@kfH^lmhhUa`Fd_-UvB8ms*k0@bUJM@(F>` z722C-1t^a6dDb zsgwUxC;uJFe=SG3c{lLiZT=-HLieDx@J!s{V;=+%wP^1ut4 zo`T1`s_B;Hf!8}SybNG4w3vflt03_f{I6g5a0XpJ$iwk{A?o4sd|>i<9(gZR*^~aE zdH6T-a2y{!={Y42KQj-n1&;P_fhz_+hr$zU-8M?JmR+#=Qlo!i0`8bs@GqT{}%Cjn$Y|rtbzD2 zlGp1w$Y+4}G=7|Ca^BhmD`vx+Y&%tHr>4%bQ`4rJjf>ub(2mtAI%B#mJR?WZ%$!PQ z=BS;8yGXOs0&`~Nl&j3qSvlL5oITyzdgbhZorgWW!PfgMy(@y95`K1L_OrZ25|0hI zJIvh~#^O1ETE@Bf&TKPe;`z}u_%kDvGXU@i( z$2{i|*gWdye1)SEc|NJ>_IZv5{0yP@mwJDzWBN0jZhL5*MPJdoTWYq~B``KI z!1RK%{D+#c}V&;RcHz%Mh--zG1fAFLFUP@piUG52I~QBrw)1Sk+0I(Qd7qgOob9~A;bp6!`vaoe7m77v)B`gf7VG0N-bS%R}Y=L^pEGz-r5 zeB0u-JvUf>N+~R`x%S ztDxX)r}^A6+rRj{g5gvl&vu?|aof%dEpGd5t;NygHdGGbI>FhVPQlq8^9f?sPPXR( zOWwBUS&JWMs?@)~x47*$KRq8vzYPp z&h}hsaoe8nTil*UKejm9vki@e@POcK&(8&Cd!7@V?RnGUwmqL&+`i8apyz(PJ0n zx-?K#)t_V`?Fan!@(Gb1?Lvrcff=evTlJwLR#ZO?-ip9uAG*llrpe7)jwY z*SlG8uJ;~`+x0$Wab642{?{#T`+qJOfX$qPf)vin!)ZIC-w!yS;XxTvuQ{I8@ZSdv zB7Hb*kUv4sIb4?c0pcS`9__*BFAi)o%Hz8k4*bl;di39{K;{e*U>>6M0>J|X1}qZ% zeyV(_;43J7p5U)gIwttvX#C*&8w_mEKTJ}6o370H`Mgc=LuAiJ!55O>ZWNrK!|xFM z6Vh|H;EO5!px{rD{0_m7qINwc_z1FRx8R4!&wM`5?L7e}2ZWE!#qrM#q~}Y)|3c~h zR6pyvmh3DM{9e*CLGUX{Ple!Y-(11(A^rGAuo$@BNhYbz7W^aPb%I|>JS}(&*||~h zRm5)*JWlrfSa4oL`5cVxOp*K(LjF_I&*xn%|1avVKMDCu$o@|SXaDe|Wj$|`{2;2I z`E$hay$A;8Z;?I62!0Nw{~$P)!|;{hH<6wr_zE(({@h0Cv4Y=4=`z7jpftZMc|li&|fIxYAPO1BB#YSgG73BHc%WqoYVYb5u$kY7OZy9Mtc{alXqT*&iO z$j>AGw%}8Ve;_!o?;gr${Uv120KvCWxFBk$57fn2Se5T{%)L* zpHF_P5PTB(r%Lck$d1#9qn#M#eTaPyhV`zd8-A@NkNiR6ErP#5{4&A+Nc>*n++O&4 zQ-|$Bp5J3WE9AMoZwSuq-77e^_ajR`MtOg0pLd}tkD_4^`dQ~W+Ci{|@m9g5N=W zs^ISupC|ZN#1{)bp2p8A!DkU~5PS*ol;C0FKOl}tystID{}_HK6d+Ni(YusHf{1Nq-RmqUIV@sCBlkI*{vh0w!x45o5y&m_==As{&0If*!r zlUlNKn#Iwc;gqftd?KY|bme+^ACM68{GG2GKOlZHakd}7ufcG;kmv7t9ue~Fhh2hmdv{xU zaJ~eny>D0?tDH{voA(6g`|*CkuO;~}1;2&(5!fIISRLwroA?O9|3RGBA(nTOf2NW= zUT{6(cc_&@4}S-BhLE2GWiXsCIQys3(u1ZHlYd$*j`r`Q^}#+r)a@ePA@uLTObGV* zAtL9!t&o40_C-4c=Y9Fh!kz_G?;iwTMf_u-r;YeOg*-n$6w!Scv(e97uYK-^_Mb;~ z&Lny6FP1-9@J%GYRB(PCIA8ERB!8jc9}&Mq@PX8>?-OVH=Tkr4Cgl11z=wo9+utR4 zJ@w;Dg7f&-@w zarO^?pYe#0H?=DDqL62Qz9l%HgY6TX{rQQdAN{$9D)_?U*yVg)>Z4DsxxE>ZA5NU@ z57BryDi0qk_*j}p6Y}uMg6|{wDS7xT!D~tW#5{a~;6*gf7v|yL6r8`aIWrGmDfsWm zKj-D)5y2ObpBwXV{inbn!~Q>(>`w}L=9db7Dfwru;Cw#2UT~J*Aow&I=ikZ0zbAN* zYwZXFKl&(nkT;dEF9>)@~bg2{wQ=v?!Wdo13NP(c$9 z*VW-42L`R|a55Zkgn#bMX3ep9l#4)pDi}$$w7@?Zse*C%v)ds2S+MytTq+c8fbWh5#r)7xDOIeN`0U`zLd9Cnxp4SAt7rl|xL#M;|F{pcj*a0b^Nu9M*eslsuL= zEpLc)c$V&OoaU>ne==mC&aYd(0?MLJ8V(RM;bp4-7otL*&n$=kwt*1QSvSz1Nd1=9 z3znC%_#UYz|7|+Ol-NGfT+x5nN78?%0h2nhL=%0)^oht6Np*gn^4|)e7Wmf?&BghZ zzX>rTrHHlRB~F^#S}<>JiZ~QnndndaA#b>Mzk+@Na_PpIC(d zW&LY`p-#3FqB_j`hPhVLeTA@NE8DRFGI}b1b*U*ai3`$|%kj07$_p`dKb4o9%Q3%) z$_qEC?NmM>GJIT+u6M$k^xZzl1X?6d4s_qid;1<)W>9!Ovqf4nJ_a!zz1l= zYs^O_)>><+rC05>t=jlqAJiv`^-;B-RxiaztG9|pZ7bHtr7gGIwf0`?%$h~UfcM`0 z$(*(Sz4qE`uf5MX`|NY#rkb;tf+ij{lO3yugSHoFUF&r>?eZUv1|f zOKQ8WIM~(kS#9SP2c3@jOLww%?ay85VU`{bfmHhhXN~SsS8w6rS8BU!4tCdl)>VQ+ zZRak3ZP&B4uF1nMZ+m_>wHt(X_d}!m`)_nXe~pR;IuCfR+0}1179NAeu9`z1Es}kx z-P&Fb-2>-$`Ay$z-T0{9X4Qfk-OiR>>HD#6x3hJ{VHCPbx@!*oAH-0JHr%;lY~2UuF0b$K=`}bf}M+V+J-I%28@6bndUx13RW=+5hTbbboDiUeVjXl@t53a?DqOG5uNW zuIW|7dlYjh*q_y{H85x-P*CMpGC`&e!(5b7*+1Vg+%utGm3V$balYp z;%F9@)B5XI=M@L~AI0hYSvlrWoY9}fBX5yMF^V($x2mr%ne~q@p|y`6hyBPAI{4*l zpRYV%XZF_xGhnOwd7h~4&q{aQ0eipN(?{17vUi#nGhKpJ3Or+Ub-YvCRks(+*mb2@ zCc+)KyXGAVT@|i+u$k@^WpFsqy`XH?Q&;+Sf^*JC1!m4XzdIFeiv-8c4KA-c`)ntY zN=1|DSRx**KRI=3usITIjW&gxP^c3AOSdGWk)~8-YD2uSCDiDQjm6W+aAP8#j;>D! z%O^M&L{sTle02~_wznjb(NriDaxhnsh9aja5s!wP)9B1pSdN7gz+J~w>qiY-X>u)Nv*B1gmNvB=<3_kCacNxU)5#6YjDAPEZAa8I z?nN5ccEplV*AJ{Gn9GyV)@USU^r)FH^V_JP)6!3qzck|dZStwu>Ug9zqu-EBM4B2S z5YxJ1$H_MZejHZkcq5CSssWiyp1%MyUi`^BZa)6{eJ0~6G>1G>o}XU;Lu=K%CCx@H zQ_(wkJra)}YZz1BVb>$cGo~yVu^maiAfxX^VwLrx7asihYxINp7Y~8nTK!89lN?651f0u5=J%u3BHQWm0{>F3Q&5EN**XOQTu1n= z;i`fmaaU>RJ0OzMu<;;+BWU6{tm}9RS7Lb}9cyw5zp)RyWc(?-@DY&nt$fh|ko{J^ z_ySNVv+^Yuf*iDR{VtHp1L8cdaQpI6 z*XJJ%we4t|UyrS}-dBod1IfwL9p7M#Im*)<-w>4jAWwCCLs2dPd5Ys3hH@FmlO10f z%0ZB;9N%!1%LB<-j&B5tRe@x+;~R-$bs(9FIlfUSF9;-?Kpu^9Z6Mju?)Xkbc?IzG zj&BUgD+9?!kb@}KgAT}JQEmw&BOs4Mx!tY_e`CqMkI-0q|%CoWRT@VAPItQ!v22xOUE~@XeD)Uf&*vj*<>ZA5lwPROUj1x$X zossj*uh*Vsg~MeeRW5+F`t3Qr9)VX8e}%mHi^JpZ-Jl;V%) zAkO9zXQ0U}_h1E1*ajxg_Pe0!ph(#9Ecc88g}k1XgBnC`#h^&XdMq4g3TsPEt#dti zQsnit*z5|**2Bge8eQVHgiltB=pNcMaV&;$2H83})phbdl04hTKoG50Q?s3%>XA-X zg4!`T`D9M_zXjJ$*Zr(sVqe^n7iDHeJCkUZND zxW+$55zZ=OybwCjU;GZDalapLP-a-Mj_J@y$M=QXp?6I~@beN0p6yqHqV3STcCxmZ zHotikZRVbZIM=KnXvg?*yyL^BZ2w=D{r`jO%gHbv)|Z#9FDpl4ndcQ$&+AFpP=iu` z(a7!DXYwpCK{Mf+4n~ceB{2RV+wtE;o;elnN${HM;;v&2*H<~6v!<(Y*Lv2=o?T9Y zXL|)KJ#6rLrDsQT^5MDTj6zGEZ<9SIbFJU%8veGuoYSb>j0Jf;^`m2s=R2sL*VF2r zT3L>p>EQR{jm5g($*sIjf@k}wFfewsuR+nk_x#W$5QOD%jjw5H?nw#a;JQ>%cnaH_Mv8;&WiR6Yd>t1n=jJWBE zb-Kd33d>3oJlpZMYn`sJPPb4F*V}nLP4;31m)`!OXYLCpas&PnSIqBrMPIEe=3ku= zZ^?+aX2dnFSa{VKwhPxSNSTt$bCviq4is*3^?k*zSa_x58R$8=xHRA`9$7rlGsss0 z!OR=)1OoE_!MQus@fM#Rm>pOO%Yl62aP2QB^>~W|0W9%AN#Oujtr{k-?-U31{U?AO z6pB!Q2P#vkfGY){lHc0KO2_Ae$$0^+!5Ra~!R#m~EB1JnmSRIEj0MY;KuV^$EzTc4 z2Zn24$TNSq@wMR8;Y&-gFAK`PvuHTh8dP9gDp*>Y2a}+b>QZ*FteI7B2-L&glj2aU zx3qNHa5OTk>uQfP&@&m#m$?Q4rw-3DFq{lPpRmpdsi=G$nduO!jtW6EFb>M%Xi%e| zq1uTd2fH6Hw#tq(CL6@@;xY;T;S&{%i23Coxn;l%k9UJ|p7Se^Jf6Q74}f3uo*vF| zPu30*?H9%3jjbI`(aP3X!;z$NO*9#gwyFZ!VuIZo+G7ISsdQ6Qv^ms*u7V6Z6IO1G zrBH%L0;}ADk3iM{V30vGnoM@IqZVYFq75CZZPhsq9kJGQMJztgcCW}r0W#i6o_(-y z;VDcP=FK16<6rF!%z4ZOrAG3Huxwvd-i*Ny-m%YLddB0f!r*;7_QjU@2QQnRsWf<> z|AoBJ;Ji~nC_Up^{}22f{(JH!p)K!?_~WlMzm3MqS%qu-s}?-6C1XYN4jFn`R|2D_$$GqO7C%VK0SttJs8DtrO=PQY7Oz<;JO=^vvaT!Nrp&2WN(+ zhpK`VZK*_ax}v!?5lKTPo~TGhn<_TKmM-KP+n|}&xvi1pYRp0*Y$St_?ubX{u8zi| z$yg&~Bgw{=x$CQERLqzbtXLhaI2X(|gL0xR29|MnD%um^U^HoYdn+`B3hh`Og;YAy zxTc~#nMg+)(}^TR4)&YP4^(q-+Y}-ow@l3lreMgN#+C@_qbhgV?l;>J;2m8mgSOHg zDQ8`@F&s}gtJ}lL=xUe`(PWBi+tGut(=fzwf?XO}6YXdZr(-a%;c$DTX{M8geRMlq z;2Q3hI~{S{(v3C+jaSz16wIg$OGU98qJwS~bl*-8*i^?Y@pc;ZsZ(G;v(#`dOr8N0 z_03ES!wz+uo!3S(S4HqL9&5Bg;4N(9`ZN|J#Bxr>+8oZ&RK zwL=Hn!tP~)&u%!yS3ysjJK~Muuyr#PZEX&lw;!gJ_C$NQISG@%mYVkrG~L=-o7dVa zQI6Lfwu*U$k?Lq{jKUUUTVyqiTYECP&QAKwdjT^FO|ev@p*8BnamqEvk}wj^nTr>n z9xSgjVX~)o#Z()#$yZLU4pmK?V5z+`(q<9f@;9F6c-EJAMjr3;Z-d)1K1-VCNjR=Y z<%Pv1*XAuAP?(o`22@Ph9ORJ9V*rt19^9mhPqaCzR%ZvD%t+&rGS<)66a z+o}9@Ji6ttx#f>ixp~la%g=So-=cEUj$3}ITYiYj&E5c)d&^z_abFaZ+1}vtyx+U^ z=TP}esN|MEXUc>(HsATg-CvV>UWXc$5MiyU(3ff)7FX=3_5W`?khD3?kpJ_{pSykT@=kF-?VksBd4ZWtPYbfy3g$DI}N7 z+yZtU>6cK~xZQf+l}4-Drbwu`TjF|q#jAS16Qj&lRkE$|QdX5!rL zkBH;Bii!FCAfx^c;_%RJ(o@8HiJw3m4_^BYK@cl?)q?{ocpdvF%6UF|9e6_PBYE9k zW*2(l1xH`WYhQI7QRIc!BRahdU=Z|}letzw<_-8~UYKwJ9pBHv4**9yT%Wf#{+2`E z2Tk^6e{c?d5^%Kt77Yl`EBu0_FFQCt`r>stcoW&*4o6J9W0WL5lb(TiD{Ny9J6m$_ zn{x2mbMSkBV}C2?osPMNgI|y4(BGYdzmkLRA^YE;^Ayi3Oz#liL!9@0|3v&D*v`RZ zuE}u3XG8SU3olME@mBT-;vW(>*LWyDmH0$@rZ(4Y;FF2pNSt4~%qG5)PEda5bSCj4 znh)msj1KUlF|RX1lV`yjT$!tuxhXScZt4`fiog{KFC9hI>C>e0^ejU&vKpC@Wp*a6 z?d-A#+?knGuR6{<;a%%IERYnnZs1gECFeS%++$|DD(2&JOi2KrIE}BB}Sr8NsOFXF4E2|OfNVM;O>w~<49!A_aodq!o+;9 z%{sH`$b3BI&k}qz$#_^JxV!%dY^&hXpYJHn{`^pJzR&k6&i*_hxb){m!Gk2@;cb$+ zU#C<41I5{&PZei>^3VVzw!{7m6kPg)UvRSiSSy;}O2K)Iu;6ULPZIj81m`xfI4U@< zg*e?H_$dtG$k!(&_~X3_=VyJ$<}L%vrq2|F5_@O@UdhA4|u)BgvHX&vjvxa zeob-qvtDst_azi(Kd%&A`q?eG^z%-^Cm4_I&u+md3jT)RrwRV4;BtI%BNP+HfzM6M z2L+e$nJGBNXBjF(S|WJJBJ+ER;Jo(4f{i)&R>9F_UN3JK9NUec5lBB0ywW1``;_42 zg1;`f`#MUlk#l_<0kDa7F@QQ5FG8VC0iR5=XuqscnLNH=|;uJ zTkQN$a5=A@7hJ~wBf+IVpDWJ(99BF?{uEQShMAv_EqNN0G0S zXDZJA{FCDBPrc&oPeO3%Pp9Dc?8fP4!BN~y1v?aHe}1Ak`}1?f*`MbGm;SsXxSUsi z6nq>z2}k>7U?%=Nug1~(lE;PpoTPXajpJ;^+0U~CmwsL%xQyFc!O`W-;BuY$Q^BP_4=B$5JfZkD z^5<8Ivp>HTT>A5g;Bs94t~j?_KwByte{OfM;@s{@g3ETR1P@Z|@vvBM^oOt8=P1tp zd|h$&r&)3Kr$cb*PnY2GJo>KS=+9l~B&6FFXMgTdoc(!JarWm0!KFX@1()|(4?Uk_ z{7*8T*q>s-**2Dp6@0qTuNGY17nTV=Md+^;T+YwS6z4c>QG5r@&zlryUvC#&#^E8s z<@|h7ac=ho#kt)#6z6t75L~wVh2TLEhoXSZ@cifbS*keuGg@)>XOiOV&uqb^Kj#WA z=Vw@OIX`2Hvp*@t*`KQwXMcJGm;T%-_yiH3Cj_4;_#1+k3yvR^Vbb&Ykl^w;V%+f= zeK`*&DbD?!p?ELN!y3i8zZVED``aS8oQFxpx!ubZ=XSdl=XP%uT(_IaO*^?y&}^#`SY zDcS#2agGn4v~1^X(jQ3eGk=cwFvVXce@;~V9LoPzakPi&ABta3c8=pC=-~CIhw@_; zzlHMro`(ILOMI5nUqbEGDE<$022zXScTzsB_}!G>ta!UM zzfb9}qx{FhK3+QczJE|~bTLdf*YlM=$G=f=j(g@H97G(=Vt@HNg$YWZ{hX;d`?*lq!Fcli&H-r={9A@OY@TV>sX)rwOiSFgU0a{#ks$43j5gKDjJvf z1V=yXs9m{_hrEUOKa~Ex!~=Am@wohgc$wmF5T8w)`*j*N0%@Vr-$VUcsq{Gxyf4Rg zxWDbf4)!-l{oNoqHd&5^kgipH8gahfaKAPZ-=Xxk5|{gRX#Z8>4=eo-i9f6O7sUUA zIQNU+9lojb`8y!K&apnn$2?$xAIv#E$02}({lX?oC_bfvqyKkP{DX?WN<2gy4|v^s zlg4qH(&zW2ydTK=d+EGhrR@AO@szSNgWBD!_&LORKalNjB7UpV=XL*m#95!)eNpMJ zAb(z0oY(#DD}D{>f2w#dabAz`yn2!N09qF?f0y_O#d)2Le@cc4o5A?w|EmboJf+Xy z!PO~!?r)>wt7#n9D$eugGGQO*4}Vv1jo@g4pVQ^OAM$UL{o9oO&xrq2@t272RQx^S zzfhc?1AndfM2hF<#5rycgHM#e$TkJ9J z=Xidf;<-%ellxAC(&u=#E6)2-S1Qi&yiVB1c9!c{2wO5=ULB zzd&)muGTBg_m|Cz^Zj~<;=FFzr8uvz-cg*_hi0J%W$fo38ZTZKGw0`y1vHPC^K(|c z;{2R=jpF>Adxzq@U-7i!ypQyr;=G^6=QsPq_YWtO+R&DcG{7;Pw8s{f;G^M4$oySm zs40?;IH3mk+p=QL-0qY_K!NLQnUsBJ`Vqk@_(CxU;snJ^Ox-{AVL3;JB5?g%>Sqa zho1GhVEtq(Ef{EzgW!O5>2c4jEwSVj;&eJ9GKueFoadu%e-ad+&97P?-9(!>4`kx@ zpHL0*`OLcbr}0X~6jjon|uxQ<@Z z^7}(%n6&Q2eK6EpLmypKVMZifePv<)*JJ)8Vk%6|HmV;~1>AqG|3eV^ir-#}-)3qMvLSOSTz9z z_GKrSgVRp&D}^k6C#37+oY3bk)(p}H1%HQ*43q9ZUS9gDzY-@lq+WY)e|7!;0lkwD A3jhEB diff --git a/threads/build/threads/thread.o b/threads/build/threads/thread.o index bcdc704dc64b22347c682da141f9b60925c3942e..1348dab258180bcec2f39514110f66cb8be8eb93 100644 GIT binary patch delta 6649 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 TLxkjZ#7Nd7L2?L!_Xhq4)<=;2 diff --git a/threads/synch.c b/threads/synch.c index 402943e..1c15a3c 100644 --- a/threads/synch.c +++ b/threads/synch.c @@ -43,10 +43,10 @@ thread, if any). */ void sema_init (struct semaphore *sema, unsigned value) { - ASSERT (sema != NULL); + ASSERT (sema != NULL); - sema->value = value; - list_init (&sema->waiters); + sema->value = value; + list_init (&sema->waiters); } /* Down or "P" operation on a semaphore. Waits for SEMA's value @@ -59,20 +59,20 @@ sema_init (struct semaphore *sema, unsigned value) { sema_down function. */ void sema_down (struct semaphore *sema) { - enum intr_level old_level; - - ASSERT (sema != NULL); - ASSERT (!intr_context ()); - - old_level = intr_disable (); - while (sema->value == 0) { - // Semaphore를 얻고 writers 리스트 삽입 시, 우선순위대로 삽입되도록 수정 - list_insert_ordered(&sema->waiters, &thread_current()->elem, cmp_sem_priority, NULL); - //list_push_back (&sema->waiters, &thread_current ()->elem); - thread_block (); - } - sema->value--; - intr_set_level (old_level); + enum intr_level old_level; + + ASSERT (sema != NULL); + ASSERT (!intr_context ()); + + old_level = intr_disable (); + while (sema->value == 0) { + // Semaphore를 얻고 writers 리스트 삽입 시, 우선순위대로 삽입되도록 수정 + list_insert_ordered(&sema->waiters, &thread_current()->elem, cmp_priority, NULL); + //list_push_back (&sema->waiters, &thread_current ()->elem); + thread_block (); + } + sema->value--; + intr_set_level (old_level); } /* Down or "P" operation on a semaphore, but only if the @@ -82,22 +82,22 @@ sema_down (struct semaphore *sema) { This function may be called from an interrupt handler. */ bool sema_try_down (struct semaphore *sema) { - enum intr_level old_level; - bool success; - - ASSERT (sema != NULL); - - old_level = intr_disable (); - if (sema->value > 0) - { - sema->value--; - success = true; - } - else - success = false; - intr_set_level (old_level); - - return success; + enum intr_level old_level; + bool success; + + ASSERT (sema != NULL); + + old_level = intr_disable (); + if (sema->value > 0) + { + sema->value--; + success = true; + } + else + success = false; + intr_set_level (old_level); + + return success; } /* Up or "V" operation on a semaphore. Increments SEMA's value @@ -106,20 +106,22 @@ sema_try_down (struct semaphore *sema) { This function may be called from an interrupt handler. */ void sema_up (struct semaphore *sema) { - enum intr_level old_level; - - ASSERT (sema != NULL); - - old_level = intr_disable (); - if (!list_empty (&sema->waiters)) - /* waiter list에 있는 쓰레드의 우선순위가 변경 되었을 경우를 고려하여 - waiter list를 정렬 (list_sort)*/ - thread_unblock (list_entry (list_pop_front (&sema->waiters), - struct thread, elem)); - list_sort(&sema->waiters,cmp_sem_priority,NULL); - /*priority preemption 기능 추가 (구현중)*/ - sema->value++; - intr_set_level (old_level); + enum intr_level old_level; + + ASSERT (sema != NULL); + + old_level = intr_disable (); + if (!list_empty (&sema->waiters)){ + list_sort(&sema->waiters,cmp_priority,NULL); + /* waiter list에 있는 쓰레드의 우선순위가 변경 되었을 경우를 고려하여 + waiter list를 정렬 (list_sort)*/ + thread_unblock (list_entry (list_pop_front (&sema->waiters), + struct thread, elem)); + /*priority preemption 기능 추가 (구현중)*/ + } + sema->value++; + test_max_priority(); + intr_set_level (old_level); } static void sema_test_helper (void *sema_); @@ -129,32 +131,32 @@ static void sema_test_helper (void *sema_); what's going on. */ void sema_self_test (void) { - struct semaphore sema[2]; - int i; - - printf ("Testing semaphores..."); - sema_init (&sema[0], 0); - sema_init (&sema[1], 0); - thread_create ("sema-test", PRI_DEFAULT, sema_test_helper, &sema); - for (i = 0; i < 10; i++) - { - sema_up (&sema[0]); - sema_down (&sema[1]); - } - printf ("done.\n"); + struct semaphore sema[2]; + int i; + + printf ("Testing semaphores..."); + sema_init (&sema[0], 0); + sema_init (&sema[1], 0); + thread_create ("sema-test", PRI_DEFAULT, sema_test_helper, &sema); + for (i = 0; i < 10; i++) + { + sema_up (&sema[0]); + sema_down (&sema[1]); + } + printf ("done.\n"); } /* Thread function used by sema_self_test(). */ static void sema_test_helper (void *sema_) { - struct semaphore *sema = sema_; - int i; - - for (i = 0; i < 10; i++) - { - sema_down (&sema[0]); - sema_up (&sema[1]); - } + struct semaphore *sema = sema_; + int i; + + for (i = 0; i < 10; i++) + { + sema_down (&sema[0]); + sema_up (&sema[1]); + } } /* Initializes LOCK. A lock can be held by at most a single @@ -174,10 +176,10 @@ sema_test_helper (void *sema_) { instead of a lock. */ void lock_init (struct lock *lock) { - ASSERT (lock != NULL); + ASSERT (lock != NULL); - lock->holder = NULL; - sema_init (&lock->semaphore, 1); + lock->holder = NULL; + sema_init (&lock->semaphore, 1); } /* Acquires LOCK, sleeping until it becomes available if @@ -190,12 +192,12 @@ lock_init (struct lock *lock) { we need to sleep. */ void lock_acquire (struct lock *lock) { - ASSERT (lock != NULL); - ASSERT (!intr_context ()); - ASSERT (!lock_held_by_current_thread (lock)); + ASSERT (lock != NULL); + ASSERT (!intr_context ()); + ASSERT (!lock_held_by_current_thread (lock)); - sema_down (&lock->semaphore); - lock->holder = thread_current (); + sema_down (&lock->semaphore); + lock->holder = thread_current (); } /* Tries to acquires LOCK and returns true if successful or false @@ -206,15 +208,15 @@ lock_acquire (struct lock *lock) { interrupt handler. */ bool lock_try_acquire (struct lock *lock) { - bool success; + bool success; - ASSERT (lock != NULL); - ASSERT (!lock_held_by_current_thread (lock)); + ASSERT (lock != NULL); + ASSERT (!lock_held_by_current_thread (lock)); - success = sema_try_down (&lock->semaphore); - if (success) - lock->holder = thread_current (); - return success; + success = sema_try_down (&lock->semaphore); + if (success) + lock->holder = thread_current (); + return success; } /* Releases LOCK, which must be owned by the current thread. @@ -225,11 +227,11 @@ lock_try_acquire (struct lock *lock) { handler. */ void lock_release (struct lock *lock) { - ASSERT (lock != NULL); - ASSERT (lock_held_by_current_thread (lock)); + ASSERT (lock != NULL); + ASSERT (lock_held_by_current_thread (lock)); - lock->holder = NULL; - sema_up (&lock->semaphore); + lock->holder = NULL; + sema_up (&lock->semaphore); } /* Returns true if the current thread holds LOCK, false @@ -237,15 +239,15 @@ lock_release (struct lock *lock) { a lock would be racy.) */ bool lock_held_by_current_thread (const struct lock *lock) { - ASSERT (lock != NULL); + ASSERT (lock != NULL); - return lock->holder == thread_current (); + return lock->holder == thread_current (); } /* One semaphore in a list. */ struct semaphore_elem { - struct list_elem elem; /* List element. */ - struct semaphore semaphore; /* This semaphore. */ + struct list_elem elem; /* List element. */ + struct semaphore semaphore; /* This semaphore. */ }; /* Initializes condition variable COND. A condition variable @@ -253,9 +255,9 @@ struct semaphore_elem { code to receive the signal and act upon it. */ void cond_init (struct condition *cond) { - ASSERT (cond != NULL); + ASSERT (cond != NULL); - list_init (&cond->waiters); + list_init (&cond->waiters); } /* Atomically releases LOCK and waits for COND to be signaled by @@ -280,20 +282,20 @@ cond_init (struct condition *cond) { we need to sleep. */ void cond_wait (struct condition *cond, struct lock *lock) { - struct semaphore_elem waiter; + struct semaphore_elem waiter; - ASSERT (cond != NULL); - ASSERT (lock != NULL); - ASSERT (!intr_context ()); - ASSERT (lock_held_by_current_thread (lock)); + ASSERT (cond != NULL); + ASSERT (lock != NULL); + ASSERT (!intr_context ()); + ASSERT (lock_held_by_current_thread (lock)); - sema_init (&waiter.semaphore, 0); + sema_init (&waiter.semaphore, 0); - list_insert_ordered(&cond->waiters, &waiter.elem, cmp_sem_priority, NULL); - //list_push_back (&cond->waiters, &waiter.elem); - lock_release (lock); - sema_down (&waiter.semaphore); - lock_acquire (lock); + list_insert_ordered(&cond->waiters, &waiter.elem, cmp_sem_priority, NULL); + //list_push_back (&cond->waiters, &waiter.elem); + lock_release (lock); + sema_down (&waiter.semaphore); + lock_acquire (lock); } /* If any threads are waiting on COND (protected by LOCK), then @@ -305,15 +307,16 @@ cond_wait (struct condition *cond, struct lock *lock) { interrupt handler. */ void cond_signal (struct condition *cond, struct lock *lock UNUSED) { - ASSERT (cond != NULL); - ASSERT (lock != NULL); - ASSERT (!intr_context ()); - ASSERT (lock_held_by_current_thread (lock)); - - if (!list_empty (&cond->waiters)) - sema_up (&list_entry (list_pop_front (&cond->waiters), - struct semaphore_elem, elem)->semaphore); - list_sort(&cond->waiters, cmp_sem_priority, NULL); + ASSERT (cond != NULL); + ASSERT (lock != NULL); + ASSERT (!intr_context ()); + ASSERT (lock_held_by_current_thread (lock)); + + if (!list_empty (&cond->waiters)){ + list_sort(&cond->waiters, cmp_sem_priority, NULL); + sema_up (&list_entry (list_pop_front (&cond->waiters), + struct semaphore_elem, elem)->semaphore); + } } /* Wakes up all threads, if any, waiting on COND (protected by @@ -324,18 +327,22 @@ cond_signal (struct condition *cond, struct lock *lock UNUSED) { interrupt handler. */ void cond_broadcast (struct condition *cond, struct lock *lock) { - ASSERT (cond != NULL); - ASSERT (lock != NULL); + ASSERT (cond != NULL); + ASSERT (lock != NULL); - while (!list_empty (&cond->waiters)) - cond_signal (cond, lock); + while (!list_empty (&cond->waiters)) + cond_signal (cond, lock); } -bool cmp_sem_priority(const struct list_elem *a_, const struct list_elem *b_, void *aux UNUSED){ - struct thread *first = list_entry(a_, struct thread, elem); - struct thread *second = list_entry(b_, struct thread, elem); - if (first->priority > second->priority){ - return 1; - } - return 0; +bool cmp_sem_priority(const struct list_elem *a, const struct list_elem *b, void *aux UNUSED){ + struct semaphore_elem *sa = list_entry(a, struct semaphore_elem, elem); + struct semaphore_elem *sb = list_entry(b, struct semaphore_elem, elem); + + struct list_elem *waiting_a = &(sa->semaphore.waiters); + struct list_elem *waiting_b = &(sb->semaphore.waiters); + + struct thread *first = list_entry(list_begin(waiting_a), struct thread, elem); + struct thread *second = list_entry(list_begin(waiting_b), struct thread, elem); + + return (first->priority > second->priority); } \ No newline at end of file diff --git a/threads/thread.c b/threads/thread.c index acbd57e..3a1c85b 100644 --- a/threads/thread.c +++ b/threads/thread.c @@ -658,17 +658,13 @@ int64_t get_next_tick_to_awake(void){ void test_max_priority(void){ struct list_elem *cur_elem; - cur_elem = list_begin(&ready_list); - struct thread *thr = list_entry(cur_elem, struct thread, elem); - struct thread *curr; - - curr = thread_current(); - - if (curr->priority < thr->priority){ - thread_yield(); + if (!list_empty(&ready_list)){ + if (thread_current()->priority < thr->priority){ + thread_yield(); + } } } @@ -676,6 +672,7 @@ bool cmp_priority(const struct list_elem *a_, const struct list_elem *b_, void *aux UNUSED){ struct thread *first = list_entry(a_, struct thread, elem); struct thread *second = list_entry(b_, struct thread, elem); + if (first->priority > second->priority){ return 1; } From 07ab1667d804f225cdfaa4554eea32e8b05a27a4 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Thu, 1 Jun 2023 08:04:25 +0000 Subject: [PATCH 4/5] :sparkles: Add : priority donation --- include/threads/thread.h | 12 + threads/build/devices/intq.o | Bin 15624 -> 15840 bytes threads/build/devices/serial.o | Bin 17552 -> 17768 bytes threads/build/devices/timer.o | Bin 15248 -> 15248 bytes threads/build/kernel.bin | Bin 135168 -> 135168 bytes threads/build/kernel.o | Bin 2415144 -> 2417168 bytes threads/build/os.dsk | Bin 135680 -> 135680 bytes threads/build/results | 27 + .../build/tests/threads/alarm-multiple.errors | 1 + .../build/tests/threads/alarm-multiple.output | 57 ++ .../build/tests/threads/alarm-multiple.result | 1 + .../build/tests/threads/alarm-negative.errors | 1 + threads/build/tests/threads/alarm-negative.o | Bin 3840 -> 3840 bytes .../build/tests/threads/alarm-negative.output | 18 + .../build/tests/threads/alarm-negative.result | 1 + .../build/tests/threads/alarm-priority.errors | 1 + threads/build/tests/threads/alarm-priority.o | Bin 8624 -> 8624 bytes .../build/tests/threads/alarm-priority.output | 27 + .../build/tests/threads/alarm-priority.result | 1 + .../tests/threads/alarm-simultaneous.errors | 1 + .../build/tests/threads/alarm-simultaneous.o | Bin 9600 -> 9600 bytes .../tests/threads/alarm-simultaneous.output | 35 ++ .../tests/threads/alarm-simultaneous.result | 1 + .../build/tests/threads/alarm-single.errors | 1 + .../build/tests/threads/alarm-single.output | 27 + .../build/tests/threads/alarm-single.result | 1 + threads/build/tests/threads/alarm-wait.o | Bin 14328 -> 14544 bytes threads/build/tests/threads/alarm-zero.errors | 1 + threads/build/tests/threads/alarm-zero.o | Bin 3824 -> 3824 bytes threads/build/tests/threads/alarm-zero.output | 18 + threads/build/tests/threads/alarm-zero.result | 1 + .../tests/threads/mlfqs/mlfqs-block.errors | 1 + .../build/tests/threads/mlfqs/mlfqs-block.o | Bin 10336 -> 10544 bytes .../tests/threads/mlfqs/mlfqs-block.output | 24 + .../tests/threads/mlfqs/mlfqs-block.result | 25 + .../tests/threads/mlfqs/mlfqs-fair-2.errors | 1 + .../tests/threads/mlfqs/mlfqs-fair-2.output | 22 + .../tests/threads/mlfqs/mlfqs-fair-2.result | 1 + .../tests/threads/mlfqs/mlfqs-fair-20.errors | 1 + .../tests/threads/mlfqs/mlfqs-fair-20.output | 40 ++ .../tests/threads/mlfqs/mlfqs-fair-20.result | 1 + .../build/tests/threads/mlfqs/mlfqs-fair.o | Bin 10960 -> 10960 bytes .../tests/threads/mlfqs/mlfqs-load-1.errors | 1 + .../build/tests/threads/mlfqs/mlfqs-load-1.o | Bin 8000 -> 8000 bytes .../tests/threads/mlfqs/mlfqs-load-1.output | 20 + .../tests/threads/mlfqs/mlfqs-load-1.result | 11 + .../tests/threads/mlfqs/mlfqs-load-60.errors | 1 + .../build/tests/threads/mlfqs/mlfqs-load-60.o | Bin 8544 -> 8544 bytes .../tests/threads/mlfqs/mlfqs-load-60.output | 109 ++++ .../tests/threads/mlfqs/mlfqs-load-60.result | 93 +++ .../tests/threads/mlfqs/mlfqs-load-avg.errors | 1 + .../tests/threads/mlfqs/mlfqs-load-avg.o | Bin 8664 -> 8664 bytes .../tests/threads/mlfqs/mlfqs-load-avg.output | 109 ++++ .../tests/threads/mlfqs/mlfqs-load-avg.result | 93 +++ .../tests/threads/mlfqs/mlfqs-nice-10.errors | 1 + .../tests/threads/mlfqs/mlfqs-nice-10.output | 30 + .../tests/threads/mlfqs/mlfqs-nice-10.result | 14 + .../tests/threads/mlfqs/mlfqs-nice-2.errors | 1 + .../tests/threads/mlfqs/mlfqs-nice-2.output | 22 + .../tests/threads/mlfqs/mlfqs-nice-2.result | 6 + .../tests/threads/mlfqs/mlfqs-recent-1.errors | 1 + .../tests/threads/mlfqs/mlfqs-recent-1.o | Bin 7168 -> 7168 bytes .../tests/threads/mlfqs/mlfqs-recent-1.output | 108 ++++ .../tests/threads/mlfqs/mlfqs-recent-1.result | 93 +++ .../tests/threads/priority-change.errors | 1 + threads/build/tests/threads/priority-change.o | Bin 6216 -> 6216 bytes .../tests/threads/priority-change.output | 22 + .../tests/threads/priority-change.result | 1 + .../tests/threads/priority-condvar.errors | 1 + .../build/tests/threads/priority-condvar.o | Bin 10824 -> 11040 bytes .../tests/threads/priority-condvar.output | 47 ++ .../tests/threads/priority-condvar.result | 1 + .../threads/priority-donate-chain.errors | 1 + .../tests/threads/priority-donate-chain.o | Bin 12464 -> 12672 bytes .../threads/priority-donate-chain.output | 54 ++ .../threads/priority-donate-chain.result | 1 + .../threads/priority-donate-lower.errors | 1 + .../tests/threads/priority-donate-lower.o | Bin 10288 -> 10496 bytes .../threads/priority-donate-lower.output | 24 + .../threads/priority-donate-lower.result | 1 + .../threads/priority-donate-multiple.errors | 1 + .../tests/threads/priority-donate-multiple.o | Bin 11424 -> 11632 bytes .../threads/priority-donate-multiple.output | 27 + .../threads/priority-donate-multiple.result | 1 + .../threads/priority-donate-multiple2.errors | 1 + .../tests/threads/priority-donate-multiple2.o | Bin 11824 -> 12032 bytes .../threads/priority-donate-multiple2.output | 27 + .../threads/priority-donate-multiple2.result | 1 + .../tests/threads/priority-donate-nest.errors | 1 + .../tests/threads/priority-donate-nest.o | Bin 12144 -> 12360 bytes .../tests/threads/priority-donate-nest.output | 27 + .../tests/threads/priority-donate-nest.result | 1 + .../tests/threads/priority-donate-one.errors | 1 + .../build/tests/threads/priority-donate-one.o | Bin 10840 -> 11056 bytes .../tests/threads/priority-donate-one.output | 25 + .../tests/threads/priority-donate-one.result | 1 + .../tests/threads/priority-donate-sema.errors | 1 + .../tests/threads/priority-donate-sema.o | Bin 11400 -> 11616 bytes .../tests/threads/priority-donate-sema.output | 24 + .../tests/threads/priority-donate-sema.result | 1 + .../build/tests/threads/priority-fifo.errors | 1 + threads/build/tests/threads/priority-fifo.o | Bin 12336 -> 12552 bytes .../build/tests/threads/priority-fifo.output | 35 ++ .../build/tests/threads/priority-fifo.result | 1 + .../tests/threads/priority-preempt.errors | 1 + .../build/tests/threads/priority-preempt.o | Bin 6640 -> 6640 bytes .../tests/threads/priority-preempt.output | 24 + .../tests/threads/priority-preempt.result | 1 + .../build/tests/threads/priority-sema.errors | 1 + threads/build/tests/threads/priority-sema.o | Bin 7672 -> 7672 bytes .../build/tests/threads/priority-sema.output | 37 ++ .../build/tests/threads/priority-sema.result | 1 + threads/build/threads/init.o | Bin 20304 -> 20304 bytes threads/build/threads/interrupt.o | Bin 26408 -> 26408 bytes threads/build/threads/intr-stubs.o | Bin 39176 -> 39176 bytes threads/build/threads/loader.o | Bin 5632 -> 5632 bytes threads/build/threads/mmu.o | Bin 24216 -> 24216 bytes threads/build/threads/start.o | Bin 30720 -> 30720 bytes threads/build/threads/synch.o | Bin 26104 -> 27360 bytes threads/build/threads/thread.o | Bin 37976 -> 40936 bytes threads/synch.c | 16 +- threads/thread.c | 592 ++++++++++-------- 122 files changed, 1815 insertions(+), 253 deletions(-) create mode 100644 threads/build/results create mode 100644 threads/build/tests/threads/alarm-multiple.errors create mode 100644 threads/build/tests/threads/alarm-multiple.output create mode 100644 threads/build/tests/threads/alarm-multiple.result create mode 100644 threads/build/tests/threads/alarm-negative.errors create mode 100644 threads/build/tests/threads/alarm-negative.output create mode 100644 threads/build/tests/threads/alarm-negative.result create mode 100644 threads/build/tests/threads/alarm-priority.errors create mode 100644 threads/build/tests/threads/alarm-priority.output create mode 100644 threads/build/tests/threads/alarm-priority.result create mode 100644 threads/build/tests/threads/alarm-simultaneous.errors create mode 100644 threads/build/tests/threads/alarm-simultaneous.output create mode 100644 threads/build/tests/threads/alarm-simultaneous.result create mode 100644 threads/build/tests/threads/alarm-single.errors create mode 100644 threads/build/tests/threads/alarm-single.output create mode 100644 threads/build/tests/threads/alarm-single.result create mode 100644 threads/build/tests/threads/alarm-zero.errors create mode 100644 threads/build/tests/threads/alarm-zero.output create mode 100644 threads/build/tests/threads/alarm-zero.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-block.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-block.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-block.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-fair-2.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-fair-2.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-fair-2.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-fair-20.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-fair-20.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-fair-20.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-1.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-60.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-avg.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-avg.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-load-avg.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-nice-10.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-nice-10.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-nice-10.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-nice-2.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-nice-2.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-nice-2.result create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-recent-1.errors create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-recent-1.output create mode 100644 threads/build/tests/threads/mlfqs/mlfqs-recent-1.result create mode 100644 threads/build/tests/threads/priority-change.errors create mode 100644 threads/build/tests/threads/priority-change.output create mode 100644 threads/build/tests/threads/priority-change.result create mode 100644 threads/build/tests/threads/priority-condvar.errors create mode 100644 threads/build/tests/threads/priority-condvar.output create mode 100644 threads/build/tests/threads/priority-condvar.result create mode 100644 threads/build/tests/threads/priority-donate-chain.errors create mode 100644 threads/build/tests/threads/priority-donate-chain.output create mode 100644 threads/build/tests/threads/priority-donate-chain.result create mode 100644 threads/build/tests/threads/priority-donate-lower.errors create mode 100644 threads/build/tests/threads/priority-donate-lower.output create mode 100644 threads/build/tests/threads/priority-donate-lower.result create mode 100644 threads/build/tests/threads/priority-donate-multiple.errors create mode 100644 threads/build/tests/threads/priority-donate-multiple.output create mode 100644 threads/build/tests/threads/priority-donate-multiple.result create mode 100644 threads/build/tests/threads/priority-donate-multiple2.errors create mode 100644 threads/build/tests/threads/priority-donate-multiple2.output create mode 100644 threads/build/tests/threads/priority-donate-multiple2.result create mode 100644 threads/build/tests/threads/priority-donate-nest.errors create mode 100644 threads/build/tests/threads/priority-donate-nest.output create mode 100644 threads/build/tests/threads/priority-donate-nest.result create mode 100644 threads/build/tests/threads/priority-donate-one.errors create mode 100644 threads/build/tests/threads/priority-donate-one.output create mode 100644 threads/build/tests/threads/priority-donate-one.result create mode 100644 threads/build/tests/threads/priority-donate-sema.errors create mode 100644 threads/build/tests/threads/priority-donate-sema.output create mode 100644 threads/build/tests/threads/priority-donate-sema.result create mode 100644 threads/build/tests/threads/priority-fifo.errors create mode 100644 threads/build/tests/threads/priority-fifo.output create mode 100644 threads/build/tests/threads/priority-fifo.result create mode 100644 threads/build/tests/threads/priority-preempt.errors create mode 100644 threads/build/tests/threads/priority-preempt.output create mode 100644 threads/build/tests/threads/priority-preempt.result create mode 100644 threads/build/tests/threads/priority-sema.errors create mode 100644 threads/build/tests/threads/priority-sema.output create mode 100644 threads/build/tests/threads/priority-sema.result diff --git a/include/threads/thread.h b/include/threads/thread.h index 8a2a0d3..aecd4c4 100644 --- a/include/threads/thread.h +++ b/include/threads/thread.h @@ -94,6 +94,11 @@ struct thread { int64_t wakeup_tick; /* 해당 쓰레드가 깨어나야 할 tick을 저장할 필드 */ /* Shared between thread.c and synch.c. */ struct list_elem elem; /* List element. */ + /*priority donation 관련 항목 추가*/ + int init_priority; /* donation 이후 우선순위를 초기화하기 위해 초기값 저장 */ + struct lock *wait_on_lock; /* 해당 스레드가 대기 하고 있는 lock자료구조의 주소를 저장 */ + struct list donations; /* multiple donation 을 고려하기 위해 사용 */ + struct list_elem donation_elem; /* multiple donation 을 고려하기 위해 사용 */ #ifdef USERPROG /* Owned by userprog/process.c. */ @@ -151,4 +156,11 @@ int64_t get_next_tick_to_awake(void); void test_max_priority(void); bool cmp_priority(const struct list_elem *a, const struct list_elem *b, void *aux UNUSED); +void donate_priority(void); +void remove_with_lock(struct lock *lock); +void refresh_priority(void); + +bool +thread_compare_donate_priority(const struct list_elem *x, const struct list_elem *y, void *aux UNUSED); + #endif /* threads/thread.h */ diff --git a/threads/build/devices/intq.o b/threads/build/devices/intq.o index e7a08b3a5485a24f8a66450759d7c278f6f948b3..46633600028ef70d4845a65e61913f97525a3445 100644 GIT binary patch delta 4859 zcmcImeN0=|6~EVjF&H}-1CIx30$n-?WEiJ>IKbl2ZW^SMTBLp?Yc^xP5-$V-aaP(& zI0;eOR9P2xwm&jasf;Poq-rgt>(*9_T6K+*D$$Cju1Y6WW$M&+TDN8C{@4~RJLkRg z9_BPi+oWB|_Bp@bIp?0=x!2Er{E_z`JzeK{I<`>1$EQ<^kNIwR;?LzMr3&z+@{9`} zrF_ay&JOL}MU*d{8dTn|?aW2Yit;{KjdreW@3{}&@YiK*r@sSZVzxanjzK$YdvF%Z zcH8#QINJMs>0#v^KdzOUETYZ46VsHcRiUp0_sl2k@%#!u*09p@D?heffS^JjHBwBzck(qfLuBecdZ)DkCDGEeRam)X94Rt9GyB38+*f0H zeWm2Jpp;lc05&@?ezPym``y`HxJuLx(j`zx6nru3XWj!w4Ei%s{*xX zhu~D8B6A%r>a%xMpS{_A7NP#n_NnT#J6qM}e<5J|%@wp{*S4;aC4oAzB;=|9HC_(M z;QG=oL`x2i9a4HHowR3WL>Vv>tjGj$LZq#Im9}=e0-l*c>kKwv$W64Ztzd1{cV+k7 ziQQ#fZTDwWtIjQiy}Mz@@RaPcqP8rd1u8%)Dv(fm6Ls#agYH$Mf+Ta3EpwMiA^Ns^ zGx*_|8T-HMbo*Z=v)_mNyVPfO+L9{iOXRE*Z0OlNc+p8xB^mhb`JXgo6zz&%0eX(u z+l8~Y`eMM(7@+a z4?dWJTK9xC8tZD%k6_Qm&2C)W?8FNdf~gXttt3z7`0R8K4m6A|S0lHSl6u0;COKs% zk7*UsQLI`HmrBe$qfy6AI8sukE4~}9DmGVkpzzAYhVXt*(b#A*of;cW42=vOfTznI zDtaiHN+%E)85`IS<>eO(207#qyjOnRKRDEXcyHohax^snSB!7?Q==Gua3VD}ky>o7 z@ax4L=6vq%mfKY#F?@J*AdzT{##-9c=+I<38*1IEXd`tfwRbc*lFhU=WqYycDzA01 zbHgQHRPi^_`YpiYE5sK)?)`kVodb68Ct+LdSM&fJt&QksV4>D9f5a8;#l?u_PF0)LzR-wON|_OA)t zIlLPdj*n+&ic#LUhR@!?-(h821wO^fVgkR;8*Uf)dyIc68>fH17nryUy1rnT`?6_d zU+3*7VI0|M!On6MC*kPljGku%`#k5qEbu?D)L$}AVfag+5*&XSbfaOuo5fN>HT{s{ z`VgXxM&?t&rkK@K2p5&2tY;Yy3Vez2FEZ|o`=6AI>rN5h&-)GAc)fdWj>xnqw!Q5q69CON{Tg@s%-s!nf>UQOFt7G>kVH<|$F`V=i|F=8!!r z*iNpw2usMmD%kHci?=C?w@I+)nZ?@_#oHvv+I(@5C(%9xySq_PUpk?r6@6L1y9WU^SA&@0TIf|{*{c}B1S9^zT(MRrlJ+nIe8 zjv{+mu!GFL3kzF~%!h(K&+OkAcgFEo9_|eh{~MYmu3PcXDJ>`7QN4w6l0&MSSXYaU z*SqKNC(6ckM^*y$66J)uVf=Q(91z=7Svg7_fH`DO3)X4k2e5?fyr?|MxzB-aHq2j( z+!H*AD-dlqc3&5{8#%X-{#@g7WIw`V3a){d3H%()v>2IlyjQhgzik&+o7TV^1m4PZ zB5UBS0>5C-Hlx~aPN*({|BDaf%WL3Y75F>c&^>G54_J7^%KYBsga<`}gZIO7i=l_< zeX+Rp9*?JQ<6?iztMvg$ZEGvoRclY|H2fI7Yy2Jl4t%_=O&^1r_PG8ClKB2S%(chi z{Z1cz)E+B*l>bVHbD_SYRX+*Ij=26g%vtZt9dS=n8{FEtUB3m%&bX(01N;!3zrb>5 G?Y{x>+0R%2 delta 4628 zcmbVPeQZ=!7Qc7ePN(g(beNVmua-h1NGT1|Ded%=PD^5N)IX?EgMw)(U#nK2P~xJ* zp~AAV8x!k^b+e*LWj9g$!%9v3*i}-ISdDSF8YByGw>6rryNiJCMsyS1bKX05`sOT6 zcD>2Wob&sgd+zU?d*8=QJ^082k5&058egj37|?ZNKM(xiOQf=tQhE4MIo5LA%4n7q?>g0oSf1`;ZF$4C%sK z(Y}~vDOGe2W=yCY^i^*5LHza?+3<33S*oxerPId=nWuc(PeDO~=8@&!GmdkM$<#gc zO``&9p`nj{hH;^Oq{#3M{bara_x#QAdcsZ=E}MsP+)-kT4+Bb-q>T3odB$1cb>6@R zrJ0Pd84SZFQmOd?>P=xQE=yH9#rRe568f(6E|a@EE&VhGrbv5NhW0M6_A^)4{F-w-*QlK+F9gf zGPd`eH|!?bOs95|<Z^bXe@EbtqM-eD@joXs%wc`*ZPRVE_LhL`J?Lkf69tq zy{?Sy{_nahc(AzqmZiAYB)yCbyn23|Sjvu90Np?=_@cNxb(qtJy=jLL{9pFgZ8=3d zEzeg$O6Q&`_uhxA^-zy-=%aMtse}SPRoIO!E>}%w*LH2CvI^5?pg3*%Q)x5nhP3G) zoHZXxn>p9anhR~12_37sP9?Erg<2=W8jYe#^rI+pUcJgHYAI+fNQM)38%`@;si8Jp z+7-%CSpk>u;W?R)F2|7@rfJD=y-iNZk%zSk=@{lMU8&u$Wp*+g((`jWB2TWdX~hLl z6SiSRxNwmmBC`r8nLXAYzSoz(wRi9K?p>R9+`SoQO7Dlh1ryM2{Tr^2+%+~D3Fxs` z?B8TxyQ*1rcW>LfV{>=+%2-qVDz#(lPX{ufCU~eKQqd6ig7HSL*H}09a>e_B*kx{i zh=23(7iFuj_^wbY@D1?NvbFj~_;y*;KF-`a5%UCeR$2BR80{5oHS{C@Ng+p7Eyz?qmFUfuDlT6_y=g^libOgnndqyKPfv1bYHTkZof0 zOTkXTB(f7c*U#&l&g=$VW5s58PK{uv886HNt~-6&?=&i)>O_pye<0w3l) zj|+T?_xKrsKkND_bzBfvIMG`IKgA1wAaK*}O9FqB7uNKk!(qza@4EP=Mh3nj8RA_| zP$(w6z<5~TPcU94aB~}P6!>u#)ak{kooiUp&0YerUo(CS<20X|Gfqz=9D7ClF<#)H zz)y2WABFLimOU)8eZtv}!DVDe1>1=)1T@}&%BYomPp~gCdsg6+jQcsaY4JbYWGV=Q zQ7aY|tkJ((;70#i7+PxSbub;Z?7KL|^yF<;a1VrP@fIl9F#Cs~6WJlb-ogGe(2wj3 zf_;wtS7D^qN}gxWRAg=upNm=TtfzoGVd6V@FG8SWRwBXHA!n;EC7X~A{8 z$K*F6ej`^==KNWky&z3DsswJjQRm|DN?piqJ*4xHq^O~B+TEBSZ9n!5hw$w|9h z%WA*(;Izz__@Pk%v3h*$;Hx4H(}5(ELm;Q1N&O-g;v6N)m3S-e!>Cs>dzaTsc_ zDu2uD62TgL1x&^*9UYsDZ}<6TD#lux{aVMNv!yX_>N;0(EexXfd%i{wz<5ieZi8=I z61o_gTNAnu_O&K_9dUTQwLQOq-)yI{z}FVnrO@1#@Fi@REL#ANwN>d3cnyK|armyS bU9X4c)d}Ap7s3Op+w&rg?sB6r*u3aJvHry0 diff --git a/threads/build/devices/serial.o b/threads/build/devices/serial.o index 1037f4606a127fee5fd56ff54ba4a51d724f7270..d315feef3a4d815bbcd90a1f88b87ffc8f5d6133 100644 GIT binary patch literal 17768 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 CL74>r literal 17552 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 diff --git a/threads/build/devices/timer.o b/threads/build/devices/timer.o index 71285a6744d2e7885db4d79753c2666cabb626e0..f6d29059ce9a0857a357f642fe26be63a0cc3985 100644 GIT binary patch delta 93 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 UOajLwa7+TnBydaue<>39Uzw-?d;kCd diff --git a/threads/build/kernel.o b/threads/build/kernel.o index e7928f964fa36062f84dd15fb6e814c31c666d53..516331c7cc61c96f3a49f1a29856220ac2aef927 100755 GIT binary patch literal 2417168 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

e_j~IhK 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 Wg|cq7k^ED?wEXUO9gats|9=7MZLS>v literal 2415144 zcmeF)4VYb5T`2sMcG{+;FoPC|@-;231mQwZke2c>tsUHj6oL}00xwaa)(TP}DHTbX zG707|O|2hDLDZ@U6;P@|dlE`!Qa&0GAw@1kJ_o3nL&A0NRy#m!?tkrd_C9+iCo=)> zdtdMK{_;GT^FRAz?X`Y;?X}nbJg*&J`?TX$tY}sLj%z)omA{RagT{IzR)6NqUes!h zwa#uG7k@`u!{xLmm19PG<41=k%4oFwTdX{;{Cxl8^JlA-hd=wDHohp&SB_rx&&aY< zn1BEQ0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBoLzg6I^7q|C3 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�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�~|7sitwW?wciI*n)(`Ul4n8?X$v4MuWDFa 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 NAj2k(x*$bNS;l*#BEDHX1k@FXI;s#`3DjnA+L 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%0An!`Z+s;2eek%;jDpoC}=R` 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 G1pYT+i$N>^ literal 135680 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
sICur6OQY$L;`idJJOM00t}*6t}7KwGMem9 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 z

qbGr~0JX>_5p@s^yviD^q%Y0Jlex2Cp$IbuQ+bBTbDzWUAZ0AMX)`DuX~()yDA z=91ZbwauV_oq;0Tom!}V*`fW+nk&*Pp#fLhW~o z_V;OSdb7~g(S}=uHIHt>OtPf4)D%S5le^yd8mZtxD!xO^Gq5UBMeB#su^n`2CGMfS z)!Gf$W5Nm-Q3^*cL`{VwpKf)Fpq2FMVy$=1^C+5Lyd(3g#h(bLhIhX(^vaaf@KE{i zxm!~spURPn%^gY&v%~iXA6ukp;G=LgOr*9CumU++f54<3=OG{2{eeGx_v`q81KPj) z1#9RPgxqn_W%&%bi?9mUwpAnAx)^<{M685N&{kKRZs%y`TdAX~-+(idAHLq>7HLC4 znWQOc)1Q(9Bbt$juQC+(!LQETk}Bh)v^z0=?M!XmiL+|Pd9+Ma%E=l$;hbj(R_NXi>Zswv7P5#DA@H&6Jv1b#P zK8xKlzcuqvp{LA*%0ka1E`0`to;LGPq2HMam4$wnxb$~T*`=bzU)P+ZfjqWzP4~_` zUc_f&_x4b}Id!jJzG4ntgZBVwj+{|%dnY+JQue-%r+}WupAAY>_Md+f2~vGxFWJXX!Lu9%J;KPn zbZDl?V|jBQpXh!TftY7d+Q^*u%^X_01=$SxX_+U{{kuTdTaftFX=kjQA$~u0&2;)r z7NWher;0~=S~x%UY`lfu5>KJ>pV3T4-bD8^fv$Z;*<1q85czA7U;?!$A7JeoJYc(- zWEn*Zgss*Im<74WZ`YqNE-u1RhOLqV*icYxg@MVZ0}En1;}Mj2+GYDNy`h~ksbL79 zcM`TGC1d$8=ZB-S4dI}EoI#u~x7eO}KIyeKpa>)vuR`VmR2ywv5ZkfhqVz>DtRm&C z&}QJK`4VjbLHi%p-z;9#l*jqTtBEkY=8ZXw1LlJan>gx%6ftEP?G20gX7M0US0L)B zLTn{m%e@bunfb_>7wR#tR-ZRMR_%XhzV?#+zh!L)T6wP;2w=TC%d*Q#LYY8fKOsVz zuMd_~a<-r#JNj%yWPp34QMs3S5^u#PVk#V|KmS&hqQex0=45$t=%(KWu*RFys|@xg zC33N_JC?WXBcD;loKEUa_UXUV2_F*)nlR`Vv|{bTaj7(f+B#b*?1;mjZVE4{IpS24 zn+kN|fL0zhA0DVt-gux)<#R(f(#C8Lv9w%ca24AaY|TrAI^7|AC_fqPhvCx|q%mmj z?47>wbr;`u*21Q#9)#TKbPePn=?8AYN_+|1<#lmNe=$g>F5sqU0gUr~-9e9bqm|L( zK+$ys{!0srb_O<4?5Abr?+rFE+l>SY0c)~|Mz?Oasum1L^to@Y?m{n<(ulf_XD!^Q zZNY_+iDnhtQzW0e@;_DGE^Xr}mu5|in5fqeg2OE89z>L zzx|Nzs`MH|XL2~?|6Z|1o&Lwl+~EFbghccsjVSwTf%ywM0j3s+iG)Ekabg9QO(TLA z)@4I4OmSNY!}~yJ3odvh7cea5{9AH5H)i=$LR&`gHjlS1_5Xso zwIkA+iYr<$tIjJMHt<&kWjgO=(G8wO63$MMk2apXx8Mv?O7>;JtheMN!2}-1MmY7A ziqvdiYZIjPy+7z|w3RhWpSj1EV|8IG8^6vvT_Q(a`b z7?uP$xbarm7|UpHLbdk-psv+ke7;u|AI$ubiObHWLWTot(n{gwag+4V?ckDQI7m|c zN*uZhbmzFTZd>W&qOERSB1+x zoXkhSh#jD4j}OZYir^5Gvuqq)1jSiWN^X+ubnYZ$JP+FZ3Be(*_@?49W=HY%&Dq;)rtcoG-%Yi|{2}J9Sfm2=dbRMKXCcx=~=0regG;&dEHAcS-|kWW@Z92VDDm z`?77tr_hm|VryN^@Z+1h4ld52^2=~4L>!AKY>V!DthgjVq;-nj=14n^4yY9*aw}81 zpYaW@5{ka>ef%hEyXIuGHtao>$3~2kIH+@5G)e(KdTojEUQ9RLTdCwGO=knDz*qFF zi_uz_9YJ{bouatl0_LpnglWdSco#lyBY1JRq-xN^ivgDxbd@<5`T|nV~rUP@`DB=WY*@jmm!34_D zIO>L|P#D^Vq>ufTUkkwyFFHl?2VPXk7*lC$Pr;hJAs|F*+3ripqv8^1aKVpB*mpa5 zEy{_hch}qfvY31XL7)D6B$z-61T< znz390-K0VF32JWP1%;g!7cfP_mp9Kq^Ge{?3^esbf~~Yg+{Lf>{v!Gx9EBsjI_BO4 z4?4>bK)Gr4S7@gb>_XG(q)QNups9F4>{5y0uUMa2D3MtM7bz$c*d}$Fu1U4BUY#}% zrXfn!bp3@SlJzuEZhDNiB#TK{5YL$GTNgtChegjt@RgQl=tq1Rh?s4AJ1{L$;6s3- z`LtuFT)Cq;O!i*vB%n2{E=90GdRUQ8H>cJjozSPFE!xbs(%h1w>U4aPSX8Zsh^m1v z9IMV8U>OxyR{PMYvG8u48d!+Cd1-OdW9wqMu-ojZx@x# zbTTy}*>f2acf{Ynta5UQXd!r2KqdH?RvRKV1O2K!8QqF!sg?>w$+*T3b27275|){d z$`nmvsC^L_F?F6NLbB2AbWgyznml1)wJKrJWvrD1nwnfwSQ^V;>tXp9h1E*<#|dj< zQrV=XqRD;9hum6HIYJ9wO2Ah|($P7Fu*f{s7Zxs4*#ly5r)?9TmqVKlTQ+Kg{XA|5f=fkeu%;Q2@}0ocs24`m=PxmpH+p;iWgp;i_D9vX4-s$vQe^L02mM9a`_Q^?h|4P&&9cc;1f{@V z!Hn#_NV4o>mJC#U&RG*b)L=F(Q!zY0?bA-9C zXifz+B9J2sfOZP`WN0A(F&~o5%UWOeuG|vsin--Pmr?WJGllRmmtirEAD9p&II(96~0h? z6vluEPJP5Xxu7JkFI17s#lzxrV+GjB=8&3DORO}1pOMsA#+k6!{ZgtG&r$fAbUIBM zj`12Ns8ds6_fFelT)ZF!`))O5D8AoX6D#xLf8vB$!30r6oB3|Igv4Wn2>Vr!K7hQR z3L|UYVdX2hrE+*lN0;~njyNVj^JkeY)!tdjIaYv);h8fY55CQA%~4G71eZ;S*JfW}7J>?d{h-;U2NRzZ#IYJn%Kd1$Ous+ag!pWoU82BVFVx7NTm z1!bDI&lI!_z7Ygj+26?*qHk1euXZbSm+pjvM;_?k6-GbYGwR@m`;4^<-0rDV!!}p- zPSgvxuCOW>@yxRBl0$FoReZ2O7azAqhk9R?dSr|@u&7m-)uNciA8FZJX6ao^-p=lc zZC+FjwIh2c#ncI z*07X6%jhEc!bkq1Myf~DEhxd&F<*8MDRHYNRO=E|>!E}%Tc_3p)k-!nxepUNHX=H3 zIqgG*G=T2e0@~~JYanQ|{o21=QF2s0O8hP}U!nMDa8zTQTMr}I8fumsodjzOh!@Ql zzj9{uecfnIMFBU=r<2^ZGfe(_&Lyh~T+ASvU0Ulyo6nkrjf+OQ4@(OvrBp-*DIG}U zFyxfUiuvd^?q_QJeYV<6U!|CSYCRTBl<68HAIGSzP~(|S+s8!@Q;qd7oyTMk(>ckt zg9g)~l?iGVt*wFSi+A-dniK^iWx5a3W&fo-Qush$$#l1O(;_EK8DhZL&Qm^osPN{d zt;y%kpxxqnP~^Tyi;xrL;0;P9=hc;o*|*44`t>V~?gRDEQLB@=`E(&yoR6>(i%flv zV-hVgwN_*@`A>sTuTOW>giwgGrl~PM$RX@Y345O`;{#K!2n_a4gc&y}-hR9u4JI>i z6a}sJGK0t4PkQ*_=5zU>$K`?#OEftb*C(e$Tahs$&P0_0CVD&{b}GqF1)1E*_RAKF zam3s*Z>6p%7f+J(HxqIi_;0J4omfDbNd7oLfs1ct3N`@@V6V6=XvQEcyZJShISfA!PbVy^~NflpTC4Q-w=Nfb)b7YBw=FK+7`21QLHf!M1c z0q%`LF7Hpm8lsUjtnA2+Dav@8mG|S0sgsyh_`st3KrOW+@(tQ+&(gWZ%@m1E`n_iO z0kp3d7+a>QdWm%;Mn_z^rLm)g*ywK7reM6IwQ$WpGN&`JBS+CpjKGd#^+<#&SQH&G zS%Himy!H50k-dTp+)VGStKxldQWK8u@5V^EdmQ~xV2~Dkm+!dX?2xMts)Rl0(Gy&C7D5? z%R-zKi4*ra<`K@5>&a~pv?IId zCQSlEgW&aIN$JC>C&xyd2PtDRW`kWaHw~s8GS3s)BhhMPyPdN2ftOx%DxHg^5$n7GX%fEfnv z?8CMb?C@$<+K?IjCChv8L8>Hsw0yzSNi%%Y55nno{WC(FO9H&r!d{pYkv11SaywLa zBRc0WPRTTn#W%Fc-4siI!RS*j4uaDdUlt$22^8$VFYMeOB)h_@_%w2uD!b%gQAHYu zU_zX`fpjleo~Bh*Q82l;1wlGhC_dS=x2jQcX6#*ctcWG&cdth^O3wFQS24O~Wz3ox zD-}Pr7c7;eR#7{?NwvD#p&~Y*xn%iD><=wpdHvL6c}dsl#YM?-yz7u;c~#e}V$`zx zrKUj$h2o`_tu#+Oci=8=^F6vm$$a+j5=|tN8eIZ|4|JaFve=VY(z^e*HnBC4=NjyENH-=tD!`))kiVNrZV%ytNCGJ-={5|mInZX1q!>I9@y~E8S!kQl~ z-0g4Krz!J*1B!I73ih*zQJzP`vyW5tP`5V-LLLxAduhGYln7c0V#`>DeOiD^3ry&L@CP+4Vs{7?&(qgG zT8fjMQ^+DP%KTqdW|cr+6rmj!qQtA_+wD=;h^iA9u}c6a}-| z!}Kf8zmxCMQAi(14hMkLzT#pRTn?9uym#OX>EYJVu4lVs~k015qu02A6yGLb<+Jhp+lm;bWtF^F~T;FNO zhI$?`+DH|hc61ykcCr5k+5cT_ZZ2LRD@SF4;@bsjI6};)<*G8ESMAX0j~Z-`PN#Jglo+Sz%ai2;LpRYKQl_HMk^YGCQ>i4eYB|1MCRv5Lr#DgK zD9S_+Sa=E)KPVqav5IG_VwZc1O`(^9Cnz?V9wM?B+~q(Kx7!JXWOs^Fw8pDx&zhb6 zc!93G9@ZzdxEFJj#G+K+Du_AtVsFQndt?1_qjsYE%YiQ1tCgV6LjB;7M0Y=K5wqV; zs3+U=@Pn-s#p6{T`bJPio`}qY9Y|CZsHw0j0G{L9g~{&qJi+TtN5gu8SHReCI|e?? zo@hf*z`4;VNQY16(D&e0)1q)MzDUwnLC44CRaQxkbvF98QNbCf-%L3&k?!k z`Vz*8nJ_6-t9+E^cUu5e5D`HN+vvK`L^|+i{Nsl)#C?bRuzB_GlSM;)qTOFG}JYOZXb!)#y87le;ah zS;7nT5*HPFG4N+j;9%vXDHn4|Pe^$?e+Lf6H~T=(l|Zr2`RCXVRc~6wML?yxgvaGmQ_BtM{;{5_6-WQAugVezNelezDXsWg zu{I_775QpT1xA!~rT zahBz*Hv2i{HVo`kP^Rr+cHqQ0d@H+;eB{uEx&0501*;my1sHSUe7kwuIHH_N0bn!u3DuX8DPIt{rvaKF20KE=E zCU~fn-jMO7icXCUU$bBl!bDaY-?&Z_7tu-<#OUJGP#eY9p%J?yN&-E()y<+PqbO8G zK^4_R0o4#x5YI-s;Nt1pWkXSKyRH}5KuT=HnFZIS-(@iA0Wi614`MhL{qa5MmRNVd z`tHH9&sj#dJV$lQ&y(4#*)8d-Qozz$3ro5_7CxvJt%c?0dRXM(1I`ssfZT>5H*gC# z(TcAr#!0FLLv9z$RB~h2ik3p-h?dY%QlPj<78S+Z2u=mp`#Rw(VhC3s07eyUsh2sn zWT}WMX^Bs5P1oG!%F4GhSbfl7Wh}G_c)88?n1J(UtA=RZUkb^i=gZH=L+2s+jnMrK zXdWp(HEI)C1Dm^7PPz=m&w^PcyhO;D4pJ(oV-w1d(iUiRM=?B;5fS~LKDi}=HqbNn z#x{zMn8MX%-A@Ou-4_{&rKRFq>3KC~p;+Oe`o(eKGG=keASQOC?xoNTp^wxU zd28y*T|VONRGd4hUSnx88R`*hKSKFF*JeLh3*pK25TYI2N;Ebwe`{BST4tuKl-DdA zB?A3$fyLk|Kcwhk%1^yLD586iZ|_03dCrIOYZNQqTaR*LMZB%e-dPKaRTm3I+SF$u z!2)cbKCqGnUB9VJSEW`X&!-ElrdeyDPRJOUc^5fF$I1dV|bJ^_A!tkp8?PmiMH)AcDKpLTw1 zOi)rNit7smUvXRxg#$(DDgRm<9#>J6quh#)OvazAJ<5t`Ml3Ja-6tQd1|PCvZ;~xF z^W&aD@u^iH(3OOtjc{4wrQ&fcI*GO9hgEz$qbx2j)DaLM-ByEtyY;aq)nbxHGwNb% zVEFaG^fb|+Y5P|gfcqiX+pWg{QpHi>q6@zj4uX5RqZ}vlCMl3(T3B(uZs2K< zjxd1u$eVJ$QItOpcFs{sIuOnqbk3#`+?A(7wV0C^C_1-tvzMVnqC4h_bthPf79V}= zSNix&J$+O+63nZGh0pTW9I((gD8!9+2f!^k$GoJ?KCKqsKh~oT+QEI}AjSU~=5>eNeF<9KfFn;`fhG?zmKeg=F237Nc^=oz+Y4&}1 zQ#2O?n}wTNQ8&$al<^`FP)Tox>>{U>9F_cvXU8*BPnlFB-s7WI8&xCtEA}R}NRbw8^Kqgt6v=3zL{^-0lu%<8Yk)DE-5 zd1N=xp{ubB#sxXpsFJQ}qiTNBPO*+=LvUJ01P8?oiel87kz!1tK1wKu3K81i2M|@` z1_fy1?)Z)rE+I7s4B`8A&mBKAm;f%EF`--GbrD&hX;>Z!M=gjE zT`j-*F7EAyu~?IYHwB_h`1zk;8h>ub#tnRnSPH7{)wRx)Mg+TkXR^#5|ns z8T!==f?l4N>7Y^$$cE+p>=ydZ_QUv#@P z5;cX;om=PLn?eu0FDx&D298$Uxu|1ZOABnH*6vYJ6|@*Fqpl*-M^yR<(#iJWKi-e4 zP09*rh!tmuIl6$3AAu*$-yoYx1OeZK8}rhMn&H(O6Gme|P<$M5ZfUJ?Rr9VsN!4Vn zubTl21JJE}$dP$iSKf02X(W<0a_SWYj!33zmf}%Ze@+<+fTY^h5fBDIX zNWku!*W|~On}yiLAp$W~C4UU&1N%^^V`9q(79r(~b+TwWwxwuk`4{f`w-p|DBZ#h< zHBij?FcO7FSi;u8TNRWkJ<4f=e46Sc`GUpgS(u=fdbSFMMdQUacEU$Nw-Ebd=oDfL zcsuS)VJ$iWk4ZXWC}?Ht&;gEDv{9G|Sk25klon&YL)%Y46_R(G$zVmhVt~Plup;4{ z*GEFF=0z0l4^0F&E-$QTUM<|M3irn+f*X4?DscPq$YtG0?=(0H)~)hkT~v{9*@Q?4 zR8UZ>b?pju_XJSy1>U6!ubA=FQMkRp+o|y0G68yVcCAtxVrcQx+UgS7;3JWQBI6tN z$PfW7$n_Vsuza%~7E&VK>xQW$x*d&=WDv+V#~aM@FqZ2_f{pV}+K#qxy76-RIu*UZ)YO-?k>CXr@QXd-!%kJ4 ztW|t;zRES>;=Wn}HU6g$_ckbX;O}kL8(fHc;E(1WV8K27y4*8HAW~m&Q0mUPXSi)4 z)t7zwJ*VqrBxzQ9%MR{U*|6v~s)Adhssep}Gb{&pbHLxEc(H#|T}=`V*QCC#>T;^O zgC|yWNWBL?c%nX5VfI|TsgPf2?RTiFD*{Zi z(C)c-L9wc4@hj&?qgn$*s;0x234;Q4AMa?!IMl2ha1R!c7Y)mL2=>Y4_G@B;YsP6; z2N8)yvaSxXjUDeQZ0k1g1i2PdHvyH{)qv@n4A{R-l%^8nq$-fce`MZx#~;V=)~?)& zBYe8Sh|R6VklEH0>p<+A!%SQZ!8!t&|*SUB40 zCsEy^%j;orw{2k9mP5s}XU+^J(D}ue%fPeFT6A79@fyh1U|>d%GHVF+{2X<)+5NR@ z5r=qcI?1#)6GuO$O;WTC0)3e`jM2iBpRyI-tI6?bA(dw;O)qQ+mO^rfbaaY2)QQSf=&*L*dMl^iYO`RqVIfI>0+WDUz6QAq0xTwFDWc*>S2-F zGeJ4%gJe8*KJQQjQLU|T24f_GiqHfam3gn1~^VN;G7kU_mA(^b@TQzvj5|VUV!TldgekrbSER$9hyQn?dFSg$7Q8> zqYqoKbxDMba&%lAp}*8KUWF#nZt_uPEfl^wvAP!sy6&^w(VYxh0m=goL&<5|o?0&P zQ=q`FmIoKB^& z)IEI{`FtEExLjLE+PobK#W;BEP7OR`$HZCPqF9}&*F3eN&RVsJ6MD8lA4Y zpSq}e<>|iV;!4TClJs$ye{2`eGkA;llDGWs9e8FNXiOW#M#kAFMY*Aj%*CmCUQr}x z5Tzg(U*S+OFc((BV-8B89{PxcIluF2yej2wn?JI0*JV{IFU|+$qr9zD_|Ak7Y_RiE)W;J2UQ zUslN3T0AqD00Kn0hw}UA;t?`vSvquK*`c3Bf(by#!YeVjCZ}77kRk|T;=(%f2^SZs zkXepaOVF!TtOt_>gvPPohIaPQtrO)zR1gppEj&+CgmmLWhHo5*1QW;>rF^Us}D@J1F z?}QDl6nX*u0N>tbCbI!iA)KM-_Mva5z*3g1X_Nj3aF2+V?0&3d%^Ww^=MVwY_^*+E zydvF=U=VWUnfM95`Elm<;O6>*$5ep?pRXo(jf*~hT&GI`*AlXq6YgmHQU;v+M26FUuZLbhFGXg>|CXf9EL2Ue&hD}C$#Az|Imp3 zcuW+XZF{^XX|0O12kMXpt|&3kZQ!^2^goU3!MeC8&H^7ps6M0JN?7e$SRbl~Rc$^x z8h0o?E`3Dop2TF0JPn?xeb{BH+=)lwo6!{yxqWXhIcO;kj@F~EJ_j|f-_*sm7aY`B ze_Ic$if<}Tw!(Ulq`*b72|>AeAAG-3&H1s%-=rwd#iZE33XljIsjTk}TG%mz(yT`q}3T+;SR4|m#OjS;D zT!HYMY6{+zaZ=LgG^Ley`D~o`^cvj33d1H)Q@2Eyf~>ngsANsvs6as*i@RDUMwvU3 z5J_5H!g@A9k$Y5QIFRxb5}cR;7W%fV__be=SH+BtxaQQWFe(mj?A^e1Aapea)h@hG z`aC*S=;zdjITxHW@$D2UK@$Vqe7S zLcBP_DZ8!nMW$?2tUSm%Z;AfN{nKdEQGkOZ^^|7j^BS!l*H zk9gw4e!>upsB@^u$Hm>5ywH*O_w}2r+yzakFho!@i8*w`MVK!m=cv!+rD_F)BGq(G z+UwN1%s_E)4{Iyb3fJ@Z3Xu&sTQR`w81MfH#ZXc{ApyOB!XxgbW)5N+POM-aMm!KR zZ=m9gTQ1e8lxim~Hj+wOOr%o(K58^$bfaD|DEU|D1V8<^=b2m^7fW^-ws#FCMA9nw zaGv%xVv>g|UZBK+zbrtrtYN1y4f z>SA)kDQPsix7o$G3z1HGqCF*}%Xxw`vWp1|08K;J>$9k_BSKpd-vJB@A*?rq4ZPmi zQ+%Vc$3%?mULSXZ_i_uWnA!?{jj{2JK&YeqB3PI(O}ld37pVhGEv z9D-;M7q1pNNlfn(#+*`{IZgedQ5Lli_y8g&4HWpW=z^^)XsrbY=c5!w;tP+c(qG`=`sm^A8z z5Q&PKJm#YrEsFgw*V7F9$RlR0-ErHC50cs!k466~S@utxPz?WR$s%;;upnNZG@+Ab zn{(Fj!?K&;E(Cq4Z=7aQl~!1o5`)}le8`=n$Ze)dYjuZzm0Y@}2U{(%C}R*B#+4h` z;Jar~xEa(7`j)c#8uu1>1(1%mfK`z8*>msp`m?s%W`Jg&ho?M0xqy8KrK@KBc1(rr|u$5JzDIecgpjiq;V!W}XuAzfw^$~`f$Zy2ZB3vzjaGpDCQ|#4rwTvz1 zOTii#-0qEH;nL3lo}~2Vz4i1a9oqXFneFI$RAk5GHndhO#}ilmd{qoLG(d*dT12&+QWxKb(k0GMQ)%3P0o?)f zJ+7VDJS2`0tr$Tjv;zxXypNe+veV59qjN9yeGgI`|3G#uQu-}a;_}ZGcv0YSQP};B zzFu5TpH&W+t^TqrL;i({k()VGZ6RjM?|#maUzDwSLGH1iTDU1HizkzfKsR(lsd zYH7rLI$$xdD6IBN8&qzr2))&^yW|^rYC=6??<77`<`#3m*iyCL^DFCpw}~CsuT<1F z=Dx11&HeI-Pi-*V$9k&bY0#TZay_l|SQZ2+^jC>UN6_Wtd3lMMWq;c}Ptr$MtHsGq zAPcT|Kjl-bv_ehY>%uJi&H8e49D>poot4Kxi0c4IcRT|q^`6g4yu$621JkeNF%sjQ zQH|H=x>~xom3i)od&F#r(q;Ox76wHFF`9^hzk+UqHj@Qa?zk7nbHIvJ7?FpaTq}SlJ7zWh!>id<4gw6dIoJU(I$BSKi>O>>rket&A<9!P8(ftn3vgRu8AN zDlZiya0%l5sX=L`RH^jHI5m&mQm zkc0*=^5Lm@3A{L&Wyqho_Wf#9O6w;sILb~Y+;;AArAz81-Mm`urL|_~2E0z)Lwn0o zKU+>JVQ1X4V{AInr-oHq2A)t*ru-CFB{ijFQt8o@^eu!qEjF;xnAP%IQ=JF2IzMV< zEzhfre)X7@?X3Q4L-ki9)m||<7OteETUNy#O0;%IrppW&#tP{k!Iq0hWQp~d>};jI z2jlbdT4fh)6Tm)7y7XMK$a0y**Qj`zWvYN>PkAg7Oh78=)XCf>aDNg^LJC*K_QeuN zgiQyThWo$)39Ktpy%5*Ys$M^Fy&t%(td|1wRGjoR9g5153p9>Jyoh5siG3Xj4jK$& zVhHCFrC>R|_wx;>+VM4u*sz>l(+sk&r<2qUgXaRJN@4>?YP&FWZT9!}WktbBOE_dW zRw)XI;da+mQu*jquwcjT%Ob%99^mI-9SJ0yDikhs^L(v*p*w{vQ@BlbC_kxbq$xLf z7$tCXEb;SVm+vNuFkoJ5s~!w2rcWKgtmsq)&&Irm$>FnMA+?uSfuR)trt$ekLxGM^{`biDZWB zu6X9yqxfpXsj*$xHRG2qQl6)ZE`B_X!|o`$-c!{6k{pysRv2#R%yo_jn%`h6q?*56 zT~ndZngv2aUGJ@(4S;kp|<{m1npK`SH*6>z5uNW$3bNpeS+ zR*ZOp{ZIqUmgzrqFjjz{2$cvpUm)pNi9NUOhN3;8fETHrPP3jiTloSoF!CA<)FFBRLMj+d=3?XY1J=+hldJ_Jp_{KI zSBC1CP#?}V5urx!Q$1O3Dn|!zh7dH1s4IiP5VSd3%dpu3$RzTRy+}PVSL|*O z0VnRvAolEV>P7Tp`-v+f!31dHwo*e>=cTZkYl$NMJ#&**yFmqIBF{)wI2d@X?5Kyk zrrLSh)YrcYys_*JYEF_0^EzlYr&8<_Z;b>KKuY%^2#po@;X{^v*5u45mn~bC8s7Z^ z1d|%Z*E#8SUOD*U=JyBe!%z^Hz0+kXnEl2Iq~!mUv<+5Oa#|EeW?neX{P`Mgn&7+X z2kdFWH{Pa&){&nf7niqmMuG{{sfoolJ)F^2z0E{G*aIYv3FOW!j&WDkkKXU2anEnGwLUo9`^cvP+RZ zc&$Vgfvl|TPgNbZD_-!R8j|c=sg&)?8opMwyzXEZhH%T6p2${=V|tc!)r)n0wY+W@ zZT0V>owB4guv$Tx@b6`#4;77GZzA{d&;FBE<7D}8x;S-MVe!K!2+!8QCoV35w`0sH zRFdI)h$MW!^Tp43g!30wwJ98f!qnEmh-gsRY>;Q9SC}uoPGX)Z3Y?hdM_hKHy?e`x znKRbGjF!3X5JoVGcASK*Y@*sLSD+E72?dAYdm&&)K|AWj2Ai@2)sX1iCN(3~a_>!* z&sIa?TjfjDa=TS7^;g?gsiM}v=?cnhcuoq9)pm(|A-G#lZF?0KKYXmVHSj4N^{DLz zArDUykI06I`eK~RlZ0GQ?$fWAtzn)0u_Ca#3UbCxX0t1l8*!1amJ|3$a-c>38i;%eNy6OCH|ZrUeU$T>!z!`%z@5PeKBnd-BwZ8hT2+a2m9Bo*%2ch=uWLPCE%)A3`Fu4bzFn(Hc7}00ajOio&o-le z&QAXUtzDM120p5wOyo}~b+CXoZ z2_rBddW@p0N|x-#s`#^yRC`s650#$o^VN{}_h;F!#tF);vdT~yl_fFTR8Xe#dDgPQ zBZSf|H<8!trRxQr5X}XYYis*ji%>SL*jOYDuIK3S<)K#hJrG= zg4C9Sgl5?$@_JpNps@JiYpI9Ncfj%=ozMeLzgf~bSK!@WlIRaP<5uo$XR?aH`*-}-XZD*e>zj%vA8m1}mE znkb0nx5%HDg{^_VC@9nVf|S@CA+ctMAB7<5X;!Pu?2B(+9ef#zA#wmXyTq*3 zdtRC14`4%ycP+nXj<}SCe<*gNHb)QDBJ_khgj#()t%TP*AY^A!F+=<0;;};qmD90Z zeoMQ3Jxd9ZSXj?vl@*v9oJEOG&waUC%J`e(5$8{{?o0zRoN*Uni-#lbAPNl5ixz7b9ZA4_t%rMLuy zU`@%-M@2GS_&{rJK`XT{t(2t?6iVV2Ff5$mU&{55(CTli+I@{iyKFh;PYTLJi&B%= z4z4npQ_pB@P+0u%wFu!>$0x%BPk+(WI^Mf zVlfX}`myaa>)Kfpbns#|~X!o(|t5PmkyW+BQL1s}ci;1B__QtS!jwo+vf{durhx z4B@FGryt4Jzp9bkVwj!pNZ$JjMsm{bp%vtq-EPao9?8@rkw`2t+;`B3!LBeichUIY z9S@iu|JsqBXxgwf78a)s+4=iuRO(E?t@EirW?a}E!Trsb7tl;?P#Ja#5^57 z@&i2#kLaJrJ8CzZ(6I)3a{>zGywH_8aNwg@lJJWpHH+v%z7vty7Sk`%@4fBB>vnx5 zb>Ma?#S__*Q>~mA3V*WHnmZq-o_+!~q50=OhQIr_oj`StxJGX8S%{i7uBee{DYb=^NOd?cy@ zKcjL2w?rO0CPj~?I*xHkT!S$g+~S2Kl?9LQuO62^u`f3BvBeAbpuaVSFR{(|QjHeD zmDu-9)H$ncAto-)Bqg`?^pfj8PCt^Wg)NKgAAh_dYckZYUv$@v)FW%SW3_G0{=RSV zeTSQD&TU8kp49vPnlxQ5H^f&l=#6!{heOA)eDw5^Ab#VneMSGO$Fu)MD2nS&|(R`-v;pE|IxCH2_Luj6mz#E&Swe6{|4 zA>8@|7r9;T{=t_HUv&Em@6s2X&gBbEbg^sl%Q;+b`n!hN&$K@QZ++imxajro_%T~s z3Ip~n+UFNyr-f#Eb}z?W#g0XHy+reB_NZMTb=X|HJ@xeSUq}8uAZ^{Pr~zo*g+H{! zZ_`SCDw!W!+tln#v#i?mLNF zV{}V!^08d|m-qc^qip`k_peZw9Z^8NfFyiz>-tml?n*MoruBMQsz@EW(L5dQ`d88G zX;!QmyOqScnN;4#QxDy5oHAUT)34M#U>CL(-#D^2==+|}(#HQQLOjRD|3Lq`yA~! zSt~Z$&o;P6X=~bv{nZnC@-@?w`s{Wr%RgQ4C@YGLs5VWtw@Y#H@7EXI)rT1v+du@* zaqAne{qhVT19EQpt+Yhb-W&f7c6|2Dq$CghB)X!N>@kgtEpd9C0zcWUgQoF)y%%t+ zFd?a$a`+0v-QSs$0=@t(d3810U8*W{!J8%@59c{BxKk0?kL)S=z%)* zKWG)sH{#cW&(*tA@Ruf^$nARyZc~Ho_Q!ko9l_>l?v1Pto$0!H(!+n3cC_yr>EWrTH9t^5 z^JQ1RM~xo1{eEysuT4mdf?X-u3gd+sj`AOW;u@TTff~k_-e4L2C4SH1_Is$K@Gt*| z8U3cw6C4>(Xo3px`ugl=L|+;>nfqCQ3*hhJTRh>_T*abYbmuTx9P*Kp7KU9&B^=cC z8gBzP%bLA^5zV;R%86iJSWT{!4!bNkp6a*(6N6qndYQz#J5igpHApaf>%*~obPYVd zC&BlV?Bn5QE%;p+TE@~A%#$aKdF(ab*3j5;0#1%1-_iVXe)QlR8lBtl-2H&r!tY0h_yov|!4Ua{)lv9O#$y07H zUM+g1N~ruPFBmKM(@tmSO8l!#1fH7Q!P!F{OOYN%ay!eQa6E4wN*n;bxf!+KTs21q1^8D&v@Bt zC0`oniq^E41eEZ{I4$O#7EULs*UipVujAPHfw!ZY54=#d=AtgQg>-Yoaa#JUPN{Hb zsp8J8QQNl+j}B}Z>g?>iQEl(-GtVtsxHq9HR>O)a2VU08L5j>u*xAynAJB%UJnos7 zQ~8prOnAxvvRgzFdnkPbt zvGy|@NCim!-}3$aF7MU>hGMJiScm3&9Rn}TMJp-9HfPO2SMuL>rz6JD-b z@PbZW@j<8ne|H* zZ>FN!+MRru*3GK6N;|$ObUg;KQVogu(bU%d-i_%Eo452`*T1o0-qvkHLjyzCk^rK4 z;FeUi1nFldSm&uek8F=qQHBemAKp5U9vm1_Yu90Z<^3RE*{LqRIDSStll0!;l-!~h zmDSv)v(+F#rETpEIJUTg9Ry)S0|um5hQ{iD2_k7{dTNX?;#1lq14*dCv*=-k#z*oq z1wT7!*n?SZ#o8C(Ax+x5$=m*`&6};$A`RL1SZWk!;+gHu_bv z;G0|+Bdc_uUk>~%>@SSxh&N7p&RmjRSvoorH9I;oVwGAtG#pV=qr+IUXof5W)kuZR zTWvdzv-H|wb*)$O0=EEqzvAhMZE-ogNeyEe=%_DCL%wuylbTt5h1xW{O>HXpE-l6# z!&=CCYp2%a zYi9~A2VvPNXFZ4cI6W6V$K~=C?dphB1y@GTL3fvVZgGO{ZiA?xyT^LI)OucJo~giP z22pTL-Ep{YU8`9RBrq?;+Sj#eM&-;y);xsrz`XKscqLkMSk8<`RvZ2I#`Ex4g0yHL z6Ip+lJ|Yt1-!vc8RvtZadA8zdzmyKVN;NR91yh#u*|b;6rTwuqNVO4-$~E9A^onj| zQ0HZv;nQX(V3+GG`=}SP>rGXbCwv$ia*zn?s2~eVNC`UzTELC-rTvRhP3kk^ThxLl^9Ci>aCBZAfPLsy@)iSeZm*aNbEIa&ElyNF& zrA6t1SMc1>xPaW!9DH*=F>SZU__Q1G&3FiN=@w%8OyIk@tP7bsG?UdX^3pIDb5L_Q z%dmA}{$_7}-eB1+fJcm{{+!;w8iro^p~_$*NPh5izA~{!Ip<~2@pREEu7TMSrsSb* zTS(Id^J`h5P*sx~+A)*PgX+(pTr)|2?;7P-E3}y_V+{(O@;Ed-RBep0FWja3k;zw} zg=usSnZ94>SPzFamqywOE}G8gX5=YbfmH_Fg;CM~tH$YTvAjv_iERVP@J@N5rMuu3D8)OJiy3 z5S4_iO+DgsQ$1ESqKWAIa#xEDV#msstj}g%_f*da>ZmT|INZy0#g{%h+*QIOk67vt z)8g7rxw%}>R`RCPq#W(@6m+qQsZcH!R*@xPohAf!x29euxmqz;6BF`Ihqgv(ZXO{D z;sWX=dRk>(wCqgUq?Lwd5~VfkwT`u)eJ62b^1~R{(wA~sn883(ayg;{I~CL%;ck}vS&ug(rZC{@ zp37FL(R|Sh=JI@o<{r%)JKEvO3e|)0?1N993D_6KmX*>vJC%Yh_sd%MXk$wQ-sNZ; z#W^bxf^nD?*%tHmx5deMB?K2*Rd-icm&}5=16+MND-C*%#^Y@f_8f&YC8p!FxHS6T zwW>#5=k3h+ZjeKuOg{(%litpd!bBvu7U%7Fm*u>7UEjZT^w+lyY#DZb+36kGxar!| zuU)sKPOB+s^btBNOnUoQAJ1z#=rw+wzvCwyCQ z`idj^JZtb{j5^;DTx0RyS^0+I3!YUA_aOOq1>Y|Cp9uc4z#?sHVb-@HATuyJzi9|_ zn0E`9hoRhuN0j*3qqdl5oKJ(})at={(Gi{*FEA*cD2FIxy2bMQAoXla1!FpTS;VneifUr zMEdolE0RI7wf%R-u}&I&VVu2jox(Vcg%B{#veyX+VwFfmN#a*o4}e4=^O$*T^!k{biRa10-dIf;EwcIm0azMwFc6FAu~<0 zNHe5yA~N_~VU0OAqH+6`9nyS&-lL;B*31pG(ZFLWz*JqlqhmehecCIQb?}$@)mYmO z1bfK$ttaOW!RT1M1F`1baT*ke>em99cLTQkq84HvBY9~V3j>@FJu~|@##!9d6DQg+ z!u2W8iAi>nPT0y$r<5PX8PZL3#8C;{thWqag+Cs+MU_Qdz35JQcrXP+1(y`k=xpH$ zv1EfO6)u5r6rDyb;b`kP?FUC`|FlFQEMJEFTj2T=fovLcewGgi;fmo5h|cYbh!da| zJmSa)iH1KT=dQ>>&?zQhH2gPu{ioD(@ZZpBs`xKoa{xNignspvZYG=aqPX3KQuG0# zp8>uQ|4sd?uk78>x3PbdkU56_sLQe;dbB%h*TN>Ywzg(T zx_UFSe!Z0nRY!n2gs_l&-kY=>)(Wh}P5OT}{LBSOzRpzpfA9uf?>l};L(|_{XxcM$ z25$yUdBgWzZ*0uJQe6Xcv#@S32gsm-QG)Ziw)UF!MrTQncN zZ`JT*4gRwl+|bPzE|YraOTS9!P0U+4I3RXfyLu)jW?Ern)9ERkAC@X(P8hjYbFNY{ zu>ml%-5_vxnsT(>Ncg6U?oZ&TI6ime(8_vjMBR#?cW~Y#o9GLna0U+cqt;#(V52Nh$x_Wc(sLmkyhkbe4#r9&!rN(t8tdqTbpeM@x^SJ z;}du);*trc6w3};$pTRRM8FsTeUMS{C({9C!RIHu;2{W1kg8(nR?L-@;ohNvJ~|~~ zN1Y6CYuMI~_~v!`1YGCiqDGYsa2+Kg2FXtWrvXMV&HQ)0Qy_)W)_x@w!hq2SzV`&V zp>6R0itMT&1$qc48mp&H6}p;KQZvw2a0j3nUB<(@>zP_LrKCC3Uc`8!&9QtCB4V0I zD(xfj2*gFz#tKwGOe0EWf{f#K#VOsH7|C=;=`0_bBsl+SbGue3 z7lbPm)rRNl46_vFb6%#qSw3@`!TC)|X-+}N%;Q)gN{DOb;c=M4I%kM0vGUC!Kaxz1 zI#=+3TjeCqM~G)i2pC6L*X$P;TNl={ZOMB|2?}A76mOh|qn&aX?*vWTuQfsQonGQIZHB(^X4(?8&8O4Rl;r zTRj9^b<`f42pwZ?Ljpz7PZPbhrjD)wlPA_K9dgbfc&#hLoW}(s3MAB}UBZSrnUi4G z5f1ge3{1o{cqIx+ClkXT!TI1TnNMdDnx-b*K0Yw@WqJ1*lgH_}ScYLXcnH6psq|f; zXo8$}br6d);f8dkmyZfgL{I2o^c>GoDv)-|rpxvDrO@ZYBD#o#T?Do#ylP-ykL^ulUf~22U7F6~Q`%BXzOGr7aX1 z#cmmk6IE`>o*vzT8x%W2u#JNtjYQ*S@+iSAArcV^g}Heo=*?c>%VWtK$F>LSm?7yv z>$qPM<2W@%1ik}jr*&yj!%<-&HW@v2MM`uKTT4!7pLL12yoq2~Eh)Ieov|o&EI;PQ z7|a%JdgFv-#Sn9D%Ed}d7dks|Hze25Z6lX=*_b;uE+}1#EL9>}#BhR+9?8>)DTphD zUX;a1x5+ZcM92O?`9~AtjfAEh;JZJf@$U)#r*~@n zMZte?kH!~1qv67r7yXXLmkRz*@;-l;;E(*S&R;M1!}n`^Q1GwI`*rUX{HK4Y z^YengLtcZK7W^8)-!FJZ@DB<8NB>Kg*DE8ff7le0HC1#?FQ=BYhD*%7Mx^4bN3IwX zO^B(?*Io4AO}zt~;lgogi2!o$aPP>7F(`D;k_b3Nh}$4$&A=(O*~jYceJ zJ3w(5HYsE_oIb?-_`JLocTqK~bSIS$f#@DF9SMbst~2Tg$SBj`5)xB{IBe3FEt!O= zS8%<$F4b-5aM_5DsVq9aup9cgb&IM8##C74qc=o!Z~z|oxhmqF2-A>ruH!Pi=uj!N zpc%x?Tb(tXM^p%AALo1I9G5Vqaf*!LfkD)Fk~RC-*HjC+(z1%;lWSNo1qa*@c5={% z1+5Kww6sV^5FKCcm!tbv^t@ICMvj0Jks+)tOs#9pt%$j2OuB_<783qM<-&XSK>SMcLy5W3bx zgQl;N^HAV+GD^hsqy^Ea#U%`_qT3w-8-X)BPG&L07@0@Xi%~s+TSLRUmJq2vJU}=R zX+td#E3NG^mG)A1t)8>QDIM3OR9Saeb0)*P-J^kyqnoPC)@ zoB~2XQi+zoK`{BGZvAqITcAUuor){PrYs-gl?0eQnuZ8huoWYjF(1M}22&HUciNjP zem_U=?eSs-6({-g%N-=*h>PwuY8+RExg2@Fh6|WmazPDyjj4Ks${L^K_-R4o=3=x7 zJd@*R++G^Qd5)hm2!9s6CE+Gi-V70qP?K@XP&Y?)(M+N+&lfXDT9bv&or^A_5h>%X zDhz>gqgm$4(9yJt8cq^ttehkVdQcjUhY=h|ejek|g8`|qoK8ERUdwo3&u_*9*Ap>; zR;X-qao5eApP%%l=Bzb(dNA;J&hdarIFsW+n?GaV<~JVjwDZ*>F}oRNTbD_QbRN@$ zmL10#Eusri-IMkjHUe%-x ziQd!EW|}ieP}uj9Por}Xh00^MjRfAs&<%u8xe70g;g%4`8KZ3}Jb7A#J16`Cy>JWv zk6$CgCRNj!7ljPI*1Y-GH#F+B8S~gdJ#LS;R&*CbZ%vc(=6ISGwER6I_CNx2B=Y&` zEzSREtH7L$LU@VPM#j@PsdT7G?}x{33bsM^PR)_Yj%0Ex&88bICFNlvim^z}h&;qF zn$e-Lpi3>JL-bCpbS*Mm_8u6ys&HIKpp%(B24BKNcXLX7G+FPLmi1 z6hFzY3BjIWdCLBYgTr7N@}f17=Zz?wQFqFFh31csH48r8Z=gz0Uaul#5b52M$RHxO z({5V#ajy0n?8f5yNqO-}%1`z$IttDW$b33on6P1-kPEG}!{K5SQFB<%mrB$}x+H~Y z6=H>}F2kZqBZ#w2OfOmtIK~KVpkR6$5p#~4F<+FTuy+q|U7xHQgoDcrIoP<0831e# zGhSudgAwfF7-2WgQ2AAT7*%O0y6={#4=T44OMJ$|!l1f3FN<$-VKZ8?7{&Rb%}2%e zClQ7$>;yZe1?pLlM_=3w&hx3Zdj10+`JkhwYB^+TiBlSRxw!5(0ewNFYc7dJ@)`3G z=#t(@eF?s$zY&Ku{f(Qc>94MrEK4k^HuOUVgM`ca#VUZ)CJZ9|%DDYGqxyAuSEOJg zbOuWD!bs3b3Au657~LGdxW~AxQjQbR3k8M)V;K)4PZluVTcbcYL$@>l0a;c#6Q(-G0nxxaMGWq;08f6bwp8SoK$F`vdeR#uu(6rG<|nmC;; zS1B#$WnJ8yt}!vfWc~PBg=0IThn-DQoJgZ?>AMt6YW$h%KOGFB?@}FIx5BCZVDAlS z`CLabQH5rcbaAkpqd98TY{{QQWCZk@ z*DpR_g~087j^3M)(rH(KBx>jLB?`*s!qP9iAYfFrCtC2x!( zE*xhAht~8MnFWyp0LF(+gw;B0=Rs_I%JCl=QRU ztOU+V;H(7BO5m&n&Pw2{1kOs}zlQ|ymA3TRUCS-LlGt%R{yB%?hn{j42*IgEH=VEF z^!}T>)WSVTeOlnR1wJS62LgX2@RYz`yjz!hgTS{5Tr99n;7Wn31zs(1lfW$kZxEOk zI3aL{z?%i`6?mt>dj)<{;2#QnP~aB?eo^3;1b#)}*91N*@OuLPMc|JGI``=Qo+t2) z0^ct1odP=qUM}!zfhmFS68Ij0S%C$CRe`$%-XZWFfgcn2`vN~J@XrN4Ebz+$pAvXf z;QtZ$eSt3u{HefmKdAe8fxx#4R07)t_6WR6;6{Oi0^cn#EpS5M4uLld+$-=-f%gjh zp8`KE@bdx>34C1OR|S4u;CBT6lfWMed|BXv59$832z-;kUlrIYuv6d_0<%nI}c-Xic0fgcw5DS@9A_?H5|B=9ML-xm1K0$&t(O5pkT z$@mLgDsZL1s{~#va718Q;H1E5fqMnsE$|ZpKP~VJ0%rw&Rp2uM|54x%1^z_f>pv>v zFYqFPmk7KUlaIUfiDRBvA}aaCgU&g k?E;qxbofKggMK>u_pAiYO5m&n&Pw2{1kOs}zl#L^1O7~m(f|Me diff --git a/threads/build/results b/threads/build/results new file mode 100644 index 0000000..9f11507 --- /dev/null +++ b/threads/build/results @@ -0,0 +1,27 @@ +pass tests/threads/alarm-single +pass tests/threads/alarm-multiple +pass tests/threads/alarm-simultaneous +pass tests/threads/alarm-priority +pass tests/threads/alarm-zero +pass tests/threads/alarm-negative +pass tests/threads/priority-change +pass tests/threads/priority-donate-one +pass tests/threads/priority-donate-multiple +pass tests/threads/priority-donate-multiple2 +pass tests/threads/priority-donate-nest +pass tests/threads/priority-donate-sema +pass tests/threads/priority-donate-lower +pass tests/threads/priority-fifo +pass tests/threads/priority-preempt +pass tests/threads/priority-sema +pass tests/threads/priority-condvar +pass tests/threads/priority-donate-chain +FAIL tests/threads/mlfqs/mlfqs-load-1 +FAIL tests/threads/mlfqs/mlfqs-load-60 +FAIL tests/threads/mlfqs/mlfqs-load-avg +FAIL tests/threads/mlfqs/mlfqs-recent-1 +pass tests/threads/mlfqs/mlfqs-fair-2 +pass tests/threads/mlfqs/mlfqs-fair-20 +FAIL tests/threads/mlfqs/mlfqs-nice-2 +FAIL tests/threads/mlfqs/mlfqs-nice-10 +FAIL tests/threads/mlfqs/mlfqs-block diff --git a/threads/build/tests/threads/alarm-multiple.errors b/threads/build/tests/threads/alarm-multiple.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-multiple.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-multiple.output b/threads/build/tests/threads/alarm-multiple.output new file mode 100644 index 0000000..cc97a47 --- /dev/null +++ b/threads/build/tests/threads/alarm-multiple.output @@ -0,0 +1,57 @@ +Kernel command line: -q run alarm-multiple +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 155,648,000 loops/s. +Boot complete. +Executing 'alarm-multiple': +(alarm-multiple) begin +(alarm-multiple) Creating 5 threads to sleep 7 times each. +(alarm-multiple) Thread 0 sleeps 10 ticks each time, +(alarm-multiple) thread 1 sleeps 20 ticks each time, and so on. +(alarm-multiple) If successful, product of iteration count and +(alarm-multiple) sleep duration will appear in nondescending order. +(alarm-multiple) thread 0: duration=10, iteration=1, product=10 +(alarm-multiple) thread 1: duration=20, iteration=1, product=20 +(alarm-multiple) thread 0: duration=10, iteration=2, product=20 +(alarm-multiple) thread 2: duration=30, iteration=1, product=30 +(alarm-multiple) thread 0: duration=10, iteration=3, product=30 +(alarm-multiple) thread 3: duration=40, iteration=1, product=40 +(alarm-multiple) thread 1: duration=20, iteration=2, product=40 +(alarm-multiple) thread 0: duration=10, iteration=4, product=40 +(alarm-multiple) thread 4: duration=50, iteration=1, product=50 +(alarm-multiple) thread 0: duration=10, iteration=5, product=50 +(alarm-multiple) thread 2: duration=30, iteration=2, product=60 +(alarm-multiple) thread 1: duration=20, iteration=3, product=60 +(alarm-multiple) thread 0: duration=10, iteration=6, product=60 +(alarm-multiple) thread 0: duration=10, iteration=7, product=70 +(alarm-multiple) thread 3: duration=40, iteration=2, product=80 +(alarm-multiple) thread 1: duration=20, iteration=4, product=80 +(alarm-multiple) thread 2: duration=30, iteration=3, product=90 +(alarm-multiple) thread 4: duration=50, iteration=2, product=100 +(alarm-multiple) thread 1: duration=20, iteration=5, product=100 +(alarm-multiple) thread 3: duration=40, iteration=3, product=120 +(alarm-multiple) thread 2: duration=30, iteration=4, product=120 +(alarm-multiple) thread 1: duration=20, iteration=6, product=120 +(alarm-multiple) thread 1: duration=20, iteration=7, product=140 +(alarm-multiple) thread 4: duration=50, iteration=3, product=150 +(alarm-multiple) thread 2: duration=30, iteration=5, product=150 +(alarm-multiple) thread 3: duration=40, iteration=4, product=160 +(alarm-multiple) thread 2: duration=30, iteration=6, product=180 +(alarm-multiple) thread 4: duration=50, iteration=4, product=200 +(alarm-multiple) thread 3: duration=40, iteration=5, product=200 +(alarm-multiple) thread 2: duration=30, iteration=7, product=210 +(alarm-multiple) thread 3: duration=40, iteration=6, product=240 +(alarm-multiple) thread 4: duration=50, iteration=5, product=250 +(alarm-multiple) thread 3: duration=40, iteration=7, product=280 +(alarm-multiple) thread 4: duration=50, iteration=6, product=300 +(alarm-multiple) thread 4: duration=50, iteration=7, product=350 +(alarm-multiple) end +Execution of 'alarm-multiple' complete. +Timer: 591 ticks +Thread: 550 idle ticks, 41 kernel ticks, 0 user ticks +Console: 2995 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-multiple.result b/threads/build/tests/threads/alarm-multiple.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-multiple.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/alarm-negative.errors b/threads/build/tests/threads/alarm-negative.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-negative.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-negative.o b/threads/build/tests/threads/alarm-negative.o index 17e01d68e596d2dc2013f31a68c8d6e03902e7db..404f6f3912ed742ca60bbc10538f6bd7a1f9625c 100644 GIT binary patch delta 12 TcmZpWYml4pma$^vJ0U&*AbkY# delta 12 TcmZpWYml4pma%x_J0U&*AY=sX diff --git a/threads/build/tests/threads/alarm-negative.output b/threads/build/tests/threads/alarm-negative.output new file mode 100644 index 0000000..8d52ad9 --- /dev/null +++ b/threads/build/tests/threads/alarm-negative.output @@ -0,0 +1,18 @@ +Kernel command line: -q run alarm-negative +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 124,313,600 loops/s. +Boot complete. +Executing 'alarm-negative': +(alarm-negative) begin +(alarm-negative) PASS +(alarm-negative) end +Execution of 'alarm-negative' complete. +Timer: 26 ticks +Thread: 0 idle ticks, 26 kernel ticks, 0 user ticks +Console: 449 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-negative.result b/threads/build/tests/threads/alarm-negative.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-negative.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/alarm-priority.errors b/threads/build/tests/threads/alarm-priority.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-priority.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-priority.o b/threads/build/tests/threads/alarm-priority.o index 46bb9f9906ba43f9087fc45d361bcd6b80cf5729..13c54a141159b63308e1d796024a8d9777200a0f 100644 GIT binary patch delta 41 xcmdnsyuo>cJqu&SW(StDjEo(V`PlRs8zcJqu&;W(StDjEv2b`PlRsYbM*VDKK_!j%VA&$z)`3^V`$ diff --git a/threads/build/tests/threads/alarm-priority.output b/threads/build/tests/threads/alarm-priority.output new file mode 100644 index 0000000..d973ac5 --- /dev/null +++ b/threads/build/tests/threads/alarm-priority.output @@ -0,0 +1,27 @@ +Kernel command line: -q run alarm-priority +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 143,564,800 loops/s. +Boot complete. +Executing 'alarm-priority': +(alarm-priority) begin +(alarm-priority) Thread priority 30 woke up. +(alarm-priority) Thread priority 29 woke up. +(alarm-priority) Thread priority 28 woke up. +(alarm-priority) Thread priority 27 woke up. +(alarm-priority) Thread priority 26 woke up. +(alarm-priority) Thread priority 25 woke up. +(alarm-priority) Thread priority 24 woke up. +(alarm-priority) Thread priority 23 woke up. +(alarm-priority) Thread priority 22 woke up. +(alarm-priority) Thread priority 21 woke up. +(alarm-priority) end +Execution of 'alarm-priority' complete. +Timer: 530 ticks +Thread: 490 idle ticks, 40 kernel ticks, 0 user ticks +Console: 880 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-priority.result b/threads/build/tests/threads/alarm-priority.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-priority.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/alarm-simultaneous.errors b/threads/build/tests/threads/alarm-simultaneous.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-simultaneous.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-simultaneous.o b/threads/build/tests/threads/alarm-simultaneous.o index 660ee9ac89514ae68f2b8d89cefcbdd95b9bc91f..584edc0a344978112c46e1c69f06d11bbd4d468f 100644 GIT binary patch delta 55 wcmZqhZt&jF$;Mc*xr=QclXSNj0~Bz8X;B!LwQ;jE=R{5>Q=`q-gjNXw07N$m>Hq)$ delta 55 wcmZqhZt&jF$;Mc`xr=QclXROH0~Bz8X;B!LwPv$3=R{5>V~fq#gjNXw076s>-v9sr diff --git a/threads/build/tests/threads/alarm-simultaneous.output b/threads/build/tests/threads/alarm-simultaneous.output new file mode 100644 index 0000000..48ad593 --- /dev/null +++ b/threads/build/tests/threads/alarm-simultaneous.output @@ -0,0 +1,35 @@ +Kernel command line: -q run alarm-simultaneous +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 157,081,600 loops/s. +Boot complete. +Executing 'alarm-simultaneous': +(alarm-simultaneous) begin +(alarm-simultaneous) Creating 3 threads to sleep 5 times each. +(alarm-simultaneous) Each thread sleeps 10 ticks each time. +(alarm-simultaneous) Within an iteration, all threads should wake up on the same tick. +(alarm-simultaneous) iteration 0, thread 0: woke up after 10 ticks +(alarm-simultaneous) iteration 0, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 0, thread 2: woke up 0 ticks later +(alarm-simultaneous) iteration 1, thread 0: woke up 10 ticks later +(alarm-simultaneous) iteration 1, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 1, thread 2: woke up 0 ticks later +(alarm-simultaneous) iteration 2, thread 0: woke up 10 ticks later +(alarm-simultaneous) iteration 2, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 2, thread 2: woke up 0 ticks later +(alarm-simultaneous) iteration 3, thread 0: woke up 10 ticks later +(alarm-simultaneous) iteration 3, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 3, thread 2: woke up 0 ticks later +(alarm-simultaneous) iteration 4, thread 0: woke up 10 ticks later +(alarm-simultaneous) iteration 4, thread 1: woke up 0 ticks later +(alarm-simultaneous) iteration 4, thread 2: woke up 0 ticks later +(alarm-simultaneous) end +Execution of 'alarm-simultaneous' complete. +Timer: 281 ticks +Thread: 250 idle ticks, 31 kernel ticks, 0 user ticks +Console: 1655 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-simultaneous.result b/threads/build/tests/threads/alarm-simultaneous.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-simultaneous.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/alarm-single.errors b/threads/build/tests/threads/alarm-single.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-single.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-single.output b/threads/build/tests/threads/alarm-single.output new file mode 100644 index 0000000..ecee45c --- /dev/null +++ b/threads/build/tests/threads/alarm-single.output @@ -0,0 +1,27 @@ +Kernel command line: -q run alarm-single +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 157,081,600 loops/s. +Boot complete. +Executing 'alarm-single': +(alarm-single) begin +(alarm-single) Creating 5 threads to sleep 1 times each. +(alarm-single) Thread 0 sleeps 10 ticks each time, +(alarm-single) thread 1 sleeps 20 ticks each time, and so on. +(alarm-single) If successful, product of iteration count and +(alarm-single) sleep duration will appear in nondescending order. +(alarm-single) thread 0: duration=10, iteration=1, product=10 +(alarm-single) thread 1: duration=20, iteration=1, product=20 +(alarm-single) thread 2: duration=30, iteration=1, product=30 +(alarm-single) thread 3: duration=40, iteration=1, product=40 +(alarm-single) thread 4: duration=50, iteration=1, product=50 +(alarm-single) end +Execution of 'alarm-single' complete. +Timer: 276 ticks +Thread: 250 idle ticks, 26 kernel ticks, 0 user ticks +Console: 1027 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-single.result b/threads/build/tests/threads/alarm-single.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-single.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/alarm-wait.o b/threads/build/tests/threads/alarm-wait.o index 6d15e425f9da3b1d3b25ff6ba23eef9d43b523b5..cd812828726b655c4cc9033a75699b4d21b30363 100644 GIT binary patch delta 4724 zcmZ`+3v5(H6rFiny4!ABcDseQue2y>ODjrizuTgA!DwtzLNLvGu)9RJn*Mk@?c)bWzm08LSzP~Zwv&cdVe*xxIfPns%-rVxO zeF9Pd9UIe{o(%$iLi14)mdr*njF3Oj2|+#Czx7K%14y;WlC|n^UiJBFL1iH*p&O5h z%F3q!^9qs|JgxrDn>VctfI>AtKk6=-CPZX-jgY%80Rt=9Rx~W+9z?C=+8O9sK7i&{ zvZE*=Gu}N3cp~)CF2vRH>*eqns)zSvd zHS6knu+kPiU+ZANBt*`^J>`vJGdV(&IIITtZ3Ra1C6Bt=-OAs<#FzYPd#VFbuV}KW z1i=+4XGO58I36Zv8+F=k+E<@W=Zci8y2-9Cn=G_}kZ$_adT8XP{AIY9T39|gQihNb zC}Z8%O}5EUJLmp)OL$Fy4L#Wiw?`_|Ot8rKhFFkMNESkz)KKX4)WfL$fz+=@s}1 zmK#_EE2gr|E-qC+hn{isg|A>i@RDGAq!}v6&yv1^)?g4s1Z4zHm@3dH3BvIqWqSmX z&>YbosR1NB7bftaRf7?#S2|%?=wBG!f4PHtk!ivg(7r8rz=|3FwKEO5QhNY4yP zw1x$`|1K%QvKBl1(|}VyJmA&f1+ExYcJ1F^n?E9p~S#YV)(YPlIY!X>`CV}pVibbwz|~Ht`+oThH2^X zjf2PfbNDWT;XR@7Yw%Z9vg|77YdSAto=%!Qp(e^~Ij(ZbYvkRkrM$-3Ng6{;^N1QL zx1Ad(%67(nsYZdVq$qnCdsdBu|A$n#!gfv*ca-TQ)uIZ!y@vdM!q^gcrf`hwpHy|X zQp9f<{;hfnV%3)wIsxoWWLrudH61&owp-N#Ybv~!v3IDhxixZB zB|)c~qV8Zii_|e-7f|$P8QY>Jz(cE=Q)#=ekj|$}XDQ+14F8lO{>bpRsg^$&ehuk| zh&LS=(S0ix<&3aN{#p$}dRdf)F>8E(?NTH|hN7aXTL z`kBFQ;a8HMgACtI@{tT2t_%AJIG#bkE1mlEF~c`efRhZrm^SJuhU2RQ z#~FtIiZWhT&N2edQ*Y#up=tH!wDJzaH;`P;@N=YZ5;K10P`pb)-@7guVlg>rV~)stHA|6f?9&Qpk$nXOc_$9Syp6#4stO@gn8k}dl zx%fJUVT#3r% zNz^>II~Z=7@({yK*-vEP8-;k0_Q9bH0xm?<^|u-R0VOof@F?m3KsdU^VlSo#NjPy5L-dG>GyYp*D<_^qAXO)F0!32=B<-*8&D&_ZezBqsKxiIQDFBo*6f-C zY8=>6#(qbhUsvJzw(}liXHyS9Q;UE-!`Rit{;US)+wMP%Jwa?9TxoEa4tznl!|-X; znYj#KPIx`TSDKD#T=}cR&Jw0`9<5oYs;#!2UdDD1JFL2Z-A}Ap!FMRn$5pc0Zhx8C zn%l^6W|g39-(mW?2SS`u6Vgr6_++f&1WUkHggRJ=NmZc>3uy zL;*ASivko*fjbO8Kmke_zLE+n%fR9IH3n4~1pI5$iHnP-!0Q=4L5aquz}p%ACMJr< z|C0YB0AIoIFm1CAhCfP`t!B8~E)gvG^)5ZIFb+REQPpNQY+-j~<*EhCW(<5ph{A{RG zA2qh-w9rj_R5?vC`Mp}!6t{|s)v>yn>bl}Ab*QP_iWaMnnp&+Lb*eDdDi5n=u{eAu L;rlCfB3Ah?1#g@u delta 4413 zcma)93v5$W7(VBgt?ephUANucu|?(>TMMo$uIqHVA@RWsF@lf`d~8z&&JAQTBNFA} zBR)XQ>W>eiF@lL9Br0`45FY^ziN+@q6yJ_S0fWjQiUv&l&prQb*FRa}NqW!uzwdva zbMMYRANc!@p*myt%ycy6le354_VvrQ6H*A_$DhbI6S($?0woCP?NC%;uy={@F5cro z$kFoNFof#~dVS-5SXNM18yH+Fy!~lIh-Qs1Z$$OKh1X|09#L5B3#Z{|!Mg!v9hfhC zb*Ch34}9En9+JX4K^b_1D$GO$=%;knhV%4@2@3a`H{mmQ2o=?D(uF8Z5{ArIWTAqb zm3P$-DEkyRM^;4O=y~;1BIsZi=A;}rOqs0hL(EB8M*1KzF>0Sc4rcUt_3k8H77hMw zNL^P-sMzThagmYsdPP?FXsqxh3fKu>3`2!rQn1Xv1`$(%@*)+}llpFLj(B*j4w+Ep zc~U1yY|^QBXfml9g!zQ;SSch4w`ridh3R8$a@5A(eN{xJ26Yrl#bT#FLNtw~ zlpuoNVWZV1IWJ0qC{!n-n z3#Rtv$6+XGK+^tE05+`qts{T^Mz~m9ao>uXJNG3l#hac>eX^P%$sUjyYWk{#w_QV z)%*hPpBj^ckjCf3FoK$|(7SgJ)0_*T8q?ZOe%$Yx8_|HvYfSk)EUJlF>qzHS=HVc0 zMh`dRCr6F<^_0nZ3LHT8I38X#M)Z_nuK+pCv_2)zrx?2c;>g}ZoD?Z}p( z#13Zg9?5UP2&Q|Ov7gYk9btHaw)HoLA0z#L7=Dhrn@4u;ZkXM6#IIHuOYmX;cgChYTVAWYzqZmO$MqqRmTeTM+V1M=Ex2F9@F1M`Ujc* z8tq1mf&mn~Pn((s>KS{U`_DwgfN|M|je@1mz!{~I=zJ#$Qv@`7tce~QT zaJR^141bY!{w{`BQ}iK?XAk5@RQ)z)aGDa@0qGg0{SL8i?>mY8ky%9v|DEX{Bm6AG zizzL?bMwZV1!kjE*AX7ocsAV*O1GIAd_@LV!oY>5HJ`B?X{WkiGqTGW>t52=zyV|* zVXTKbx)Ef(X>Dfg#l*e_ab(|O?0RB9fbM$JKE&AXi9N#bJZjb-48NZ6a|~bTHW4ow zYACl#wV&`(jl-GxkX6leuA~iVfU20;ei>u?i0vZWJgBinSqOc#qh%v;M;NV zBMg6<{Qr`J7b%v96ZVJMcRKl5!IqPqZ0bafmjx8Xp$H?Klm^VOvwH|FrXu zq7Z9gv?(bEAd+k|p0^-fUJC1yb;e5;Y)iHpTjTI+vQ;)iq`3{Bz0GZY-%K5EI}9|Q F{~vafh{XT^ diff --git a/threads/build/tests/threads/alarm-zero.errors b/threads/build/tests/threads/alarm-zero.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/alarm-zero.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/alarm-zero.o b/threads/build/tests/threads/alarm-zero.o index 09b6bda835d6ec865c3378f844bebed3afa29711..9c82c91f3ba860410b07749b5b9d3a425e5856a4 100644 GIT binary patch delta 12 Tcmew$`$2ZXYsQL=Z&>&MDcJ?S delta 12 Tcmew$`$2ZXYsTV@Z&>&MDZmA} diff --git a/threads/build/tests/threads/alarm-zero.output b/threads/build/tests/threads/alarm-zero.output new file mode 100644 index 0000000..74e1827 --- /dev/null +++ b/threads/build/tests/threads/alarm-zero.output @@ -0,0 +1,18 @@ +Kernel command line: -q run alarm-zero +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 130,867,200 loops/s. +Boot complete. +Executing 'alarm-zero': +(alarm-zero) begin +(alarm-zero) PASS +(alarm-zero) end +Execution of 'alarm-zero' complete. +Timer: 24 ticks +Thread: 0 idle ticks, 24 kernel ticks, 0 user ticks +Console: 425 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/alarm-zero.result b/threads/build/tests/threads/alarm-zero.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/alarm-zero.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/mlfqs/mlfqs-block.errors b/threads/build/tests/threads/mlfqs/mlfqs-block.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-block.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-block.o b/threads/build/tests/threads/mlfqs/mlfqs-block.o index f14eb513111cde9ec6bfeffbc43859777187c5c4..e4e5d89874b832b2e9af9b4ba56d55d8b7bf2027 100644 GIT binary patch delta 3197 zcma)84Qx|Y6u$R$>uc%SwJYQGZVXn|t!2vQaLCV0TZjoX8h=Pk7KC8;18aZ{+0cO| zbrNTYBsx#RPeOu|m?)75X;emxGL?u4i9>@*Fgh?`6eJ84g&=zFd*{{d#wFh5-FMFS zedp)icVGKPA3n7F*wz_MFQ3K&aTcAK9ww#>5IFQBHw)3b)@Pn^f}y+vlu zO^q^?Gu@R%txICPuHbpNRrrBNmh&uUu2_`@$DJozy=Fv#jL?0uFP{XgnVYs|&JKnx zpvI7G6+6+9mw%4*n8uxw3`j_Kt-zwDulIh3XbD`=L)jsuf>OliHsP!dG*30XM!7U? zpu_U!wVB-GrIM55cp+nXXJou{cDyq|c2Q;6G?v9&+%Qw()Q=s?!S^0QtyNlBrKyoJ zxd_L=k*pbW3{`IV%*>JRXG|@WXKsyWWIx$FHKA1<_bJbmjCUr;{^!Cg)C8>9i@Phk zZ#SQmp9SQCLmRr+GI@C-!d{fy`>*NCo6hpQImMqhon?7b@5`HRzkn<5eOWJa_!fDZ zJgMLUtmQ4>4qx2kL05tt&www6is>FaIGm?~67h#wDp-$5pau;*GIbavE(+x|D!=ASGmd$Hd zZ%lV)T48N*!kg(t{l-n1u1%SqExFf=V>~zFzo}`BcjZn7FFVBNwC@4BPrK_=A={%lss;TOXmq5d}X( z34Ty;s>=!}&d&2I>HG?QlkljC<4>#|z)5(w67V(!BozDrHFUp%+vl)T!F}X!9goY` zr<8zx7@Tfo-yBaPJDvP@6ugT3j}&|_we_Wfuc3`Pqu>X~|K7US=J(?TBJ5Lb?~~pC zWk^>TSvUSx%VD#9R9-0fdz3Ar;3c%XwS>!X3EBU4ixvH5Sq#TR77l+@1jH&uGlz1n zgYXPP^eUN$sl(^t5oBLc*xSVJgT5KYytfqgPRe{#saQ*^J0@{RM}p#OMPc`J0mg9G zepA?YDerBnyw^pJ)#eO)xmq5X+RX zQDPs3Q^>X`Y!Nlr1-#M_&nWC%Vz)yBvO5*FgV_C$t~44>5o;f!PiQ+&PlA67!<7af zm2>t-Me`D6zBCDbO~H54)?c3l|4YI5)1FvgkNAydH*FIx{GgG;#pfdOoxO delta 3007 zcma);e{2**6vt=w+TJhjde;N?rq!0iws%$Ga!mmva0UJ$r-le(Qj0_okfK5;g#Zz= zLJX!D1DB^EAO?#@MS`{*qC#S52q7RC8pDqSqXiQZV@W6&z{FqkcHbWDOPV;z&d&RM z-+S|BZuWM&=k-6mBPGZ6G+g!=f0PzHC9g(U+po3c+BA|o3!UW;q_TMg%86v_+mXUq3pXLMhE8! zU+R{GJ7s6BQK))LFu)teX+j8`UfN^B?meOexz}8%`|t(rh*$XpZIuf{mZ2CyWRJWZ zKWjURP&Q(ZZNGC9a?ci>s{$=)HBQwxBi|CU%_dZge4ArUT54;HMx%!9-BKZn#@?aE z=R=KQZeMXlZ%eD*mNA%6S|;AGZPg5$++*norvT*?K;=|om?!^@H5UE0YcIcEuhWWE z9p}>(mG6ftZdH~YKCIx2L;bD}HHNwU&*cyB1S0&Ct{SVyA8)aUhzKs&T-mW);1#Tm zyNmLN?hnJoVOdpi7>E>yWtGLDcT;ibkHn!Su-7V)o^Uo84CZ2w2d4(5-rZ12c)||^ z^;wcK7ei8>5V=@dlSsWD=+iS%2cdgXMP-F|MttWig?<&KIudykG&oT^o5VtKA0IdWeA>& z&z6&*D{iWV`ccI;!|v~Uu7|#OT4q41wA=_8WvZogDmOCE2rSm>%arGBrtXHkGUa^O zuhMEd`5a_EM_^EA_>4~Q38r3xM5UQqLh4nfUZ9-U8Sfx|i}8wY!*l5V~}RtMF}A z+PY5KY3Adjwe&Oo0rA_6pCS7Y&FQY43KTywe%!Gw@e319k$s2pAILVS0C$3I#KVlg zPX$#net;^PZu3X(pUo?jD8~Y>5q}oiA2h8EO#O}2HyOW4JkR($RMtMm@sAjrdtTk; zttY=PocqJYhi*OzhgqW8WFLb}wP{^u>KdB<8sl#HHyHQOGHw&ca76CQB%ohs*xYhE z98<&{4yUT4s-F2&Q_dzBtTxq5Qr*nGRN)**)R<}kQ~x2g4d&LElh!fyQOexOX1q&$ zJ95a>#ndOv!>#Es^y*zZ!PGp(pCgV%=vRt(gQ~eWgrjSVzOenuxVt+y8QnxtS*F0BZ1(?dfAR|PHOx&;G4@4Z yTQX~$jlkeTW1&BpGR{XJkjfe}#={e-td8kSH5=VAIFriySC4mgqZ|5aYyJc7ttx&1 diff --git a/threads/build/tests/threads/mlfqs/mlfqs-block.output b/threads/build/tests/threads/mlfqs/mlfqs-block.output new file mode 100644 index 0000000..b2aa522 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-block.output @@ -0,0 +1,24 @@ +Kernel command line: -q -mlfqs run mlfqs-block +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 134,144,000 loops/s. +Boot complete. +Executing 'mlfqs-block': +(mlfqs-block) begin +(mlfqs-block) Main thread acquiring lock. +(mlfqs-block) Main thread creating block thread, sleeping 25 seconds... +(mlfqs-block) Block thread spinning for 20 seconds... +(mlfqs-block) Block thread acquiring lock... +(mlfqs-block) Main thread spinning for 5 seconds... +(mlfqs-block) Main thread releasing lock. +(mlfqs-block) Block thread should have already acquired lock. +(mlfqs-block) end +Execution of 'mlfqs-block' complete. +Timer: 3026 ticks +Thread: 499 idle ticks, 2528 kernel ticks, 0 user ticks +Console: 794 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/mlfqs/mlfqs-block.result b/threads/build/tests/threads/mlfqs/mlfqs-block.result new file mode 100644 index 0000000..b80c566 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-block.result @@ -0,0 +1,25 @@ +FAIL +Test output failed to match any acceptable form. + +Acceptable output: + (mlfqs-block) begin + (mlfqs-block) Main thread acquiring lock. + (mlfqs-block) Main thread creating block thread, sleeping 25 seconds... + (mlfqs-block) Block thread spinning for 20 seconds... + (mlfqs-block) Block thread acquiring lock... + (mlfqs-block) Main thread spinning for 5 seconds... + (mlfqs-block) Main thread releasing lock. + (mlfqs-block) ...got it. + (mlfqs-block) Block thread should have already acquired lock. + (mlfqs-block) end +Differences in `diff -u' format: + (mlfqs-block) begin + (mlfqs-block) Main thread acquiring lock. + (mlfqs-block) Main thread creating block thread, sleeping 25 seconds... + (mlfqs-block) Block thread spinning for 20 seconds... + (mlfqs-block) Block thread acquiring lock... + (mlfqs-block) Main thread spinning for 5 seconds... + (mlfqs-block) Main thread releasing lock. +- (mlfqs-block) ...got it. + (mlfqs-block) Block thread should have already acquired lock. + (mlfqs-block) end diff --git a/threads/build/tests/threads/mlfqs/mlfqs-fair-2.errors b/threads/build/tests/threads/mlfqs/mlfqs-fair-2.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-fair-2.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-fair-2.output b/threads/build/tests/threads/mlfqs/mlfqs-fair-2.output new file mode 100644 index 0000000..5fff0e6 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-fair-2.output @@ -0,0 +1,22 @@ +Kernel command line: -q -mlfqs run mlfqs-fair-2 +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 39,219,200 loops/s. +Boot complete. +Executing 'mlfqs-fair-2': +(mlfqs-fair-2) begin +(mlfqs-fair-2) Starting 2 threads... +(mlfqs-fair-2) Starting threads took 0 ticks. +(mlfqs-fair-2) Sleeping 40 seconds to let threads run, please wait... +(mlfqs-fair-2) Thread 0 received 1500 ticks. +(mlfqs-fair-2) Thread 1 received 1500 ticks. +(mlfqs-fair-2) end +Execution of 'mlfqs-fair-2' complete. +Timer: 4023 ticks +Thread: 1000 idle ticks, 3023 kernel ticks, 0 user ticks +Console: 673 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/mlfqs/mlfqs-fair-2.result b/threads/build/tests/threads/mlfqs/mlfqs-fair-2.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-fair-2.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/mlfqs/mlfqs-fair-20.errors b/threads/build/tests/threads/mlfqs/mlfqs-fair-20.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-fair-20.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-fair-20.output b/threads/build/tests/threads/mlfqs/mlfqs-fair-20.output new file mode 100644 index 0000000..00d534b --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-fair-20.output @@ -0,0 +1,40 @@ +Kernel command line: -q -mlfqs run mlfqs-fair-20 +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 117,760,000 loops/s. +Boot complete. +Executing 'mlfqs-fair-20': +(mlfqs-fair-20) begin +(mlfqs-fair-20) Starting 20 threads... +(mlfqs-fair-20) Starting threads took 0 ticks. +(mlfqs-fair-20) Sleeping 40 seconds to let threads run, please wait... +(mlfqs-fair-20) Thread 0 received 153 ticks. +(mlfqs-fair-20) Thread 1 received 153 ticks. +(mlfqs-fair-20) Thread 2 received 153 ticks. +(mlfqs-fair-20) Thread 3 received 152 ticks. +(mlfqs-fair-20) Thread 4 received 152 ticks. +(mlfqs-fair-20) Thread 5 received 152 ticks. +(mlfqs-fair-20) Thread 6 received 153 ticks. +(mlfqs-fair-20) Thread 7 received 153 ticks. +(mlfqs-fair-20) Thread 8 received 152 ticks. +(mlfqs-fair-20) Thread 9 received 153 ticks. +(mlfqs-fair-20) Thread 10 received 148 ticks. +(mlfqs-fair-20) Thread 11 received 148 ticks. +(mlfqs-fair-20) Thread 12 received 149 ticks. +(mlfqs-fair-20) Thread 13 received 149 ticks. +(mlfqs-fair-20) Thread 14 received 148 ticks. +(mlfqs-fair-20) Thread 15 received 148 ticks. +(mlfqs-fair-20) Thread 16 received 148 ticks. +(mlfqs-fair-20) Thread 17 received 149 ticks. +(mlfqs-fair-20) Thread 18 received 148 ticks. +(mlfqs-fair-20) Thread 19 received 149 ticks. +(mlfqs-fair-20) end +Execution of 'mlfqs-fair-20' complete. +Timer: 4032 ticks +Thread: 1000 idle ticks, 3032 kernel ticks, 0 user ticks +Console: 1503 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/mlfqs/mlfqs-fair-20.result b/threads/build/tests/threads/mlfqs/mlfqs-fair-20.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-fair-20.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/mlfqs/mlfqs-fair.o b/threads/build/tests/threads/mlfqs/mlfqs-fair.o index 05fcbfe4458adf15a098adcf69f5bc513cf0e19a..d408152c68234f372f8d2c26c06ce5eacc8e6ef7 100644 GIT binary patch delta 39 vcmcZ*dLeW}AUk8l<{WHwrUA0UIxz$vSy+Jo^U@CKH3rfdc%30FxdI A expected explanation +------ -------- --- -------- ---------------------------------------- + 2 0.00 = 2.95 + 4 0.00 <<< 4.84 Too small, by 1.34. + 6 0.00 <<< 6.66 Too small, by 3.16. + 8 0.00 <<< 8.42 Too small, by 4.92. + 10 0.00 <<< 10.13 Too small, by 6.63. + 12 0.00 <<< 11.78 Too small, by 8.28. + 14 0.00 <<< 13.37 Too small, by 9.87. + 16 0.00 <<< 14.91 Too small, by 11.41. + 18 0.00 <<< 16.40 Too small, by 12.90. + 20 0.00 <<< 17.84 Too small, by 14.34. + 22 0.00 <<< 19.24 Too small, by 15.74. + 24 0.00 <<< 20.58 Too small, by 17.08. + 26 0.00 <<< 21.89 Too small, by 18.39. + 28 0.00 <<< 23.15 Too small, by 19.65. + 30 0.00 <<< 24.37 Too small, by 20.87. + 32 0.00 <<< 25.54 Too small, by 22.04. + 34 0.00 <<< 26.68 Too small, by 23.18. + 36 0.00 <<< 27.78 Too small, by 24.28. + 38 0.00 <<< 28.85 Too small, by 25.35. + 40 0.00 <<< 29.88 Too small, by 26.38. + 42 0.00 <<< 30.87 Too small, by 27.37. + 44 0.00 <<< 31.84 Too small, by 28.34. + 46 0.00 <<< 32.77 Too small, by 29.27. + 48 0.00 <<< 33.67 Too small, by 30.17. + 50 0.00 <<< 34.54 Too small, by 31.04. + 52 0.00 <<< 35.38 Too small, by 31.88. + 54 0.00 <<< 36.19 Too small, by 32.69. + 56 0.00 <<< 36.98 Too small, by 33.48. + 58 0.00 <<< 37.74 Too small, by 34.24. + 60 0.00 <<< 37.48 Too small, by 33.98. + 62 0.00 <<< 36.24 Too small, by 32.74. + 64 0.00 <<< 35.04 Too small, by 31.54. + 66 0.00 <<< 33.88 Too small, by 30.38. + 68 0.00 <<< 32.76 Too small, by 29.26. + 70 0.00 <<< 31.68 Too small, by 28.18. + 72 0.00 <<< 30.63 Too small, by 27.13. + 74 0.00 <<< 29.62 Too small, by 26.12. + 76 0.00 <<< 28.64 Too small, by 25.14. + 78 0.00 <<< 27.69 Too small, by 24.19. + 80 0.00 <<< 26.78 Too small, by 23.28. + 82 0.00 <<< 25.89 Too small, by 22.39. + 84 0.00 <<< 25.04 Too small, by 21.54. + 86 0.00 <<< 24.21 Too small, by 20.71. + 88 0.00 <<< 23.41 Too small, by 19.91. + 90 0.00 <<< 22.64 Too small, by 19.14. + 92 0.00 <<< 21.89 Too small, by 18.39. + 94 0.00 <<< 21.16 Too small, by 17.66. + 96 0.00 <<< 20.46 Too small, by 16.96. + 98 0.00 <<< 19.79 Too small, by 16.29. + 100 0.00 <<< 19.13 Too small, by 15.63. + 102 0.00 <<< 18.50 Too small, by 15.00. + 104 0.00 <<< 17.89 Too small, by 14.39. + 106 0.00 <<< 17.30 Too small, by 13.80. + 108 0.00 <<< 16.73 Too small, by 13.23. + 110 0.00 <<< 16.17 Too small, by 12.67. + 112 0.00 <<< 15.64 Too small, by 12.14. + 114 0.00 <<< 15.12 Too small, by 11.62. + 116 0.00 <<< 14.62 Too small, by 11.12. + 118 0.00 <<< 14.14 Too small, by 10.64. + 120 0.00 <<< 13.67 Too small, by 10.17. + 122 0.00 <<< 13.22 Too small, by 9.72. + 124 0.00 <<< 12.78 Too small, by 9.28. + 126 0.00 <<< 12.36 Too small, by 8.86. + 128 0.00 <<< 11.95 Too small, by 8.45. + 130 0.00 <<< 11.56 Too small, by 8.06. + 132 0.00 <<< 11.17 Too small, by 7.67. + 134 0.00 <<< 10.80 Too small, by 7.30. + 136 0.00 <<< 10.45 Too small, by 6.95. + 138 0.00 <<< 10.10 Too small, by 6.60. + 140 0.00 <<< 9.77 Too small, by 6.27. + 142 0.00 <<< 9.45 Too small, by 5.95. + 144 0.00 <<< 9.13 Too small, by 5.63. + 146 0.00 <<< 8.83 Too small, by 5.33. + 148 0.00 <<< 8.54 Too small, by 5.04. + 150 0.00 <<< 8.26 Too small, by 4.76. + 152 0.00 <<< 7.98 Too small, by 4.48. + 154 0.00 <<< 7.72 Too small, by 4.22. + 156 0.00 <<< 7.47 Too small, by 3.97. + 158 0.00 <<< 7.22 Too small, by 3.72. + 160 0.00 <<< 6.98 Too small, by 3.48. + 162 0.00 <<< 6.75 Too small, by 3.25. + 164 0.00 <<< 6.53 Too small, by 3.03. + 166 0.00 <<< 6.31 Too small, by 2.81. + 168 0.00 <<< 6.10 Too small, by 2.60. + 170 0.00 <<< 5.90 Too small, by 2.40. + 172 0.00 <<< 5.70 Too small, by 2.20. + 174 0.00 <<< 5.52 Too small, by 2.02. + 176 0.00 <<< 5.33 Too small, by 1.83. + 178 0.00 <<< 5.16 Too small, by 1.66. diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-avg.errors b/threads/build/tests/threads/mlfqs/mlfqs-load-avg.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-load-avg.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-load-avg.o b/threads/build/tests/threads/mlfqs/mlfqs-load-avg.o index 6dbc4642ad20daf91205845a1cf67b351028410e..9b848d7eebe2ec8095c3d3dc8d485d10c3f30f3f 100644 GIT binary patch delta 100 zcmccNe8YKz7As@LW^GnOCW}U41}I?Tg)>?EM01PN89 expected explanation +------ -------- --- -------- ---------------------------------------- + 2 0.00 = 0.05 + 4 0.00 = 0.16 + 6 0.00 = 0.34 + 8 0.00 = 0.58 + 10 0.00 = 0.87 + 12 0.00 = 1.22 + 14 0.00 = 1.63 + 16 0.00 = 2.09 + 18 0.00 <<< 2.60 Too small, by 0.10. + 20 0.00 <<< 3.16 Too small, by 0.66. + 22 0.00 <<< 3.76 Too small, by 1.26. + 24 0.00 <<< 4.42 Too small, by 1.92. + 26 0.00 <<< 5.11 Too small, by 2.61. + 28 0.00 <<< 5.85 Too small, by 3.35. + 30 0.00 <<< 6.63 Too small, by 4.13. + 32 0.00 <<< 7.46 Too small, by 4.96. + 34 0.00 <<< 8.32 Too small, by 5.82. + 36 0.00 <<< 9.22 Too small, by 6.72. + 38 0.00 <<< 10.15 Too small, by 7.65. + 40 0.00 <<< 11.12 Too small, by 8.62. + 42 0.00 <<< 12.13 Too small, by 9.63. + 44 0.00 <<< 13.16 Too small, by 10.66. + 46 0.00 <<< 14.23 Too small, by 11.73. + 48 0.00 <<< 15.33 Too small, by 12.83. + 50 0.00 <<< 16.46 Too small, by 13.96. + 52 0.00 <<< 17.62 Too small, by 15.12. + 54 0.00 <<< 18.81 Too small, by 16.31. + 56 0.00 <<< 20.02 Too small, by 17.52. + 58 0.00 <<< 21.26 Too small, by 18.76. + 60 0.00 <<< 22.52 Too small, by 20.02. + 62 0.00 <<< 23.71 Too small, by 21.21. + 64 0.00 <<< 24.80 Too small, by 22.30. + 66 0.00 <<< 25.78 Too small, by 23.28. + 68 0.00 <<< 26.66 Too small, by 24.16. + 70 0.00 <<< 27.45 Too small, by 24.95. + 72 0.00 <<< 28.14 Too small, by 25.64. + 74 0.00 <<< 28.75 Too small, by 26.25. + 76 0.00 <<< 29.27 Too small, by 26.77. + 78 0.00 <<< 29.71 Too small, by 27.21. + 80 0.00 <<< 30.06 Too small, by 27.56. + 82 0.00 <<< 30.34 Too small, by 27.84. + 84 0.00 <<< 30.55 Too small, by 28.05. + 86 0.00 <<< 30.68 Too small, by 28.18. + 88 0.00 <<< 30.74 Too small, by 28.24. + 90 0.00 <<< 30.73 Too small, by 28.23. + 92 0.00 <<< 30.66 Too small, by 28.16. + 94 0.00 <<< 30.52 Too small, by 28.02. + 96 0.00 <<< 30.32 Too small, by 27.82. + 98 0.00 <<< 30.06 Too small, by 27.56. + 100 0.00 <<< 29.74 Too small, by 27.24. + 102 0.00 <<< 29.37 Too small, by 26.87. + 104 0.00 <<< 28.95 Too small, by 26.45. + 106 0.00 <<< 28.47 Too small, by 25.97. + 108 0.00 <<< 27.94 Too small, by 25.44. + 110 0.00 <<< 27.36 Too small, by 24.86. + 112 0.00 <<< 26.74 Too small, by 24.24. + 114 0.00 <<< 26.07 Too small, by 23.57. + 116 0.00 <<< 25.36 Too small, by 22.86. + 118 0.00 <<< 24.60 Too small, by 22.10. + 120 0.00 <<< 23.81 Too small, by 21.31. + 122 0.00 <<< 23.02 Too small, by 20.52. + 124 0.00 <<< 22.26 Too small, by 19.76. + 126 0.00 <<< 21.52 Too small, by 19.02. + 128 0.00 <<< 20.81 Too small, by 18.31. + 130 0.00 <<< 20.12 Too small, by 17.62. + 132 0.00 <<< 19.46 Too small, by 16.96. + 134 0.00 <<< 18.81 Too small, by 16.31. + 136 0.00 <<< 18.19 Too small, by 15.69. + 138 0.00 <<< 17.59 Too small, by 15.09. + 140 0.00 <<< 17.01 Too small, by 14.51. + 142 0.00 <<< 16.45 Too small, by 13.95. + 144 0.00 <<< 15.90 Too small, by 13.40. + 146 0.00 <<< 15.38 Too small, by 12.88. + 148 0.00 <<< 14.87 Too small, by 12.37. + 150 0.00 <<< 14.38 Too small, by 11.88. + 152 0.00 <<< 13.90 Too small, by 11.40. + 154 0.00 <<< 13.44 Too small, by 10.94. + 156 0.00 <<< 13.00 Too small, by 10.50. + 158 0.00 <<< 12.57 Too small, by 10.07. + 160 0.00 <<< 12.15 Too small, by 9.65. + 162 0.00 <<< 11.75 Too small, by 9.25. + 164 0.00 <<< 11.36 Too small, by 8.86. + 166 0.00 <<< 10.99 Too small, by 8.49. + 168 0.00 <<< 10.62 Too small, by 8.12. + 170 0.00 <<< 10.27 Too small, by 7.77. + 172 0.00 <<< 9.93 Too small, by 7.43. + 174 0.00 <<< 9.61 Too small, by 7.11. + 176 0.00 <<< 9.29 Too small, by 6.79. + 178 0.00 <<< 8.98 Too small, by 6.48. diff --git a/threads/build/tests/threads/mlfqs/mlfqs-nice-10.errors b/threads/build/tests/threads/mlfqs/mlfqs-nice-10.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-nice-10.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-nice-10.output b/threads/build/tests/threads/mlfqs/mlfqs-nice-10.output new file mode 100644 index 0000000..3733db6 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-nice-10.output @@ -0,0 +1,30 @@ +Kernel command line: -q -mlfqs run mlfqs-nice-10 +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 157,081,600 loops/s. +Boot complete. +Executing 'mlfqs-nice-10': +(mlfqs-nice-10) begin +(mlfqs-nice-10) Starting 10 threads... +(mlfqs-nice-10) Starting threads took 0 ticks. +(mlfqs-nice-10) Sleeping 40 seconds to let threads run, please wait... +(mlfqs-nice-10) Thread 0 received 300 ticks. +(mlfqs-nice-10) Thread 1 received 301 ticks. +(mlfqs-nice-10) Thread 2 received 300 ticks. +(mlfqs-nice-10) Thread 3 received 301 ticks. +(mlfqs-nice-10) Thread 4 received 300 ticks. +(mlfqs-nice-10) Thread 5 received 300 ticks. +(mlfqs-nice-10) Thread 6 received 300 ticks. +(mlfqs-nice-10) Thread 7 received 300 ticks. +(mlfqs-nice-10) Thread 8 received 301 ticks. +(mlfqs-nice-10) Thread 9 received 300 ticks. +(mlfqs-nice-10) end +Execution of 'mlfqs-nice-10' complete. +Timer: 4025 ticks +Thread: 1000 idle ticks, 3026 kernel ticks, 0 user ticks +Console: 1043 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/mlfqs/mlfqs-nice-10.result b/threads/build/tests/threads/mlfqs/mlfqs-nice-10.result new file mode 100644 index 0000000..3195d4e --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-nice-10.result @@ -0,0 +1,14 @@ +FAIL +Some tick counts were missing or differed from those expected by more than 25. +thread actual <-> expected explanation +------ -------- --- -------- ---------------------------------------- + 0 300 <<< 672 Too small, by 347. + 1 301 <<< 588 Too small, by 262. + 2 300 <<< 492 Too small, by 167. + 3 301 <<< 408 Too small, by 82. + 4 300 = 316 + 5 300 >>> 232 Too big, by 43. + 6 300 >>> 152 Too big, by 123. + 7 300 >>> 92 Too big, by 183. + 8 301 >>> 40 Too big, by 236. + 9 300 >>> 8 Too big, by 267. diff --git a/threads/build/tests/threads/mlfqs/mlfqs-nice-2.errors b/threads/build/tests/threads/mlfqs/mlfqs-nice-2.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-nice-2.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-nice-2.output b/threads/build/tests/threads/mlfqs/mlfqs-nice-2.output new file mode 100644 index 0000000..5bba2c9 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-nice-2.output @@ -0,0 +1,22 @@ +Kernel command line: -q -mlfqs run mlfqs-nice-2 +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 78,540,800 loops/s. +Boot complete. +Executing 'mlfqs-nice-2': +(mlfqs-nice-2) begin +(mlfqs-nice-2) Starting 2 threads... +(mlfqs-nice-2) Starting threads took 1 ticks. +(mlfqs-nice-2) Sleeping 40 seconds to let threads run, please wait... +(mlfqs-nice-2) Thread 0 received 1501 ticks. +(mlfqs-nice-2) Thread 1 received 1501 ticks. +(mlfqs-nice-2) end +Execution of 'mlfqs-nice-2' complete. +Timer: 4022 ticks +Thread: 1000 idle ticks, 3022 kernel ticks, 0 user ticks +Console: 673 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/mlfqs/mlfqs-nice-2.result b/threads/build/tests/threads/mlfqs/mlfqs-nice-2.result new file mode 100644 index 0000000..a5be8f0 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-nice-2.result @@ -0,0 +1,6 @@ +FAIL +Some tick counts were missing or differed from those expected by more than 50. +thread actual <-> expected explanation +------ -------- --- -------- ---------------------------------------- + 0 1501 <<< 1904 Too small, by 353. + 1 1501 >>> 1096 Too big, by 355. diff --git a/threads/build/tests/threads/mlfqs/mlfqs-recent-1.errors b/threads/build/tests/threads/mlfqs/mlfqs-recent-1.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/mlfqs/mlfqs-recent-1.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/mlfqs/mlfqs-recent-1.o b/threads/build/tests/threads/mlfqs/mlfqs-recent-1.o index 655d8f6005735fc4f338cbf057092c3082ceb490..352b54b6f6e4e448ea4952e0887595db5759965f 100644 GIT binary patch delta 40 qcmZp$Xt3B|!NORv*^z delta 40 qcmZp$Xt3B|!NOR)*^ expected explanation +------ -------- --- -------- ---------------------------------------- + 2 0.00 <<< 6.40 Too small, by 3.90. + 4 0.00 <<< 12.60 Too small, by 10.10. + 6 0.00 <<< 18.61 Too small, by 16.11. + 8 0.00 <<< 24.44 Too small, by 21.94. + 10 0.00 <<< 30.08 Too small, by 27.58. + 12 0.00 <<< 35.54 Too small, by 33.04. + 14 0.00 <<< 40.83 Too small, by 38.33. + 16 0.00 <<< 45.96 Too small, by 43.46. + 18 0.00 <<< 50.92 Too small, by 48.42. + 20 0.00 <<< 55.73 Too small, by 53.23. + 22 0.00 <<< 60.39 Too small, by 57.89. + 24 0.00 <<< 64.90 Too small, by 62.40. + 26 0.00 <<< 69.27 Too small, by 66.77. + 28 0.00 <<< 73.50 Too small, by 71.00. + 30 0.00 <<< 77.60 Too small, by 75.10. + 32 0.00 <<< 81.56 Too small, by 79.06. + 34 0.00 <<< 85.40 Too small, by 82.90. + 36 0.00 <<< 89.12 Too small, by 86.62. + 38 0.00 <<< 92.72 Too small, by 90.22. + 40 0.00 <<< 96.20 Too small, by 93.70. + 42 0.00 <<< 99.57 Too small, by 97.07. + 44 0.00 <<< 102.84 Too small, by 100.34. + 46 0.00 <<< 106.00 Too small, by 103.50. + 48 0.00 <<< 109.06 Too small, by 106.56. + 50 0.00 <<< 112.02 Too small, by 109.52. + 52 0.00 <<< 114.89 Too small, by 112.39. + 54 0.00 <<< 117.66 Too small, by 115.16. + 56 0.00 <<< 120.34 Too small, by 117.84. + 58 0.00 <<< 122.94 Too small, by 120.44. + 60 0.00 <<< 125.46 Too small, by 122.96. + 62 0.00 <<< 127.89 Too small, by 125.39. + 64 0.00 <<< 130.25 Too small, by 127.75. + 66 0.00 <<< 132.53 Too small, by 130.03. + 68 0.00 <<< 134.73 Too small, by 132.23. + 70 0.00 <<< 136.86 Too small, by 134.36. + 72 0.00 <<< 138.93 Too small, by 136.43. + 74 0.00 <<< 140.93 Too small, by 138.43. + 76 0.00 <<< 142.86 Too small, by 140.36. + 78 0.00 <<< 144.73 Too small, by 142.23. + 80 0.00 <<< 146.54 Too small, by 144.04. + 82 0.00 <<< 148.29 Too small, by 145.79. + 84 0.00 <<< 149.99 Too small, by 147.49. + 86 0.00 <<< 151.63 Too small, by 149.13. + 88 0.00 <<< 153.21 Too small, by 150.71. + 90 0.00 <<< 154.75 Too small, by 152.25. + 92 0.00 <<< 156.23 Too small, by 153.73. + 94 0.00 <<< 157.67 Too small, by 155.17. + 96 0.00 <<< 159.06 Too small, by 156.56. + 98 0.00 <<< 160.40 Too small, by 157.90. + 100 0.00 <<< 161.70 Too small, by 159.20. + 102 0.00 <<< 162.96 Too small, by 160.46. + 104 0.00 <<< 164.18 Too small, by 161.68. + 106 0.00 <<< 165.35 Too small, by 162.85. + 108 0.00 <<< 166.49 Too small, by 163.99. + 110 0.00 <<< 167.59 Too small, by 165.09. + 112 0.00 <<< 168.66 Too small, by 166.16. + 114 0.00 <<< 169.69 Too small, by 167.19. + 116 0.00 <<< 170.69 Too small, by 168.19. + 118 0.00 <<< 171.65 Too small, by 169.15. + 120 0.00 <<< 172.58 Too small, by 170.08. + 122 0.00 <<< 173.49 Too small, by 170.99. + 124 0.00 <<< 174.36 Too small, by 171.86. + 126 0.00 <<< 175.20 Too small, by 172.70. + 128 0.00 <<< 176.02 Too small, by 173.52. + 130 0.00 <<< 176.81 Too small, by 174.31. + 132 0.00 <<< 177.57 Too small, by 175.07. + 134 0.00 <<< 178.31 Too small, by 175.81. + 136 0.00 <<< 179.02 Too small, by 176.52. + 138 0.00 <<< 179.72 Too small, by 177.22. + 140 0.00 <<< 180.38 Too small, by 177.88. + 142 0.00 <<< 181.03 Too small, by 178.53. + 144 0.00 <<< 181.65 Too small, by 179.15. + 146 0.00 <<< 182.26 Too small, by 179.76. + 148 0.00 <<< 182.84 Too small, by 180.34. + 150 0.00 <<< 183.41 Too small, by 180.91. + 152 0.00 <<< 183.96 Too small, by 181.46. + 154 0.00 <<< 184.49 Too small, by 181.99. + 156 0.00 <<< 185.00 Too small, by 182.50. + 158 0.00 <<< 185.49 Too small, by 182.99. + 160 0.00 <<< 185.97 Too small, by 183.47. + 162 0.00 <<< 186.43 Too small, by 183.93. + 164 0.00 <<< 186.88 Too small, by 184.38. + 166 0.00 <<< 187.31 Too small, by 184.81. + 168 0.00 <<< 187.73 Too small, by 185.23. + 170 0.00 <<< 188.14 Too small, by 185.64. + 172 0.00 <<< 188.53 Too small, by 186.03. + 174 0.00 <<< 188.91 Too small, by 186.41. + 176 0.00 <<< 189.27 Too small, by 186.77. + 178 0.00 <<< 189.63 Too small, by 187.13. diff --git a/threads/build/tests/threads/priority-change.errors b/threads/build/tests/threads/priority-change.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-change.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-change.o b/threads/build/tests/threads/priority-change.o index 54746a48332b08dda549d53d96b3518f70d9d6ec..52d7ab5088cb086072cb69cdaa9f19a7850738cf 100644 GIT binary patch delta 50 tcmX?MaKd0i0W)L8;zDLd@jgKYC}0zSGg%uqcd%SzV=^<@oWT8p2LKt23ZVc1 delta 50 tcmX?MaKd0i0W)Lq;zDLd@lHVoC}0zSGg)gkcd%SzV=}SaoWT8p2LKn)3Y7o= diff --git a/threads/build/tests/threads/priority-change.output b/threads/build/tests/threads/priority-change.output new file mode 100644 index 0000000..03d3a0e --- /dev/null +++ b/threads/build/tests/threads/priority-change.output @@ -0,0 +1,22 @@ +Kernel command line: -q run priority-change +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 153,804,800 loops/s. +Boot complete. +Executing 'priority-change': +(priority-change) begin +(priority-change) Creating a high-priority thread 2. +(priority-change) Thread 2 now lowering priority. +(priority-change) Thread 2 should have just lowered its priority. +(priority-change) Thread 2 exiting. +(priority-change) Thread 2 should have just exited. +(priority-change) end +Execution of 'priority-change' complete. +Timer: 25 ticks +Thread: 0 idle ticks, 25 kernel ticks, 0 user ticks +Console: 689 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-change.result b/threads/build/tests/threads/priority-change.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/priority-change.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/priority-condvar.errors b/threads/build/tests/threads/priority-condvar.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-condvar.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-condvar.o b/threads/build/tests/threads/priority-condvar.o index d1947f57c31ed95815fad22479e2d3dea51a1404..d6bae3899023778536f5eed6cab7665ad34d7fe0 100644 GIT binary patch delta 3502 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 Z>=>T|{j=kE9G)F_cSNjuA48_D;(yU$F`57X diff --git a/threads/build/tests/threads/priority-condvar.output b/threads/build/tests/threads/priority-condvar.output new file mode 100644 index 0000000..6b7d6e3 --- /dev/null +++ b/threads/build/tests/threads/priority-condvar.output @@ -0,0 +1,47 @@ +Kernel command line: -q run priority-condvar +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 26,188,800 loops/s. +Boot complete. +Executing 'priority-condvar': +(priority-condvar) begin +(priority-condvar) Thread priority 23 starting. +(priority-condvar) Thread priority 22 starting. +(priority-condvar) Thread priority 21 starting. +(priority-condvar) Thread priority 30 starting. +(priority-condvar) Thread priority 29 starting. +(priority-condvar) Thread priority 28 starting. +(priority-condvar) Thread priority 27 starting. +(priority-condvar) Thread priority 26 starting. +(priority-condvar) Thread priority 25 starting. +(priority-condvar) Thread priority 24 starting. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 30 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 29 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 28 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 27 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 26 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 25 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 24 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 23 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 22 woke up. +(priority-condvar) Signaling... +(priority-condvar) Thread priority 21 woke up. +(priority-condvar) end +Execution of 'priority-condvar' complete. +Timer: 29 ticks +Thread: 0 idle ticks, 29 kernel ticks, 0 user ticks +Console: 1706 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-condvar.result b/threads/build/tests/threads/priority-condvar.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/priority-condvar.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/priority-donate-chain.errors b/threads/build/tests/threads/priority-donate-chain.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-chain.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-chain.o b/threads/build/tests/threads/priority-donate-chain.o index f2c40d9e75e54b25a393820f219b0e0aa71aaccc..10aa9c01294cbef0749e0192a049c0888289b8a6 100644 GIT binary patch delta 4179 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 ILU4TkzfwP4n*aa+ diff --git a/threads/build/tests/threads/priority-donate-chain.output b/threads/build/tests/threads/priority-donate-chain.output new file mode 100644 index 0000000..87df79c --- /dev/null +++ b/threads/build/tests/threads/priority-donate-chain.output @@ -0,0 +1,54 @@ +Kernel command line: -q run priority-donate-chain +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 153,804,800 loops/s. +Boot complete. +Executing 'priority-donate-chain': +(priority-donate-chain) begin +(priority-donate-chain) main got lock. +(priority-donate-chain) main should have priority 3. Actual priority: 3. +(priority-donate-chain) main should have priority 6. Actual priority: 6. +(priority-donate-chain) main should have priority 9. Actual priority: 9. +(priority-donate-chain) main should have priority 12. Actual priority: 12. +(priority-donate-chain) main should have priority 15. Actual priority: 15. +(priority-donate-chain) main should have priority 18. Actual priority: 18. +(priority-donate-chain) main should have priority 21. Actual priority: 21. +(priority-donate-chain) thread 1 got lock +(priority-donate-chain) thread 1 should have priority 21. Actual priority: 21 +(priority-donate-chain) thread 2 got lock +(priority-donate-chain) thread 2 should have priority 21. Actual priority: 21 +(priority-donate-chain) thread 3 got lock +(priority-donate-chain) thread 3 should have priority 21. Actual priority: 21 +(priority-donate-chain) thread 4 got lock +(priority-donate-chain) thread 4 should have priority 21. Actual priority: 21 +(priority-donate-chain) thread 5 got lock +(priority-donate-chain) thread 5 should have priority 21. Actual priority: 21 +(priority-donate-chain) thread 6 got lock +(priority-donate-chain) thread 6 should have priority 21. Actual priority: 21 +(priority-donate-chain) thread 7 got lock +(priority-donate-chain) thread 7 should have priority 21. Actual priority: 21 +(priority-donate-chain) thread 7 finishing with priority 21. +(priority-donate-chain) interloper 7 finished. +(priority-donate-chain) thread 6 finishing with priority 18. +(priority-donate-chain) interloper 6 finished. +(priority-donate-chain) thread 5 finishing with priority 15. +(priority-donate-chain) interloper 5 finished. +(priority-donate-chain) thread 4 finishing with priority 12. +(priority-donate-chain) interloper 4 finished. +(priority-donate-chain) thread 3 finishing with priority 9. +(priority-donate-chain) interloper 3 finished. +(priority-donate-chain) thread 2 finishing with priority 6. +(priority-donate-chain) interloper 2 finished. +(priority-donate-chain) thread 1 finishing with priority 3. +(priority-donate-chain) interloper 1 finished. +(priority-donate-chain) main finishing with priority 0. +(priority-donate-chain) end +Execution of 'priority-donate-chain' complete. +Timer: 38 ticks +Thread: 0 idle ticks, 38 kernel ticks, 0 user ticks +Console: 2676 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-donate-chain.result b/threads/build/tests/threads/priority-donate-chain.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-chain.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/priority-donate-lower.errors b/threads/build/tests/threads/priority-donate-lower.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-lower.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-lower.o b/threads/build/tests/threads/priority-donate-lower.o index 77ed5127283bb11e5e1a19cabbc814677e8da908..cc508cb4cf7af4805c17f8bd324d54be0cf80aaa 100644 GIT binary patch delta 3136 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 NOPST$7>tyc{0CIC9<%@e diff --git a/threads/build/tests/threads/priority-donate-lower.output b/threads/build/tests/threads/priority-donate-lower.output new file mode 100644 index 0000000..c141150 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-lower.output @@ -0,0 +1,24 @@ +Kernel command line: -q run priority-donate-lower +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 111,206,400 loops/s. +Boot complete. +Executing 'priority-donate-lower': +(priority-donate-lower) begin +(priority-donate-lower) Main thread should have priority 41. Actual priority: 41. +(priority-donate-lower) Lowering base priority... +(priority-donate-lower) Main thread should have priority 41. Actual priority: 41. +(priority-donate-lower) acquire: got the lock +(priority-donate-lower) acquire: done +(priority-donate-lower) acquire must already have finished. +(priority-donate-lower) Main thread should have priority 21. Actual priority: 21. +(priority-donate-lower) end +Execution of 'priority-donate-lower' complete. +Timer: 28 ticks +Thread: 0 idle ticks, 28 kernel ticks, 0 user ticks +Console: 905 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-donate-lower.result b/threads/build/tests/threads/priority-donate-lower.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-lower.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/priority-donate-multiple.errors b/threads/build/tests/threads/priority-donate-multiple.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-donate-multiple.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-donate-multiple.o b/threads/build/tests/threads/priority-donate-multiple.o index 234e6344b1555d7f1ab619952b6f56b0c15d6bd1..12470cd5c09d6184488d129aedc35c3ce5c105ca 100644 GIT binary patch delta 3402 zcmbtXeQZ-z6u-CK`dYe`elXtNwvH7R+I70I0FD7!I}(CZLE#TFhlG@ELMQBljqstQ z%;*v@DD_CtfDw$501>GT8dMgi#)xPlF$#+WQgnX_$ykVF`Ujr--g#xciZSsfz3-mi z?|05U_uTt#+aphoweAmD=7dt=+j;zKdPe>x9`RckV-EZwE}W@l4`5#>sYpq%~j zcBZucW<^X_DQkvtoM()m`W?Qpg<1?_{aVy4Fve}(Jd9zC+ua!UVPo7eikgki{->GJ zdmY1XFF>0qTjmK@&J=q>PXVp%cHec-lp&{>&bf-&L$fS!UHLXqsC(oI55*<&atXlb zxjwe&y_I1Ks8K~)Q*CI7kNZJkF$=c|(jy?n-injzwzB;yqFzDqrJ@(D&v-C?IEm_2 zK4J2ui?FvOTc+vOGO=7sa$}LOMC->PPzW0>~B@guHldk=g(R>vH#6U@?ld8aeqXa^aJE)9#K@yT$!!3WOLsJ zCO%Ut@1cHu7!)dpI}0oOvO`-*cBl-%apwU%-B#B^=OSmbZ$Um|g?ZfSYIHi$6d=a~ z;tHXn%!!AX^Jbqw+yU0?t3|{!8wYrvYS2l@gPMnXm1yz7C7RIr^0Tomxa-sA<(Nf# zp6AT7oY$dpdJT_g{}@9>C%ciKh*2zJH2dah!q941L|d$NxeQOnO45H8T;T=XU9tXn zch|a(O&yyd<62v=Ef()zhrp)pwrA37rgm~iJ8AmhOLxH8-m!k`hIKu$u6P^#>W&n~ zyHMY=CEmRy-oGO~)8prGs;C?y-p2H9ughv}sGE~c79GpihG{=M^b|LlxGuV2WvR;V zK)iGrp8=^-RSSz-4_j34nSSR9=4u;yPVjJ#C{4fWTO;$TwD&^2itwP0ueo>V&JZzIa%dwwBHjLMD|rF{%K-g2R>8P-j`T&_H)pSz89p(`zYtj5JTTliT#AwaY)Wo{S3cEL^JC) zMDyAN4o5>i?IB6gN&Zo|h0&XdHS2|^R&T2zFiX|iB=#h+J+KnlT@rhd*u5}->_LgW zL+m?{LN+C_wX}ajkU{o>#O@;YGI%PnA`*L&*l}p8R1`gcnRTiC49bFPXmWbm7c_MNn^g~J%pRP^$O+Ce;<5M!dKH=d+&oM4Lp%O4v&z- z0m;F{4@>w}(jU1GeoVp-h>Bu6nS;+|%p^X@AsBns(6bL^Jgv>X#`%%-L{Q=U9Pp}o z$L>-?+yhN${fs|=MC*lts(StyoUMxRF_^&qIcNw+EEPf68E$m^r2jWyYz&6O_53TC xKx)hjvEX!gqB?{gJE|j=1wr_@y3w-H2Y*yI^2^ZhK*X_I{~5>FX=n<~_zQ>6TW|mX delta 3197 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 delta 3011 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 delta 3399 zcmZ{mdu$X{6o>EKZFjd_+;(^APNy$gC}r6eDx}y}pi7A&iWN&i6a_ z+;i{Td0d^h`RVOZ*UT}=*xD?4DD_TOn~V=gAw&)y!lO+>+b43BBc!)gN&a=KmI?2? zJ~tvW$~%8M+F6#p;7gd{iH`BFTOqt{NtX}}7H_Y^@Y}-cGt7+WZ19DX@RjF;U-kAs zA$-xB61I82HHM)myjiM)H=u^OPXX&JP1|Lj-6BhIueK1+fuAr?9eLx>%M&i?QDVMA zrseItg1%3|Rv8XrSF~IPc%{Zjv%+7RLGMy!vjtax|88EP7tAMzjEYmY@x!*g(0+^axXw+bR=F*i9;B?(Ry+%Y8 zGzD=E0;@S$He}9bQ>HUWc`H-dmFXN{j*-4QgQP)s$GjndpRpWOmbtHVk*_M(>gqB z#s?xQ+<_85?tLi}VMX#PL?T>^B)hLwcoEm9=xYMja6%NOei(K^<}P2d ze&wRIi`T4L3P%GisYu>22^aFqcLW!vRtF!JsZT;%-R_3Q#?;hEb+-NmEvvaz(N?dW z03Mg2yI7M^*j4<9d>s0VHGM9=SX7&4p3{+C5G<*c<0=_}OJjjhYNI61Rn zAF4|!&sL@aoG;PjWAIl=t^NST9A+{5VM3{<|3bU<6jMKk#ig3Dk<@;s-k_Y<7;htf zlkrQG=Rd~(Bp#$$+AH>>l_w@jnb1uM#xhxn^u&swDq4 z#(m`XFusk-+Ryl0D(ij5_mcmyb&WX-_#6qxScfI#e+C^Dnqlu%d$rcl@V~KM$H~9J z_zv>#FmAsUvhfqBnw|d~Emp|l>2l9ffQJ%W)L|A(7^&$kOg%;FGFXgi2UG0_ zcO&$mx`R}^ltZd6Y`t)Dq-LCDeeIXcMaDPMh<~tbNm{t;EFOrL;)h!`dtQCSV-|;& zQ9-?)#hCwg*ykbW9;NAXm|8@YJOfEo+eo!%cbL@Yp&!+qOx;52J_uH7`iCs@e6vy^ zjze>$W}If~N2H!-`~>kUj9(^xopBGXz-`7S63@nOH#WFf8Pr3T?X2E(Vqtom2FwntKZQIC{I;N;l) zoNtP(=qSioeaxrZf{eKs0b*gkl1v2=omnrKP0?Q1p;Q zrJ&Mde32MLjX{hW=!s&2kK!LZA_PPNM5vU9V8lOwh`|T=&F;5H?+cye_U8Ba9y2?; zz3!^t(AZn792~uS)K{_miSVV^HeQ{jFvcA4VR70x&X}FWOE8(MwNi3+2b!5$_qz=^ z!=*0hhk1-SfAW^ttQOarpm8C1CYbZ4|fBw`AWlcHNvs=W@18dzOD0IXd~X*_umh)!5OPmw9i<#Tb(k(e!4 zXLok2U|f?X7vyL*GD%~y$cj%}a0;+ThVgloa8*LJDF&J^1tnDP4KQ9O?MkRERVs3P z30*|M{-NNA>`%4lL$D@##`WDpx6@6`J+!vi-W5pbV{lbKs;>9_|hF5})bD>79#Wr$q~T9*1kgmSnttQg}l zWrib3eKm9W$|X#GoCOAz7?&OiQePAH#5dr%YW=<`(_{|6XRIzGbSIbfWU2I0R;^Fc+mp;F#xkObc6j(R zk+MTss0uq)!dUo~q!~&=M|(qeprd_pOIyowao+W8!m5Tq_hKO0I+~V+>)c;(M>Bd> ziV>bXXLC#A(@PewXlM^K37@ASG0+bF6Fd$aMVvdt zV78{0V3p^Ix>LAwH2pTJy+rL1Q*wN~OLT(g9BO-sr%}9@qxlms!%swY!f}>k(EN(5 zZZ@v#SHkxRo~!8#G3pLcpA%)Ej>p(6c!9|wPq^H%ZK46xBJ5;5QRj*fs2gPfjK_(( zNc89W_y^*8uI8U>TG%?`@nGGpgik>JL&B$unmixR5HI9u!AjCgC1Mxhry?#QydUwygg=Q@s|kMt ztIss~VB{Wtj_YVA0do;QL->V=Un2ZO%(Ij5&4~9z@j=FxA+bM7VC)ihdV=uvSl|rd zbMWZ?Lim3XUncxniJ?BbMg;jflEZ-sty^;l8`23s191W2JIpk!lJF&nr@^-~Oi|}Xhq|O&*g_^$+Rjd1rxaq4%R4PVoA^rjMzbit8 zn*J$K`!MRL=m+&@qRzn%uZru1TJTSzzK*I5eiz7Lb-2ic%tiR8kk2CgXULBt{0ZdC zOj-)CIWq7lpe>3+_eLx@)H}cHc1k_k=%) z*$xcDA0_-A%>Sdw-+S*^!Wj~<4Fk>*z8sI?MZ#PDtAw}yvR;eg;kmbjn^6K|`*3A{ z4a46dd^(;B1%7YJVeRO*CS-QP8-DrTNhHE#3~&?vFc#1VZ}~F`--Z6%VfcrDm-Qo^ z?#HbjPXgL-t0xiO@=qcB$GCt;hv6T)$7dVA8!qEk&%P&^e7OI?1Dt;p?isCeK2L;7 z${nt3GkdQ%4yeNTCzG+w!ab&(9}@mC)yno!V&j-9ep?&@aBP%_FRgMMahXx;MNMhB xGRrGAmR2ciyrRLID$bV{^L4`EtL9gQAFiiG4_v z%Y5JnDAW^#C6G9c2t){@3IY*DMZusEfrya+L*oMw5rTn46Mv`ockkL?+(~-x`F*~> z$9dh`wtMd0){T|68{xk2!Aw3Z@pI-P9=*mHV@~+6EcIUKJ6N_f7+0F5&oKJ4j)@IQWyrPs38pOSvoSWt;EU_Q{SH$cdNLyzD;>T*k?T0(lF_b* znWOS17v~%&7vzA*lnfc5xMi6k5*SyW?Awx8JIjz?zAGfbEbl!1F>PH#=A!f&>oN(@PjvtD)^F)7&Mt^Rh#Tco=!z9?TRvaNx-mJv@iw#pGHj%zTsq2g$EKyL$JWE>{D z_V~A*hFK=ZV~@XyX1N@gE&ilmjyY-A<6Amq_2EYK`Tltw%Pp%_mE-7wj7}(Jw1C;! zhn-cKOvmD5j)9v!-reb+&v=6|w`tZC-i17tu^$X(<+_ErPGvGCV`D~av*ms?HTEPm zbj$BYnbxw>qOPPyr75>ll{AAXgJsK2RrG>XE6tFFm|O1DQt08~a-Rpg%e3>DM`{|b z0m~{J=oVRBWle$UU_4F(N@tGMcX|rMjU06%b?Gi#ylf$pA6NNcd9n(uG|F1hFl3XS z!R_t|E|)9j8|xb9;&7yfR5H8!9v4iB^O#SP+#rkjB0xM9(18PA13}U~qYYaMPQim`%p(BWpRF!7;#jxBq^+!YHSU((jmK2Hquu1f6ke!xY$uT*UEwI=NT zl{~RJf0o@gsy=Zc(2}WL#U1eCU9Pfx+l&y?i&Z{bv=>k2FN?lnReKTMT(UJLuPpfn zl%5}p{^AI465f&sUo9qVkxK_G0!@po)NtzDt}HKEQx6I&}TRC z`9|o;zef01Y_Rka?hb(5%J5eM}_tmVbr=K9#h zQBb#HOchZB;xABVpgM`D-69xN`Bc#mjA*^+vyAx65M4pF?mCXGhp4|Ie}`~IoCrqr z98^ybwHepp65-`I$6JKoKzkqNGv|&&W~T{v82NQ}kqEh1_;138BDdk)EU*{-+=Tyx z11ccgd~e^MoW*IuhNI)3vM@3hes;?w!9ojDuJ_hYL;b(DJZxKER7itIL^3^HZ z9^)Ri4&(_G-X{S&(LO9DmaDpXoXyobgyk=jC>6K$55gB4)maAWW}ds~=ONsDHHuu*~-xF5pAIECb8#mG6@kMuIgVA z)y(_@;pUWnBm5scc*XFgEt|PC2as1HmlKiQX*i=ggNsmwS9^fODj3@)rdOz1M@j}M zj7POobb-2!s9Cr&yF?$T2Z*`?)z3wLg{pr?RP*#*B>X9;D%&-}_ZXPnCHyqZy&+W_OVsC4oh(j;RDA|fx8usZg52DT;~2GW5dJ#h zZ)2V}2I1Qbu3MYE9Sii50F&<^d;|KwN4WWX?IYauKaj?C#$Lk}J)9;C@J|V!g8p9& z!oMc`Hm<}e!atIEpg#Ma2xh=}!W(4(v`d6<#sm2a;f+ae#;y_`MgKp6%lg(9m;#3% zp{YE9OPxu013t$t!cBh<;X919%s;^IOaAOJg~9qNa+f z$Y|$zzhQ+%f4)z2M#_1X=#50VL-fPdBZ9S2-YVMQIz{x>MxBje!+&qmfBeXt{{S=q BThjml diff --git a/threads/build/tests/threads/priority-fifo.output b/threads/build/tests/threads/priority-fifo.output new file mode 100644 index 0000000..731d222 --- /dev/null +++ b/threads/build/tests/threads/priority-fifo.output @@ -0,0 +1,35 @@ +Kernel command line: -q run priority-fifo +0 ~ 9fc00 1 +100000 ~ 13e0000 1 +Pintos booting with: + base_mem: 0x0 ~ 0x9fc00 (Usable: 639 kB) + ext_mem: 0x100000 ~ 0x13e0000 (Usable: 19,328 kB) +Calibrating timer... 153,804,800 loops/s. +Boot complete. +Executing 'priority-fifo': +(priority-fifo) begin +(priority-fifo) 16 threads will iterate 16 times in the same order each time. +(priority-fifo) If the order varies then there is a bug. +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +(priority-fifo) end +Execution of 'priority-fifo' complete. +Timer: 31 ticks +Thread: 0 idle ticks, 32 kernel ticks, 0 user ticks +Console: 1597 characters output +Keyboard: 0 keys pressed +Powering off... diff --git a/threads/build/tests/threads/priority-fifo.result b/threads/build/tests/threads/priority-fifo.result new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/threads/build/tests/threads/priority-fifo.result @@ -0,0 +1 @@ +PASS diff --git a/threads/build/tests/threads/priority-preempt.errors b/threads/build/tests/threads/priority-preempt.errors new file mode 100644 index 0000000..a2f7a82 --- /dev/null +++ b/threads/build/tests/threads/priority-preempt.errors @@ -0,0 +1 @@ +qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] diff --git a/threads/build/tests/threads/priority-preempt.o b/threads/build/tests/threads/priority-preempt.o index 480ce5a2d1f08685ffbfbbb72f6d3f8f0f09eb35..bfeca3bdff2918569bf47a893dd65bc923f85816 100644 GIT binary patch delta 69 zcmexh{K0s`L}tc{&6Ak<7#TYzFJuu_>K0^x0yY6SleHJYY}|Z<#gCoY(!hMPCeLwR E03JaNf&c&j delta 69 zcmexh{K0s`L}td~&6Ak<7#W)n1md+-0nq948viSUq{0r~+fx=If$HLN1mj42ebQ zWqL-27M2X9#fj;u4Ds=4rFqHm@p?u^2IdS!rFrosiN)CriOD6I`FX`aQ6pnyHAZHe IeKnZX0ij(aqyPW_ delta 115 zcmcaGkMY7h#tmA$jK!O^c|+J4Dp5mmD9jXJlY% z#!!@+o>^RyS`?p=n3s~1T7)cZW`WEzH$&!Gm>}~k4JZ3ch)E+EZHcVc(7p5mmD9jXJlYv z$WWA;o>^RyS`?p=n3s~1T7)cZYK+V?GeqH8BJ<46Ci_c>Nh29;fuh&Ka`Sn!NCN=V COf%*H diff --git a/threads/build/threads/intr-stubs.o b/threads/build/threads/intr-stubs.o index 508820b73dd35e597b2e35eb1b67c2b693118b21..a8b029c67a292b3b3a698998dea507a69ea10441 100644 GIT binary patch delta 37 ocmeC!#MH5gX#i_@% diff --git a/threads/build/threads/loader.o b/threads/build/threads/loader.o index 69f665950eb10027e97bedbfdba5faee14c8856f..67321218d6e655db092cea00b0a9e11e0fdb808f 100644 GIT binary patch delta 35 mcmZqBY0%lg!Y&pOhoqY9z` delta 35 mcmZqBY0%lg!Y=0P>=9O#q*u(KUy@s(pPUTgZhu+Y1~3 diff --git a/threads/build/threads/mmu.o b/threads/build/threads/mmu.o index 6e6abf16a78ab05df81a098ed4d4cc80f0c063e3..11243a80f38ba93afe175a2f563cd36dac4d4c67 100644 GIT binary patch delta 153 zcmbQSmvP2k#tk~6j1`-8MI970EG!rbQVLSz%M)|58RFy9O7oKAnj`TH4UCa_hK49SOJtrgvMGiprkh>Of;9kbK`zk% delta 153 zcmbQSmvP2k#tk~6jK!OEMI970%#9feQVLSz%M)|58RFy9O7oKA;M1& diff --git a/threads/build/threads/synch.o b/threads/build/threads/synch.o index e8c4ebeeaffda84b7fb9d34f7ee0311f8035de70..7d296516a5ab2a66e6b35236b8e34c93d687afe1 100644 GIT binary patch literal 27360 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 A`~Uy| literal 26104 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 D%2=$% literal 37976 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

    1xV@}@Vg^3b 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 + struct thread *cur = thread_current(); + cur->wait_on_lock = lock; + list_insert_ordered(&lock->holder->donations, &cur->donation_elem, + thread_compare_donate_priority,NULL); + donate_priority(); + } + sema_down (&lock->semaphore); + thread_current()->wait_on_lock = NULL; lock->holder = thread_current (); } @@ -230,6 +239,10 @@ lock_release (struct lock *lock) { ASSERT (lock != NULL); ASSERT (lock_held_by_current_thread (lock)); + // 두줄 추가 + remove_with_lock(lock); + refresh_priority(); + lock->holder = NULL; sema_up (&lock->semaphore); } @@ -334,7 +347,8 @@ cond_broadcast (struct condition *cond, struct lock *lock) { cond_signal (cond, lock); } -bool cmp_sem_priority(const struct list_elem *a, const struct list_elem *b, void *aux UNUSED){ +bool +cmp_sem_priority(const struct list_elem *a, const struct list_elem *b, void *aux UNUSED){ struct semaphore_elem *sa = list_entry(a, struct semaphore_elem, elem); struct semaphore_elem *sb = list_entry(b, struct semaphore_elem, elem); diff --git a/threads/thread.c b/threads/thread.c index 3a1c85b..463048f 100644 --- a/threads/thread.c +++ b/threads/thread.c @@ -44,29 +44,29 @@ static struct lock tid_lock; static struct list destruction_req; /* Statistics. */ -static long long idle_ticks; /* # of timer ticks spent idle. */ -static long long kernel_ticks; /* # of timer ticks in kernel threads. */ -static long long user_ticks; /* # of timer ticks in user programs. */ +static long long idle_ticks; /* # of timer ticks spent idle. */ +static long long kernel_ticks; /* # of timer ticks in kernel threads. */ +static long long user_ticks; /* # of timer ticks in user programs. */ /* Scheduling. */ -#define TIME_SLICE 4 /* # of timer ticks to give each thread. */ -static unsigned thread_ticks; /* # of timer ticks since last yield. */ +#define TIME_SLICE 4 /* # of timer ticks to give each thread. */ +static unsigned thread_ticks; /* # of timer ticks since last yield. */ /* If false (default), use round-robin scheduler. If true, use multi-level feedback queue scheduler. Controlled by kernel command-line option "-o mlfqs". */ bool thread_mlfqs; -static void kernel_thread (thread_func *, void *aux); +static void kernel_thread(thread_func *, void *aux); -static void idle (void *aux UNUSED); -static struct thread *next_thread_to_run (void); -static void init_thread (struct thread *, const char *name, int priority); +static void idle(void *aux UNUSED); +static struct thread *next_thread_to_run(void); +static void init_thread(struct thread *, const char *name, int priority); static void do_schedule(int status); -static void schedule (void); -static tid_t allocate_tid (void); +static void schedule(void); +static tid_t allocate_tid(void); -int64_t next_tick_to_awake = INT64_MAX; +int64_t next_tick_to_awake; /* Returns true if T appears to point to a valid thread. */ #define is_thread(t) ((t) != NULL && (t)->magic == THREAD_MAGIC) @@ -76,13 +76,12 @@ int64_t next_tick_to_awake = INT64_MAX; * down to the start of a page. Since `struct thread' is * always at the beginning of a page and the stack pointer is * somewhere in the middle, this locates the curent thread. */ -#define running_thread() ((struct thread *) (pg_round_down (rrsp ()))) - +#define running_thread() ((struct thread *)(pg_round_down(rrsp()))) // Global descriptor table for the thread_start. // Because the gdt will be setup after the thread_init, we should // setup temporal gdt first. -static uint64_t gdt[3] = { 0, 0x00af9a000000ffff, 0x00cf92000000ffff }; +static uint64_t gdt[3] = {0, 0x00af9a000000ffff, 0x00cf92000000ffff}; /* Initializes the threading system by transforming the code that's currently running into a thread. This can't work in @@ -97,53 +96,55 @@ static uint64_t gdt[3] = { 0, 0x00af9a000000ffff, 0x00cf92000000ffff }; It is not safe to call thread_current() until this function finishes. */ -void -thread_init (void) { - ASSERT (intr_get_level () == INTR_OFF); +void thread_init(void) +{ + ASSERT(intr_get_level() == INTR_OFF); /* Reload the temporal gdt for the kernel * This gdt does not include the user context. * The kernel will rebuild the gdt with user context, in gdt_init (). */ struct desc_ptr gdt_ds = { - .size = sizeof (gdt) - 1, - .address = (uint64_t) gdt - }; - lgdt (&gdt_ds); + .size = sizeof(gdt) - 1, + .address = (uint64_t)gdt}; + lgdt(&gdt_ds); /* Init the globla thread context */ - lock_init (&tid_lock); - list_init (&ready_list); - list_init (&sleep_list); // ready list와 같이 초가화! - list_init (&destruction_req); + lock_init(&tid_lock); + list_init(&ready_list); + list_init(&sleep_list); // ready list와 같이 초가화! + list_init(&destruction_req); + + next_tick_to_awake = INT64_MAX; + /* Set up a thread structure for the running thread. */ - initial_thread = running_thread (); - init_thread (initial_thread, "main", PRI_DEFAULT); + initial_thread = running_thread(); + init_thread(initial_thread, "main", PRI_DEFAULT); initial_thread->status = THREAD_RUNNING; - initial_thread->tid = allocate_tid (); + initial_thread->tid = allocate_tid(); } /* Starts preemptive thread scheduling by enabling interrupts. Also creates the idle thread. */ -void -thread_start (void) { +void thread_start(void) +{ /* Create the idle thread. */ struct semaphore idle_started; - sema_init (&idle_started, 0); - thread_create ("idle", PRI_MIN, idle, &idle_started); + sema_init(&idle_started, 0); + thread_create("idle", PRI_MIN, idle, &idle_started); /* Start preemptive thread scheduling. */ - intr_enable (); + intr_enable(); /* Wait for the idle thread to initialize idle_thread. */ - sema_down (&idle_started); + sema_down(&idle_started); } /* Called by the timer interrupt handler at each timer tick. Thus, this function runs in an external interrupt context. */ -void -thread_tick (void) { - struct thread *t = thread_current (); +void thread_tick(void) +{ + struct thread *t = thread_current(); /* Update statistics. */ if (t == idle_thread) @@ -157,14 +158,14 @@ thread_tick (void) { /* Enforce preemption. */ if (++thread_ticks >= TIME_SLICE) - intr_yield_on_return (); + intr_yield_on_return(); } /* Prints thread statistics. */ -void -thread_print_stats (void) { - printf ("Thread: %lld idle ticks, %lld kernel ticks, %lld user ticks\n", - idle_ticks, kernel_ticks, user_ticks); +void thread_print_stats(void) +{ + printf("Thread: %lld idle ticks, %lld kernel ticks, %lld user ticks\n", + idle_ticks, kernel_ticks, user_ticks); } /* Creates a new kernel thread named NAME with the given initial @@ -182,28 +183,28 @@ thread_print_stats (void) { The code provided sets the new thread's `priority' member to PRIORITY, but no actual priority scheduling is implemented. Priority scheduling is the goal of Problem 1-3. */ -tid_t -thread_create (const char *name, int priority, - thread_func *function, void *aux) { +tid_t thread_create(const char *name, int priority, + thread_func *function, void *aux) +{ struct thread *t; tid_t tid; - ASSERT (function != NULL); + ASSERT(function != NULL); /* Allocate thread. */ - t = palloc_get_page (PAL_ZERO); + t = palloc_get_page(PAL_ZERO); if (t == NULL) return TID_ERROR; /* Initialize thread. */ - init_thread (t, name, priority); - tid = t->tid = allocate_tid (); + init_thread(t, name, priority); + tid = t->tid = allocate_tid(); /* Call the kernel_thread if it scheduled. * Note) rdi is 1st argument, and rsi is 2nd argument. */ - t->tf.rip = (uintptr_t) kernel_thread; - t->tf.R.rdi = (uint64_t) function; - t->tf.R.rsi = (uint64_t) aux; + t->tf.rip = (uintptr_t)kernel_thread; + t->tf.R.rdi = (uint64_t)function; + t->tf.R.rsi = (uint64_t)aux; t->tf.ds = SEL_KDSEG; t->tf.es = SEL_KDSEG; t->tf.ss = SEL_KDSEG; @@ -211,12 +212,13 @@ thread_create (const char *name, int priority, t->tf.eflags = FLAG_IF; /* Add to run queue. */ - thread_unblock (t); + thread_unblock(t); /* 현재 실행중인 thread와 우선순위를 비교하여, 새로 생성된 thread의 우선순위가 높다면 thread_yield()를 통해 CPU를 양보 */ - struct thread *curr = thread_current(); - if (t->priority > curr->priority){ + struct thread *curr = thread_current(); + if (t->priority > curr->priority) + { thread_yield(); } @@ -229,12 +231,12 @@ thread_create (const char *name, int priority, This function must be called with interrupts turned off. It is usually a better idea to use one of the synchronization primitives in synch.h. */ -void -thread_block (void) { - ASSERT (!intr_context ()); - ASSERT (intr_get_level () == INTR_OFF); - thread_current ()->status = THREAD_BLOCKED; - schedule (); +void thread_block(void) +{ + ASSERT(!intr_context()); + ASSERT(intr_get_level() == INTR_OFF); + thread_current()->status = THREAD_BLOCKED; + schedule(); } /* Transitions a blocked thread T to the ready-to-run state. @@ -245,121 +247,124 @@ thread_block (void) { be important: if the caller had disabled interrupts itself, it may expect that it can atomically unblock a thread and update other data. */ -void -thread_unblock (struct thread *t) { +void thread_unblock(struct thread *t) +{ enum intr_level old_level; - ASSERT (is_thread (t)); + ASSERT(is_thread(t)); - old_level = intr_disable (); // 인터럽트 비활성화 이전 인터럽트를 old_level에 저장. - ASSERT (t->status == THREAD_BLOCKED); // blocked 상태여야 - //list_push_back (&ready_list, &t->elem); // t의 알람링크를 ready_list에 추가. + old_level = intr_disable(); // 인터럽트 비활성화 이전 인터럽트를 old_level에 저장. + ASSERT(t->status == THREAD_BLOCKED); // blocked 상태여야 + // list_push_back (&ready_list, &t->elem); // t의 알람링크를 ready_list에 추가. list_insert_ordered(&ready_list, &t->elem, cmp_priority, NULL); - t->status = THREAD_READY; // 레디 상태로 설정. - intr_set_level (old_level); // 인터럽트 다시 활성화 + t->status = THREAD_READY; // 레디 상태로 설정. + intr_set_level(old_level); // 인터럽트 다시 활성화 } /* Returns the name of the running thread. */ const char * -thread_name (void) { - return thread_current ()->name; +thread_name(void) +{ + return thread_current()->name; } /* Returns the running thread. This is running_thread() plus a couple of sanity checks. See the big comment at the top of thread.h for details. */ struct thread * -thread_current (void) { - struct thread *t = running_thread (); +thread_current(void) +{ + struct thread *t = running_thread(); /* Make sure T is really a thread. If either of these assertions fire, then your thread may have overflowed its stack. Each thread has less than 4 kB of stack, so a few big automatic arrays or moderate recursion can cause stack overflow. */ - ASSERT (is_thread (t)); - ASSERT (t->status == THREAD_RUNNING); + ASSERT(is_thread(t)); + ASSERT(t->status == THREAD_RUNNING); return t; } /* Returns the running thread's tid. */ -tid_t -thread_tid (void) { - return thread_current ()->tid; +tid_t thread_tid(void) +{ + return thread_current()->tid; } /* Deschedules the current thread and destroys it. Never returns to the caller. */ -void -thread_exit (void) { - ASSERT (!intr_context ()); +void thread_exit(void) +{ + ASSERT(!intr_context()); #ifdef USERPROG - process_exit (); + process_exit(); #endif /* Just set our status to dying and schedule another process. We will be destroyed during the call to schedule_tail(). */ - intr_disable (); - do_schedule (THREAD_DYING); - NOT_REACHED (); + intr_disable(); + do_schedule(THREAD_DYING); + NOT_REACHED(); } /* Yields the CPU. The current thread is not put to sleep and may be scheduled again immediately at the scheduler's whim. */ -void -thread_yield (void) { - struct thread *curr = thread_current (); // 현재 실행 되고 있는 thread를 반환 +void thread_yield(void) +{ + struct thread *curr = thread_current(); // 현재 실행 되고 있는 thread를 반환 enum intr_level old_level; - ASSERT (!intr_context ()); + ASSERT(!intr_context()); - old_level = intr_disable (); // 인터럽트를 비활성하고 이전 인터럽트의 상태를 반환 + old_level = intr_disable(); // 인터럽트를 비활성하고 이전 인터럽트의 상태를 반환 if (curr != idle_thread) - //list_push_back (&ready_list, &curr->elem); // 주어진 entry + // list_push_back (&ready_list, &curr->elem); // 주어진 entry list_insert_ordered(&ready_list, &curr->elem, cmp_priority, NULL); - do_schedule (THREAD_READY); // 컨텍스트 스위치 작업을 수행 - intr_set_level (old_level); // 인자로 전달된 인터럽트 상태로 인터럽트를 설정하고 이전 인터럽트 상태를 반환 + do_schedule(THREAD_READY); // 컨텍스트 스위치 작업을 수행 + intr_set_level(old_level); // 인자로 전달된 인터럽트 상태로 인터럽트를 설정하고 이전 인터럽트 상태를 반환 } /* Sets the current thread's priority to NEW_PRIORITY. */ -void -thread_set_priority (int new_priority) { - thread_current ()->priority = new_priority; +void thread_set_priority(int new_priority) +{ + thread_current()->init_priority = new_priority; // 현재 쓰레드의 우선순위와 ready_list에서 가장 높은 우선 순위를 비교하여 스케쥴링 하는 함수 호출 + refresh_priority(); test_max_priority(); } /* Returns the current thread's priority. */ -int -thread_get_priority (void) { - return thread_current ()->priority; +int thread_get_priority(void) +{ + return thread_current()->priority; } /* Sets the current thread's nice value to NICE. */ -void -thread_set_nice (int nice UNUSED) { +void thread_set_nice(int nice UNUSED) +{ /* TODO: Your implementation goes here */ } /* Returns the current thread's nice value. */ -int -thread_get_nice (void) { +int thread_get_nice(void) +{ /* TODO: Your implementation goes here */ return 0; } /* Returns 100 times the system load average. */ -int -thread_get_load_avg (void) { +int thread_get_load_avg(void) +{ /* TODO: Your implementation goes here */ return 0; } /* Returns 100 times the current thread's recent_cpu value. */ -int -thread_get_recent_cpu (void) { +int thread_get_recent_cpu(void) +{ /* TODO: Your implementation goes here */ return 0; } @@ -374,16 +379,18 @@ thread_get_recent_cpu (void) { ready list. It is returned by next_thread_to_run() as a special case when the ready list is empty. */ static void -idle (void *idle_started_ UNUSED) { +idle(void *idle_started_ UNUSED) +{ struct semaphore *idle_started = idle_started_; - idle_thread = thread_current (); - sema_up (idle_started); + idle_thread = thread_current(); + sema_up(idle_started); - for (;;) { + for (;;) + { /* Let someone else run. */ - intr_disable (); - thread_block (); + intr_disable(); + thread_block(); /* Re-enable interrupts and wait for the next one. @@ -397,35 +404,43 @@ idle (void *idle_started_ UNUSED) { See [IA32-v2a] "HLT", [IA32-v2b] "STI", and [IA32-v3a] 7.11.1 "HLT Instruction". */ - asm volatile ("sti; hlt" : : : "memory"); + asm volatile("sti; hlt" + : + : + : "memory"); } } /* Function used as the basis for a kernel thread. */ static void -kernel_thread (thread_func *function, void *aux) { - ASSERT (function != NULL); +kernel_thread(thread_func *function, void *aux) +{ + ASSERT(function != NULL); - intr_enable (); /* The scheduler runs with interrupts off. */ - function (aux); /* Execute the thread function. */ - thread_exit (); /* If function() returns, kill the thread. */ + intr_enable(); /* The scheduler runs with interrupts off. */ + function(aux); /* Execute the thread function. */ + thread_exit(); /* If function() returns, kill the thread. */ } - /* Does basic initialization of T as a blocked thread named NAME. */ static void -init_thread (struct thread *t, const char *name, int priority) { - ASSERT (t != NULL); - ASSERT (PRI_MIN <= priority && priority <= PRI_MAX); - ASSERT (name != NULL); +init_thread(struct thread *t, const char *name, int priority) +{ + ASSERT(t != NULL); + ASSERT(PRI_MIN <= priority && priority <= PRI_MAX); + ASSERT(name != NULL); - memset (t, 0, sizeof *t); + memset(t, 0, sizeof *t); t->status = THREAD_BLOCKED; - strlcpy (t->name, name, sizeof t->name); - t->tf.rsp = (uint64_t) t + PGSIZE - sizeof (void *); + strlcpy(t->name, name, sizeof t->name); + t->tf.rsp = (uint64_t)t + PGSIZE - sizeof(void *); t->priority = priority; t->magic = THREAD_MAGIC; + /* 1.4 추가한 struct 초기화 */ + t->init_priority = priority; // 초기 중요도 값 설정 + t->wait_on_lock = NULL; // 기다리는 락은 NULL로 설정 + list_init(&t->donations); // 스레드의 donations를 초기화 } /* Chooses and returns the next thread to be scheduled. Should @@ -434,39 +449,42 @@ init_thread (struct thread *t, const char *name, int priority) { will be in the run queue.) If the run queue is empty, return idle_thread. */ static struct thread * -next_thread_to_run (void) { - if (list_empty (&ready_list)) +next_thread_to_run(void) +{ + if (list_empty(&ready_list)) return idle_thread; else - return list_entry (list_pop_front (&ready_list), struct thread, elem); + return list_entry(list_pop_front(&ready_list), struct thread, elem); } /* Use iretq to launch the thread */ -void -do_iret (struct intr_frame *tf) { +void do_iret(struct intr_frame *tf) +{ __asm __volatile( - "movq %0, %%rsp\n" - "movq 0(%%rsp),%%r15\n" - "movq 8(%%rsp),%%r14\n" - "movq 16(%%rsp),%%r13\n" - "movq 24(%%rsp),%%r12\n" - "movq 32(%%rsp),%%r11\n" - "movq 40(%%rsp),%%r10\n" - "movq 48(%%rsp),%%r9\n" - "movq 56(%%rsp),%%r8\n" - "movq 64(%%rsp),%%rsi\n" - "movq 72(%%rsp),%%rdi\n" - "movq 80(%%rsp),%%rbp\n" - "movq 88(%%rsp),%%rdx\n" - "movq 96(%%rsp),%%rcx\n" - "movq 104(%%rsp),%%rbx\n" - "movq 112(%%rsp),%%rax\n" - "addq $120,%%rsp\n" - "movw 8(%%rsp),%%ds\n" - "movw (%%rsp),%%es\n" - "addq $32, %%rsp\n" - "iretq" - : : "g" ((uint64_t) tf) : "memory"); + "movq %0, %%rsp\n" + "movq 0(%%rsp),%%r15\n" + "movq 8(%%rsp),%%r14\n" + "movq 16(%%rsp),%%r13\n" + "movq 24(%%rsp),%%r12\n" + "movq 32(%%rsp),%%r11\n" + "movq 40(%%rsp),%%r10\n" + "movq 48(%%rsp),%%r9\n" + "movq 56(%%rsp),%%r8\n" + "movq 64(%%rsp),%%rsi\n" + "movq 72(%%rsp),%%rdi\n" + "movq 80(%%rsp),%%rbp\n" + "movq 88(%%rsp),%%rdx\n" + "movq 96(%%rsp),%%rcx\n" + "movq 104(%%rsp),%%rbx\n" + "movq 112(%%rsp),%%rax\n" + "addq $120,%%rsp\n" + "movw 8(%%rsp),%%ds\n" + "movw (%%rsp),%%es\n" + "addq $32, %%rsp\n" + "iretq" + : + : "g"((uint64_t)tf) + : "memory"); } /* Switching the thread by activating the new thread's page @@ -480,62 +498,64 @@ do_iret (struct intr_frame *tf) { complete. In practice that means that printf()s should be added at the end of the function. */ static void -thread_launch (struct thread *th) { - uint64_t tf_cur = (uint64_t) &running_thread ()->tf; - uint64_t tf = (uint64_t) &th->tf; - ASSERT (intr_get_level () == INTR_OFF); +thread_launch(struct thread *th) +{ + uint64_t tf_cur = (uint64_t)&running_thread()->tf; + uint64_t tf = (uint64_t)&th->tf; + ASSERT(intr_get_level() == INTR_OFF); /* The main switching logic. * We first restore the whole execution context into the intr_frame * and then switching to the next thread by calling do_iret. * Note that, we SHOULD NOT use any stack from here * until switching is done. */ - __asm __volatile ( - /* Store registers that will be used. */ - "push %%rax\n" - "push %%rbx\n" - "push %%rcx\n" - /* Fetch input once */ - "movq %0, %%rax\n" - "movq %1, %%rcx\n" - "movq %%r15, 0(%%rax)\n" - "movq %%r14, 8(%%rax)\n" - "movq %%r13, 16(%%rax)\n" - "movq %%r12, 24(%%rax)\n" - "movq %%r11, 32(%%rax)\n" - "movq %%r10, 40(%%rax)\n" - "movq %%r9, 48(%%rax)\n" - "movq %%r8, 56(%%rax)\n" - "movq %%rsi, 64(%%rax)\n" - "movq %%rdi, 72(%%rax)\n" - "movq %%rbp, 80(%%rax)\n" - "movq %%rdx, 88(%%rax)\n" - "pop %%rbx\n" // Saved rcx - "movq %%rbx, 96(%%rax)\n" - "pop %%rbx\n" // Saved rbx - "movq %%rbx, 104(%%rax)\n" - "pop %%rbx\n" // Saved rax - "movq %%rbx, 112(%%rax)\n" - "addq $120, %%rax\n" - "movw %%es, (%%rax)\n" - "movw %%ds, 8(%%rax)\n" - "addq $32, %%rax\n" - "call __next\n" // read the current rip. - "__next:\n" - "pop %%rbx\n" - "addq $(out_iret - __next), %%rbx\n" - "movq %%rbx, 0(%%rax)\n" // rip - "movw %%cs, 8(%%rax)\n" // cs - "pushfq\n" - "popq %%rbx\n" - "mov %%rbx, 16(%%rax)\n" // eflags - "mov %%rsp, 24(%%rax)\n" // rsp - "movw %%ss, 32(%%rax)\n" - "mov %%rcx, %%rdi\n" - "call do_iret\n" - "out_iret:\n" - : : "g"(tf_cur), "g" (tf) : "memory" - ); + __asm __volatile( + /* Store registers that will be used. */ + "push %%rax\n" + "push %%rbx\n" + "push %%rcx\n" + /* Fetch input once */ + "movq %0, %%rax\n" + "movq %1, %%rcx\n" + "movq %%r15, 0(%%rax)\n" + "movq %%r14, 8(%%rax)\n" + "movq %%r13, 16(%%rax)\n" + "movq %%r12, 24(%%rax)\n" + "movq %%r11, 32(%%rax)\n" + "movq %%r10, 40(%%rax)\n" + "movq %%r9, 48(%%rax)\n" + "movq %%r8, 56(%%rax)\n" + "movq %%rsi, 64(%%rax)\n" + "movq %%rdi, 72(%%rax)\n" + "movq %%rbp, 80(%%rax)\n" + "movq %%rdx, 88(%%rax)\n" + "pop %%rbx\n" // Saved rcx + "movq %%rbx, 96(%%rax)\n" + "pop %%rbx\n" // Saved rbx + "movq %%rbx, 104(%%rax)\n" + "pop %%rbx\n" // Saved rax + "movq %%rbx, 112(%%rax)\n" + "addq $120, %%rax\n" + "movw %%es, (%%rax)\n" + "movw %%ds, 8(%%rax)\n" + "addq $32, %%rax\n" + "call __next\n" // read the current rip. + "__next:\n" + "pop %%rbx\n" + "addq $(out_iret - __next), %%rbx\n" + "movq %%rbx, 0(%%rax)\n" // rip + "movw %%cs, 8(%%rax)\n" // cs + "pushfq\n" + "popq %%rbx\n" + "mov %%rbx, 16(%%rax)\n" // eflags + "mov %%rsp, 24(%%rax)\n" // rsp + "movw %%ss, 32(%%rax)\n" + "mov %%rcx, %%rdi\n" + "call do_iret\n" + "out_iret:\n" + : + : "g"(tf_cur), "g"(tf) + : "memory"); } /* Schedules a new process. At entry, interrupts must be off. @@ -543,26 +563,29 @@ thread_launch (struct thread *th) { * finds another thread to run and switches to it. * It's not safe to call printf() in the schedule(). */ static void -do_schedule(int status) { - ASSERT (intr_get_level () == INTR_OFF); - ASSERT (thread_current()->status == THREAD_RUNNING); - while (!list_empty (&destruction_req)) { +do_schedule(int status) +{ + ASSERT(intr_get_level() == INTR_OFF); + ASSERT(thread_current()->status == THREAD_RUNNING); + while (!list_empty(&destruction_req)) + { struct thread *victim = - list_entry (list_pop_front (&destruction_req), struct thread, elem); + list_entry(list_pop_front(&destruction_req), struct thread, elem); palloc_free_page(victim); } - thread_current ()->status = status; - schedule (); + thread_current()->status = status; + schedule(); } static void -schedule (void) { - struct thread *curr = running_thread (); - struct thread *next = next_thread_to_run (); - - ASSERT (intr_get_level () == INTR_OFF); - ASSERT (curr->status != THREAD_RUNNING); - ASSERT (is_thread (next)); +schedule(void) +{ + struct thread *curr = running_thread(); + struct thread *next = next_thread_to_run(); + + ASSERT(intr_get_level() == INTR_OFF); + ASSERT(curr->status != THREAD_RUNNING); + ASSERT(is_thread(next)); /* Mark us as running. */ next->status = THREAD_RUNNING; @@ -571,10 +594,11 @@ schedule (void) { #ifdef USERPROG /* Activate the new address space. */ - process_activate (next); + process_activate(next); #endif - if (curr != next) { + if (curr != next) + { /* If the thread we switched from is dying, destroy its struct thread. This must happen late so that thread_exit() doesn't pull out the rug under itself. @@ -582,61 +606,69 @@ schedule (void) { currently used by the stack. The real destruction logic will be called at the beginning of the schedule(). */ - if (curr && curr->status == THREAD_DYING && curr != initial_thread) { - ASSERT (curr != next); - list_push_back (&destruction_req, &curr->elem); + if (curr && curr->status == THREAD_DYING && curr != initial_thread) + { + ASSERT(curr != next); + list_push_back(&destruction_req, &curr->elem); } /* Before switching the thread, we first save the information * of current running. */ - thread_launch (next); + thread_launch(next); } } /* Returns a tid to use for a new thread. */ static tid_t -allocate_tid (void) { +allocate_tid(void) +{ static tid_t next_tid = 1; tid_t tid; - lock_acquire (&tid_lock); + lock_acquire(&tid_lock); tid = next_tid++; - lock_release (&tid_lock); + lock_release(&tid_lock); return tid; } -void thread_sleep(int64_t ticks){ - struct thread *curr = thread_current (); // 현재 실행 되고 있는 thread를 반환 +void thread_sleep(int64_t ticks) +{ + struct thread *curr = thread_current(); // 현재 실행 되고 있는 thread를 반환 enum intr_level old_level; - ASSERT (!intr_context ()); + ASSERT(!intr_context()); - old_level = intr_disable (); // 인터럽트를 비활성하고 이전 인터럽트의 상태를 반환 + old_level = intr_disable(); // 인터럽트를 비활성하고 이전 인터럽트의 상태를 반환 if (curr != idle_thread) - curr -> wakeup_tick = ticks; - list_push_back (&sleep_list, &curr->elem); // 주어진 entry - update_next_tick_to_awake(ticks); + curr->wakeup_tick = ticks; + list_push_back(&sleep_list, &curr->elem); // 주어진 entry + update_next_tick_to_awake(ticks); thread_block(); // do_schedule (THREAD_BLOCKED); // 컨텍스트 스위치 작업을 수행 - intr_set_level (old_level); // 인자로 전달된 인터럽트 상태로 인터럽트를 설정하고 이전 인터럽트 상태를 반환 + intr_set_level(old_level); // 인자로 전달된 인터럽트 상태로 인터럽트를 설정하고 이전 인터럽트 상태를 반환 } -void thread_awake(int64_t ticks){ +void thread_awake(int64_t ticks) +{ struct list_elem *cur_elem; enum intr_level old_level; int64_t tmp_tick = INT64_MAX; cur_elem = list_begin(&sleep_list); - - while (cur_elem != list_end (&sleep_list)){ + + while (cur_elem != list_end(&sleep_list)) + { struct thread *curr = list_entry(cur_elem, struct thread, elem); - if (curr->wakeup_tick <= ticks){ + if (curr->wakeup_tick <= ticks) + { cur_elem = list_remove(cur_elem); thread_unblock(curr); } - else{ - if (tmp_tick > curr->wakeup_tick){ + else + { + if (tmp_tick > curr->wakeup_tick) + { tmp_tick = curr->wakeup_tick; } cur_elem = list_next(cur_elem); @@ -645,36 +677,92 @@ void thread_awake(int64_t ticks){ next_tick_to_awake = tmp_tick; } -void update_next_tick_to_awake(int64_t ticks){ - if (next_tick_to_awake > ticks){ +void update_next_tick_to_awake(int64_t ticks) +{ + if (next_tick_to_awake > ticks) + { next_tick_to_awake = ticks; } } -int64_t get_next_tick_to_awake(void){ +int64_t get_next_tick_to_awake(void) +{ return next_tick_to_awake; } -void -test_max_priority(void){ +void test_max_priority(void) +{ struct list_elem *cur_elem; cur_elem = list_begin(&ready_list); struct thread *thr = list_entry(cur_elem, struct thread, elem); - if (!list_empty(&ready_list)){ - if (thread_current()->priority < thr->priority){ + if (!list_empty(&ready_list)) + { + if (thread_current()->priority < thr->priority) + { thread_yield(); } } } -bool -cmp_priority(const struct list_elem *a_, const struct list_elem *b_, void *aux UNUSED){ +bool cmp_priority(const struct list_elem *a_, const struct list_elem *b_, void *aux UNUSED) +{ struct thread *first = list_entry(a_, struct thread, elem); struct thread *second = list_entry(b_, struct thread, elem); - if (first->priority > second->priority){ + if (first->priority > second->priority) + { return 1; } return 0; } + +/* --- Project 1-4. Priority donation --- */ +void donate_priority(void) +{ + int cnt = 0; + struct thread *t = thread_current(); + int cur_priority = t->priority; + + while (cnt < 9) + { + cnt++; + if (t->wait_on_lock == NULL) { + break; + } + t = t->wait_on_lock->holder; + t->priority = cur_priority; + } +} + +void remove_with_lock(struct lock *lock) { + struct thread *cur = thread_current(); + struct list_elem *e; + + for (e= list_begin(&cur->donations); e != list_end(&cur->donations);e = list_next(e)){ + struct thread *t = list_entry(e, struct thread, donation_elem); + if (t->wait_on_lock == lock) { + list_remove(&t->donation_elem); + } + } +} + +void refresh_priority(void) { + struct thread *cur = thread_current(); + cur->priority = cur->init_priority; + + if (!list_empty(&cur->donations)) { + list_sort(&cur->donations, thread_compare_donate_priority, 0); + struct thread *front = list_entry (list_front(&cur->donations), struct thread, donation_elem); + if (front->priority > cur->priority) + { + cur->priority = front->priority; + } + } +} + +/* --- project 1.4 --- */ +bool thread_compare_donate_priority(const struct list_elem *l, const struct list_elem *s, void *aux) { + + return list_entry (l, struct thread, donation_elem)->priority > list_entry (s, struct thread, donation_elem)->priority; +} \ No newline at end of file From 8c945ec8b7710f21aaa3780dbcba79184b45cc7f Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 6 Jun 2023 05:02:18 +0000 Subject: [PATCH 5/5] :sparkles: Add : SystemCall passing function #15 --- userprog/filesys.dsk | Bin 0 -> 2580480 bytes userprog/process.c | 122 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 97 insertions(+), 25 deletions(-) create mode 100644 userprog/filesys.dsk diff --git a/userprog/filesys.dsk b/userprog/filesys.dsk new file mode 100644 index 0000000000000000000000000000000000000000..97b592ac0036f787193e44b6c753d0487640e0fa GIT binary patch literal 2580480 zcmeIuF%1A95Cp-0f&fZdL}3yycp^xkB$?~CxY<4IV}TMQOU?VBz2BJYy-^S#K!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N Q0t5&UAV7cs0Rq1X9D)}DAOHXW literal 0 HcmV?d00001 diff --git a/userprog/process.c b/userprog/process.c index 9388e50..3f91215 100644 --- a/userprog/process.c +++ b/userprog/process.c @@ -163,30 +163,54 @@ __do_fork (void *aux) { int process_exec (void *f_name) { char *file_name = f_name; - bool success; - - /* We cannot use the intr_frame in the thread structure. - * This is because when current thread rescheduled, - * it stores the execution information to the member. */ - struct intr_frame _if; - _if.ds = _if.es = _if.ss = SEL_UDSEG; - _if.cs = SEL_UCSEG; - _if.eflags = FLAG_IF | FLAG_MBS; - - /* We first kill the current context */ - process_cleanup (); - - /* And then load the binary */ - success = load (file_name, &_if); - - /* If load failed, quit. */ - palloc_free_page (file_name); - if (!success) - return -1; - - /* Start switched process. */ - do_iret (&_if); - NOT_REACHED (); + bool success; + struct thread *cur = thread_current(); + + //intr_frame 권한설정 + struct intr_frame _if; + _if.ds = _if.es = _if.ss = SEL_UDSEG; + _if.cs = SEL_UCSEG; + _if.eflags = FLAG_IF | FLAG_MBS; + + /* We first kill the current context */ + process_cleanup(); + + // for argument parsing + char *argv[64]; // argument 배열 + int argc = 0; // argument 개수 + + char *token; + char *save_ptr; // 분리된 문자열 중 남는 부분의 시작주소 + token = strtok_r(file_name, " ", &save_ptr); + while (token != NULL) + { + argv[argc] = token; + token = strtok_r(NULL, " ", &save_ptr); + argc++; + } + + /* And then load the binary */ + success = load(file_name, &_if); + + /* If load failed, quit. */ + if (!success) + { + palloc_free_page(file_name); + return -1; + } + + // 스택에 인자 넣기 + void **rspp = &_if.rsp; + argument_stack(argv, argc, rspp); + _if.R.rdi = argc; + _if.R.rsi = (uint64_t)*rspp + sizeof(void *); + + hex_dump(_if.rsp, _if.rsp, USER_STACK - (uint64_t)*rspp, true); + palloc_free_page(file_name); + + /* Start switched process. */ + do_iret(&_if); + NOT_REACHED(); } @@ -203,7 +227,8 @@ int process_wait (tid_t child_tid UNUSED) { /* XXX: Hint) The pintos exit if process_wait (initd), we recommend you * XXX: to add infinite loop here before - * XXX: implementing the process_wait. */ + * XXX: implementing thfe process_wait. */ + for (int i=0;i<100000000;i++){} return -1; } @@ -637,3 +662,50 @@ setup_stack (struct intr_frame *if_) { return success; } #endif /* VM */ + + +void argument_stack(char **argv, int argc, void **rsp) +{ + // keypoint는 rsp 의 (char **) 를 포인터를 2개 이상 넣어야 함. + //printf("\n abcd~~ abcd~~~ 0x%02X \n", *(uint16_t **)rsp); + // Save argument strings (character by character) + // 끝부터 처음까지 argc-1 부터 시작 + for (int i = argc - 1; i >= 0; i--) + { + // argv_len = argv[i]의 길이 + int argv_len = strlen(argv[i]); + // argv의 길이만큼 저장. + for (int j = argv_len; j >= 0; j--) + { + // argv_char은 argv[i][j] 할당하여 저장 + char argv_char = argv[i][j]; + (*rsp)--; // -8만큼 이동 + **(char **)rsp = argv_char; // 1 byte // 이중(다중) 포인터에 char 형으로 저장한다. + } + argv[i] = *(char **)rsp; // 배열에 rsp 주소 넣기 + } + + // Word-align padding + int pad = (int)*rsp % 8; // 64bit 컴퓨터라 8비트로 나누기 때문에, 패딩은 rsp % 8 = 0 으로 지정. (주소값을 8 나머지 으로) + for (int k = 0; k < pad; k++) // k < pad + { + (*rsp)--; // 8만큼 뺀다. + **(uint8_t **)rsp = 0; // rsp의 값을 uint8_t 0 으로 저장한다. + } + + // Pointers to the argument strings + (*rsp) -= 8; + **(char ***)rsp = 0; // 마지막 부분을 0으로 지정 + + for (int i = argc - 1; i >= 0; i--) + { + (*rsp) -= 8; // 8byte 만큼 빼면서 + **(char ***)rsp = argv[i]; // argv[i]의 주소값을 저장 + } + + // Return address + printf("\n abcd~~ abcd~~~ 0x%02X \n", *(uint16_t **)rsp); + (*rsp) -= 8; // 마지막 값을 + // 마지막 fake address 값을 넣어준다. + **(void ***)rsp = 0; // rsp의 값을 0으로 지정한다. +} \ No newline at end of file