theemulatedPC's"virtualharddisk."Thisharddiskimagecontainsbothourbootloader
(obj/boot/boot)andourkernel(obj/kernel).
athena% make qemu
ThisexecutesQEMUwiththeoptionsrequiredtosettheharddiskanddirectserialportoutputtothe
terminal.SometextshouldappearintheQEMUwindow:
Booting from Hard Disk...
6828 decimal is XXX octal!
entering test_backtrace 5
entering test_backtrace 4
entering test_backtrace 3
entering test_backtrace 2
entering test_backtrace 1
entering test_backtrace 0
leaving test_backtrace 0
leaving test_backtrace 1
leaving test_backtrace 2
leaving test_backtrace 3
leaving test_backtrace 4
leaving test_backtrace 5
Welcome to the JOS kernel monitor!
Type 'help' for a list of commands.
K>
Everythingafter'Booting from Hard Disk...'wasprintedbyourskeletalJOSkernel;theK>istheprompt
printedbythesmallmonitor,orinteractivecontrolprogram,thatwe'veincludedinthekernel.These
linesprintedbythekernelwillalsoappearintheregularshellwindowfromwhichyouranQEMU.
ThisisbecausefortestingandlabgradingpurposeswehavesetuptheJOSkerneltowriteitsconsole
outputnotonlytothevirtualVGAdisplay(asseenintheQEMUwindow),butalsotothesimulated
PC'svirtualserialport,whichQEMUinturnoutputstoitsownstandardoutput.Likewise,theJOS
kernelwilltakeinputfromboththekeyboardandtheserialport,soyoucangiveitcommandsineither
theVGAdisplaywindowortheterminalrunningQEMU.Alternatively,youcanusetheserialconsole
withoutthevirtualVGAbyrunningmake qemu-nox.ThismaybeconvenientifyouareSSH'dintoan
Athenadialup.
Thereareonlytwocommandsyoucangivetothekernelmonitor,helpandkerninfo.
K> help
help - display this list of commands
kerninfo - display information about the kernel
K> kerninfo
Special kernel symbols:
entry f010000c (virt) 0010000c (phys)
etext f0101a75 (virt) 00101a75 (phys)
edata f0112300 (virt) 00112300 (phys)
end f0112960 (virt) 00112960 (phys)
Kernel executable memory footprint: 75KB
K>
Thehelpcommandisobvious,andwewillshortlydiscussthemeaningofwhatthekerninfocommand
prints.Althoughsimple,it'simportanttonotethatthiskernelmonitorisrunning"directly"onthe"raw
(virtual)hardware"ofthesimulatedPC.Thismeansthatyoushouldbeabletocopythecontentsof
obj/kern/kernel.imgontothefirstfewsectorsofarealharddisk,insertthatharddiskintoarealPC,turn
iton,andseeexactlythesamethingonthePC'srealscreenasyoudidaboveintheQEMUwindow.
(Wedon'trecommendyoudothisonarealmachinewithusefulinformationonitsharddisk,though,
becausecopyingkernel.imgontothebeginningofitsharddiskwilltrashthemasterbootrecordandthe
beginningofthefirstpartition,effectivelycausingeverythingpreviouslyontheharddisktobelost!)