\relax \providecommand{\transparent@use}[1]{} \providecommand\hyper@newdestlabel[2]{} \@writefile{listings}{\addvspace {10pt}} \@writefile{toc}{\contentsline {chapter}{\numberline {3}Implementation}{15}{chapter.3}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{loa}{\addvspace {10\p@ }} \newlabel{ch:implementation}{{3}{15}{Implementation}{chapter.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.1}Design Decisions and Scope}{16}{section.3.1}\protected@file@percent } \newlabel{sec:design}{{3.1}{16}{Design Decisions and Scope}{section.3.1}{}} \@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Caller Hierarchy of the Main Components.\relax }}{16}{figure.3.1}\protected@file@percent } \newlabel{fig:implarch}{{3.1}{16}{Caller Hierarchy of the Main Components.\relax }{figure.3.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Local APIC}{19}{section.3.2}\protected@file@percent } \newlabel{sec:lapicinit}{{3.2}{19}{Local APIC}{section.3.2}{}} \@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces The Local APIC Block Diagram~\blx@tocontentsinit {0}\autocite [sec.~3.11.4.1]{ia32}.\relax }}{20}{figure.3.2}\protected@file@percent } \newlabel{fig:localapicblock}{{3.2}{20}{The Local APIC Block Diagram~\autocite [sec.~3.11.4.1]{ia32}.\relax }{figure.3.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Accessing Local APIC Registers in xApic Mode}{21}{subsection.3.2.1}\protected@file@percent } \newlabel{subsec:xapicregacc}{{3.2.1}{21}{Accessing Local APIC Registers in xApic Mode}{subsection.3.2.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Enabling the Local APIC}{21}{subsection.3.2.2}\protected@file@percent } \newlabel{subsec:lapicenable}{{3.2.2}{21}{Enabling the Local APIC}{subsection.3.2.2}{}} \@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces The IA32\textunderscore {}APIC\textunderscore {}BASE MSR~\blx@tocontentsinit {0}\autocite [sec.~3.11.4.4]{ia32}.\relax }}{21}{figure.3.3}\protected@file@percent } \newlabel{fig:ia32apicbasemsr}{{3.3}{21}{The IA32\textunderscore {}APIC\textunderscore {}BASE MSR~\autocite [sec.~3.11.4.4]{ia32}.\relax }{figure.3.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Handling Local Interrupts}{22}{subsection.3.2.3}\protected@file@percent } \newlabel{subsec:lapiclvtinit}{{3.2.3}{22}{Handling Local Interrupts}{subsection.3.2.3}{}} \@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces The Local Vector Table~\blx@tocontentsinit {0}\autocite [sec.~3.11.5.1]{ia32}.\relax }}{22}{figure.3.4}\protected@file@percent } \newlabel{fig:localapiclvt}{{3.4}{22}{The Local Vector Table~\autocite [sec.~3.11.5.1]{ia32}.\relax }{figure.3.4}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Allowing Interrupt Processing}{23}{subsection.3.2.4}\protected@file@percent } \newlabel{subsec:lapicsoftenable}{{3.2.4}{23}{Allowing Interrupt Processing}{subsection.3.2.4}{}} \@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces The Local APIC SVR Register~\blx@tocontentsinit {0}\autocite [sec.~3.11.9]{ia32}.\relax }}{23}{figure.3.5}\protected@file@percent } \newlabel{fig:ia32apicsvr}{{3.5}{23}{The Local APIC SVR Register~\autocite [sec.~3.11.9]{ia32}.\relax }{figure.3.5}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Local Interrupt EOI}{24}{subsection.3.2.5}\protected@file@percent } \newlabel{subsec:lapiceoi}{{3.2.5}{24}{Local Interrupt EOI}{subsection.3.2.5}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.6}APIC Timer}{24}{subsection.3.2.6}\protected@file@percent } \newlabel{subsec:lapictimer}{{3.2.6}{24}{APIC Timer}{subsection.3.2.6}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.7}APIC Error Interrupt}{25}{subsection.3.2.7}\protected@file@percent } \newlabel{subsec:lapicerror}{{3.2.7}{25}{APIC Error Interrupt}{subsection.3.2.7}{}} \@writefile{lof}{\contentsline {figure}{\numberline {3.6}{\ignorespaces Error Status Register~\blx@tocontentsinit {0}\autocite [sec.~3.11.5.3]{ia32}.\relax }}{25}{figure.3.6}\protected@file@percent } \newlabel{fig:ia32esr}{{3.6}{25}{Error Status Register~\autocite [sec.~3.11.5.3]{ia32}.\relax }{figure.3.6}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.3}I/O APIC}{26}{section.3.3}\protected@file@percent } \newlabel{sec:ioapicinit}{{3.3}{26}{I/O APIC}{section.3.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Interrupt Overrides}{26}{subsection.3.3.1}\protected@file@percent } \newlabel{subsec:ioapicpcat}{{3.3.1}{26}{Interrupt Overrides}{subsection.3.3.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}External Interrupt EOI}{27}{subsection.3.3.2}\protected@file@percent } \newlabel{subsec:ioapiceoi}{{3.3.2}{27}{External Interrupt EOI}{subsection.3.3.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Multiple I/O APICs}{28}{subsection.3.3.3}\protected@file@percent } \newlabel{subsec:multiioapic}{{3.3.3}{28}{Multiple I/O APICs}{subsection.3.3.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.4}Symmetric Multiprocessing}{29}{section.3.4}\protected@file@percent } \newlabel{sec:smpinit}{{3.4}{29}{Symmetric Multiprocessing}{section.3.4}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}Inter-Processor Interrupts}{29}{subsection.3.4.1}\protected@file@percent } \newlabel{subsec:ipis}{{3.4.1}{29}{Inter-Processor Interrupts}{subsection.3.4.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}Universal Startup Algorithm}{29}{subsection.3.4.2}\protected@file@percent } \newlabel{subsec:apstartup}{{3.4.2}{29}{Universal Startup Algorithm}{subsection.3.4.2}{}} \@writefile{lof}{\contentsline {figure}{\numberline {3.7}{\ignorespaces Interrupt Command Register~\blx@tocontentsinit {0}\autocite [sec.~3.11.6.1]{ia32}.\relax }}{30}{figure.3.7}\protected@file@percent } \newlabel{fig:ia32icr}{{3.7}{30}{Interrupt Command Register~\autocite [sec.~3.11.6.1]{ia32}.\relax }{figure.3.7}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}Application Processor Boot Routine}{31}{subsection.3.4.3}\protected@file@percent } \newlabel{subsec:apboot}{{3.4.3}{31}{Application Processor Boot Routine}{subsection.3.4.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4.4}Application Processor Post-Boot Routine}{32}{subsection.3.4.4}\protected@file@percent } \newlabel{subsec:apsystementry}{{3.4.4}{32}{Application Processor Post-Boot Routine}{subsection.3.4.4}{}} \@setckpt{chap/implementation}{ \setcounter{page}{33} \setcounter{equation}{0} \setcounter{enumi}{9} \setcounter{enumii}{0} \setcounter{enumiii}{0} \setcounter{enumiv}{0} \setcounter{footnote}{18} \setcounter{mpfootnote}{0} \setcounter{part}{0} \setcounter{chapter}{3} \setcounter{section}{4} \setcounter{subsection}{4} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} \setcounter{figure}{7} \setcounter{table}{0} \setcounter{parentequation}{0} \setcounter{tcbbreakpart}{1} \setcounter{tcblayer}{0} \setcounter{tcolorbox@number}{53} \setcounter{FancyVerbLine}{0} \setcounter{linenumber}{1} \setcounter{LN@truepage}{40} \setcounter{FV@TrueTabGroupLevel}{0} \setcounter{FV@TrueTabCounter}{0} \setcounter{FV@HighlightLinesStart}{0} \setcounter{FV@HighlightLinesStop}{0} \setcounter{FancyVerbLineBreakLast}{0} \setcounter{FV@BreakBufferDepth}{0} \setcounter{float@type}{16} \setcounter{minted@FancyVerbLineTemp}{0} \setcounter{minted@pygmentizecounter}{0} \setcounter{listing}{0} \setcounter{tcblisting}{0} \setcounter{caption@flags}{6} \setcounter{continuedfloat}{0} \setcounter{subfigure}{0} \setcounter{subtable}{0} \setcounter{section@level}{2} \setcounter{Item}{46} \setcounter{Hfootnote}{35} \setcounter{bookmark@seq@number}{40} \setcounter{AlgoLine}{0} \setcounter{algocfline}{0} \setcounter{algocfproc}{0} \setcounter{algocf}{0} \setcounter{lofdepth}{1} \setcounter{lotdepth}{1} \setcounter{svg@param@lastpage}{0} \setcounter{svg@param@currpage}{-1} \setcounter{su@anzahl}{0} \setcounter{LT@tables}{0} \setcounter{LT@chunks}{0} \setcounter{@pps}{0} \setcounter{@ppsavesec}{0} \setcounter{@ppsaveapp}{0} \setcounter{tabx@nest}{0} \setcounter{listtotal}{0} \setcounter{listcount}{0} \setcounter{liststart}{0} \setcounter{liststop}{0} \setcounter{citecount}{0} \setcounter{citetotal}{0} \setcounter{multicitecount}{0} \setcounter{multicitetotal}{0} \setcounter{instcount}{77} \setcounter{maxnames}{3} \setcounter{minnames}{3} \setcounter{maxitems}{3} \setcounter{minitems}{1} \setcounter{citecounter}{0} \setcounter{maxcitecounter}{0} \setcounter{savedcitecounter}{0} \setcounter{uniquelist}{0} \setcounter{uniquename}{0} \setcounter{refsection}{0} \setcounter{refsegment}{0} \setcounter{maxextratitle}{0} \setcounter{maxextratitleyear}{0} \setcounter{maxextraname}{0} \setcounter{maxextradate}{0} \setcounter{maxextraalpha}{0} \setcounter{abbrvpenalty}{50} \setcounter{highnamepenalty}{50} \setcounter{lownamepenalty}{25} \setcounter{maxparens}{3} \setcounter{parenlevel}{0} \setcounter{blx@maxsection}{0} \setcounter{mincomprange}{10} \setcounter{maxcomprange}{100000} \setcounter{mincompwidth}{1} \setcounter{afterword}{0} \setcounter{savedafterword}{0} \setcounter{annotator}{0} \setcounter{savedannotator}{0} \setcounter{author}{0} \setcounter{savedauthor}{0} \setcounter{bookauthor}{0} \setcounter{savedbookauthor}{0} \setcounter{commentator}{0} \setcounter{savedcommentator}{0} \setcounter{editor}{0} \setcounter{savededitor}{0} \setcounter{editora}{0} \setcounter{savededitora}{0} \setcounter{editorb}{0} \setcounter{savededitorb}{0} \setcounter{editorc}{0} \setcounter{savededitorc}{0} \setcounter{foreword}{0} \setcounter{savedforeword}{0} \setcounter{holder}{0} \setcounter{savedholder}{0} \setcounter{introduction}{0} \setcounter{savedintroduction}{0} \setcounter{namea}{0} \setcounter{savednamea}{0} \setcounter{nameb}{0} \setcounter{savednameb}{0} \setcounter{namec}{0} \setcounter{savednamec}{0} \setcounter{translator}{0} \setcounter{savedtranslator}{0} \setcounter{shortauthor}{0} \setcounter{savedshortauthor}{0} \setcounter{shorteditor}{0} \setcounter{savedshorteditor}{0} \setcounter{labelname}{0} \setcounter{savedlabelname}{0} \setcounter{institution}{0} \setcounter{savedinstitution}{0} \setcounter{lista}{0} \setcounter{savedlista}{0} \setcounter{listb}{0} \setcounter{savedlistb}{0} \setcounter{listc}{0} \setcounter{savedlistc}{0} \setcounter{listd}{0} \setcounter{savedlistd}{0} \setcounter{liste}{0} \setcounter{savedliste}{0} \setcounter{listf}{0} \setcounter{savedlistf}{0} \setcounter{location}{0} \setcounter{savedlocation}{0} \setcounter{organization}{0} \setcounter{savedorganization}{0} \setcounter{origlocation}{0} \setcounter{savedoriglocation}{0} \setcounter{origpublisher}{0} \setcounter{savedorigpublisher}{0} \setcounter{publisher}{0} \setcounter{savedpublisher}{0} \setcounter{language}{0} \setcounter{savedlanguage}{0} \setcounter{origlanguage}{0} \setcounter{savedoriglanguage}{0} \setcounter{pageref}{0} \setcounter{savedpageref}{0} \setcounter{textcitecount}{0} \setcounter{textcitetotal}{0} \setcounter{textcitemaxnames}{0} \setcounter{biburlbigbreakpenalty}{100} \setcounter{biburlbreakpenalty}{200} \setcounter{biburlnumpenalty}{0} \setcounter{biburlucpenalty}{0} \setcounter{biburllcpenalty}{0} \setcounter{smartand}{1} \setcounter{bbx:relatedcount}{0} \setcounter{bbx:relatedtotal}{0} \setcounter{cbx@tempcnta}{0} \setcounter{cbx@tempcntb}{6} \setcounter{cbx@tempcntc}{0} \setcounter{cbx@tempcntd}{-1} \setcounter{tcb@cnt@codeblock}{0} }