Download as pdf
Download as pdf
You are on page 1of 198
aa) Lea) BTW lesy a guide with exercises (6) Cp ery Copier Neer hin pa ye eps ae (St npr etn Pua ei tn te ongron rs mode it tc a il ay SES tl san enc ane ry Pra rp pe eee reek oa const ps Tins tr ah of Li Tr aan wh hi mata ‘yr ope mr em yi ; Contents Te De pe Tarr oe Madonna Apne ae DD ‘wang Tne Sten Cal mk tg te Mote a Pia geusmene eg SMe Nei ae ry ate Mote age Cot ert Cotgmaton an Compton ern Cain Phe Ue ep ‘Shine Apt ad Ta Stan een Sipe a Gora Cosrtoes ‘Cone Soh (ime Gre Rove Rin a at "ne y(n a) Wig Foe Gale), ace 710 Wang tr Morey tome esse eae asueses uzseas eeeeegaaaea 131 Ming Sty a Mid 712 Mg a al a Spa 1 nrg nto eo bing ig ge Wit Yo Cat Da tT Inq sete Inet aera Hae © Mode I apting, mings Dynan ting aig Se ‘Aaa ng/g oes 10 Daeg Tete ‘op er end tag it pce ses 112 San Cer 113 Iain 14 What we Dyn a ‘ewig 13 Mg tee Seeasssest see. so cs De “ $e Ln me fd 12 Coton at yaoi tos a {1 eery Mange nd Aton = "21 Gacy mtn a 211 Yaw Powe (2st pein = ober taal “ 123 Bit Operations Be nen "tna fis meet ta 6 13 wesc ram ro ‘aac “ ‘ea aod ™ one “ {erty Aa tn) sete s 15 Te ve pe = a iat = 1 pn ert ny) wm 132 aye i 2 {a3 Det Ka 0 ny ing = ‘ster ‘* a xemyo ™ ‘ae s 18 me tr ~ a tes hom Mag m erie pe Papen r IE ter Sper en mma) = 1.1 Wha i he proe Payton? {1K Drier Bry Peat for vamp) ™ V3 Croaing eo 180 Ral Chante eo 2 Rte 7 "tay A = a Wsseinc a Wa Que as 1 Un Doe Mad de rte at qe 2 to tn Do Gata ai m ssc 18 Ca pa a ssa tate Se ™ at Hi fos Wate ce i rime = 13 br aig eS a 22 ero Hanng sd Defra tons 22. Wirt Ge 21 marten V0 213 fre 0 te 2.5 Yong Weg as an YO Ris 214 Sig VO Catone 1217 Anning td Mg 0 Mery 28 fase 0 Many 29 Amy nr-aprn),, e/at 14 Aoi tein Sc 245 Anning {On My Sus ‘et Mowery Acc (DMIA) BL DMA Dray 222 Satcher Min BESeEANE SEeeeER EERE eeeeueEE 241 met aye as gain 22 Dak ar 2 Lg 3 aero ope te 20 Network Dev Tami Rasp SES3953 38 5 Se SSSSe8e! PEEEH BeEa 287 Raa 0 Doe 1248 amc US De A Pt Fe 3 Sn Powe So S270 Peay Senne {21 Whe apy a i Se? 8 Anyrin YO 1 Wh Ace 02 1 eae Ace 70 APL 41/0 Stating 41 YO sag Hoeee EREEES Heed esee@ @ ee eeERE E 4 ep V0 Ser 244 ti 0 [4 Compl Pau dae 26 Satan YO Ser ne $53 fm lee 380 gent Sue 25 Megat ng Seeeee . a2 REees List of Figures 21 Pom etn 121M, ee ey 241 Sea ae 25: Soh er 2a Us upg List of Tables rm gee 2 emi 1 sole 1 te ma ee 2 el te a 135 em ae 14 GP ey abo age 103 Mamet ta 182 a) ery eon 1 mae 1 pl 22 pds atch esa 8 SERENNEEE E & Preface Objective ow tw he Lime ya te a kd an srs nu, ibe eet APT oh wich ds Bh a es We a ty een Do al th oe ea ‘ts om ey nin he ad Det tee tt en dh a, i rd Magia mage bth ly sl bal ‘mam a yy tt rte mig et te dn oe wn et ee att vice ped mor Co eta mos ing ev EY dro, nck ac SOSH ww wale, neat tema the ais wl ay es em lly een wt you et oc lye gt ne ‘Sow teed ee hry. Faroe ‘Who You Are “arm igo i is te fe ne ping tn. ae TONE See yon aa mtg Te RETARERENG cipher he at fe ae a re to inl ori ne gente non tre f ing ra SEED LOE LIEN tna pd mio i prt em en Spent «re ei stn em ging mi, a SERA STAG SPSaENGS e he «Sl yhoo tg mn i ete ova ede SEE Se es cp evi f pet tt oe tit a he mee 1 nett Uns) in a gap aa iy Sama ace ce ay laa ts omme) 1 en ming is roy in la sea «ts yd tc aya praming a es i arpa wg tne fap wah aya Lie ti i bt ey od Sg etn tn tec ea ig he ‘ior oering aor i ws es al ae iat mara i by a i thn gn i oth My History aad Why Han Dong Thin. yng aha PAD in ie ti soph sath 1 tar mater mero sen an sap cet ‘estoy tes ce leit ape tee ae ak ‘nn ra st cp fe na acy mh et a ee ecg nn an ae ea 9 yu th nd eg owe as ysl aga sca mame rb wae a ig ‘97m may he ng wT tm ge ot of hi eh ae See RS i Sh ea a ah 55 ae ae ta ies ety rues eran ahaa Ansa wet SGD eae Se dee Pay emeenremomeunisynnareitendaaiaaneninenere ip ierten taaie ofmtg tpa aianel d d Roce ett cna sp aa Hist Sitter etnoer yates ceo eke pao nna Sobtngacn eS pepe eto Th eg ry a te st ht Siam re sha masta man ‘ah thea pid mr ing oi me has osm seg re od i pe Sta Se pr “ = te ne amy myer mt ne ea Sop erealte {Risen meth asec SEE NNN ae Jy arpa ns astro ge roam ed ase eee eine estilo crise t imitn a SHORTS ED San Se tte reser ane ty gs Scrotum eos at Eas ern 10 Gis eae Fanci pgm gt ales nae hon ‘ut frets oh ml up 9 it dine he nn, el me a as etfs Ew ie nu yon ih Cryin int ee aterm en “Senta ony pon tn ty main cm ty epee Pepa Te the Ao Hts pid simi 1 A al. Git pam edema ont ete ps hha fe TR ok omg oh a et ‘Mie ma tat mn eee ici mm etry ig a Ie i a kd ace oo SE RSS a nn beta in Developer Classes Now Available ERR See adhe crane eh ft yn eth. eta a a sie ii i ong ke Mya Aconwtedgznents Yn tnt yt 5 aA I nw ana) of Theta Og fet me reno wae gly ae ‘hwnd fo ara a tS a ky ert ii it hn ra ao ees goers tue enya re Begoes sbehmettin tte tote geeecatts seees ee eee So eee eras Sie Sha Gy acs Ra Re se ere i die tern et oop anh ye ity ab aka te arch mrt ike Opting be {Sorina oh th tse ies cs ep on (Sewanee ry pi ~“e ‘eter apna ne sh he ral te aa ‘Soren eds wh hotly eh een pt mae a SEER ES ety hy psec es a hy ay pti wh hgh al a i py wh ny et Py mk weal te he ae Aa anh om ei en on nt tt pa pn Chapter 1 Preliminaries ‘maar We as Der Sepyete ta iat apt ae ates, Ay i lt wa ead {ah iin ny iy tn evn, YRS tg i nel a aa, ay ‘it es ae et of he OG aay OT ‘Meanie cri i sn yu et th "er ym ta ty el si rey i ‘Rentini a ce we Cichchoc wih mtn ce tte i rn inh er sl. a8 pm cing NS Simic SECN eam pt mats ol tea ‘pug mst ofr Fst ete sso ah gra part ho i nti ‘Suet yet ty a ye hee eo. Sreseatpe ek icity soe ey pum bon (lin ite ncabcpne meme ot planers oe Tu ny tin ky i a tc ep cm, ‘ts et ase Th a ATS a omar 1.2 Linux Distributions ‘nie act rng ny td edhe ‘ud ut htt) aid eae 1% ae i a mt btn ge ad ham il ao ‘oti net bine an fore ment fees et ea Tae thee pe yea Ys bet on te ry sen jl eh a a ene Sh pee meh at rn rp ‘Soc mne ober wag ey Hany aera Sea ican Sn ‘Sinai, ck nm we nt dae Un a oh teh a dh how pat een reed ae alge Pas ‘ips rman sy a el et ‘ami a ma es at rns ay a rth SEES SEM CRE eS ol ee Soe Rod ae Harp Le 83 + Ope se 1 + Babin anny Si amet rat ra, sts Sa 1.3 Kernel Versions "hoc tn dunt rk nih hm Lina 2931 ‘Rau Matte ie it mn iin kn 228 Tice trae yay hap er SOUR iene tin ps como pst rts, 20) ‘Ue lo a a eon pas Ashch Pom in ine a ta, {tnt tie ing th 2.6 ha ha eo si | cana orm +g ig an eh theo “ryt par he ae a enya ei ea ‘Cost ca yal nm "hb tai i os he wis a ein ae a me Meare Si he get am oat R ea Tc n,n ome ve em ah ICAP i Si tet ar mn te, OS ‘mee ning alin te Hope ran ih Acai. ps Ts te mes ct he a attr chet tng ee eat i ‘ct 2 rot 1p ig te go ne a rd eget ork ‘pri mein vl 3 in a a he ae nn chlo etry ht ee te ‘Totnes l/r po ten eer ‘ey SEO dwg em AION) mt at nt “isl csr eg naw on pr wa ‘ni dpe nh on be li ee + Pit en a ig ln maa a de te on a Nn at th sg ot a ‘ing th he 1 ren a pi otra ‘eth tar en Ono hr eto ote ay te ded roe td Meson hm ct a err a wrt sat ca inrcne t eaeDocem aie Kenai 14. Platforms ei ya ann pti How et he ie Meher tala suo 8, Man SPARC, SFP Ai swe ms "Pe fe i soci ea ‘went w me ey php iil ti Be a 8 a Seh=4 "Ro emseyo| “eet wma pei mite ot compa oe Soca ares 1.5 Hardware ‘Suc wep ah dee in thy ep nin an of on xl et. ett i'n wi nh ni est al te es ‘eg lah in sony nyt we ow yO ty ey a ir hy wit = Nutr 1 ot matter wr ow mar ag ‘eet eae ein ec piteerena Gastiemaseesueemenes Shey toecren Sacmieteenannares ‘Satin cp yw i marin tg io See ee eee Saga shat arte ewe creed Fete cee omen ees ‘he mati dominating aan med we king gue ea 1.6 Linux Driver Project ‘ets Dene Proje a ee den ne el mor it ib sare Tepe i wo Sn nae ‘Sony wigs NDAs ho De wet) a hare ae pe CP openness crv “femthiha/view. fe ee a Peale area a ‘cere eae eet ‘ie venetian ries L.7 Documentation and Links se Slot ing deci os Gn wwstohook.org) Te prone peti at ew ih a om es Dore (Deseret ee is yh ie an Saree Books Th tsa fn en a pe tm at Ker DD on oe ahmecte te Reta peu oa cd eee Lt SC ae facet re Uinestaning he Five Ker, Tid nb Dai Bs nt MC ‘Undertenng LinusNetwer Era Ct Bat pa, Ry, 2, ‘hl ah cn ei dt ah cone. Tin Kral Dewpment, So Eto lt Lm pb Pr 8 ire eg nd Prac Yn 9k Tet, en Bas Kernel Development snd Maing Ht Sites Ne ws a ine ening Ke et, yr ie ‘ten inating regio Necktie tan nea wo sea Cte aap tne ating Lire Moth erat {hts rd ops sy oa an et a ae, emt Ret ig pba a ee 29 tm tp ic sfc eae ps ‘ek Wop ure pts the nd wat po oe lit tet ed “Tein ator! Goi oy ese mt at hy mn Tet Sone ip ein "hee: Ca om hgh ha ie etna orem ip ree ernie ell of lg eon an APS pe eter stp mesic ot Soma tay Sor Cn nt cha 2 ety nan ry/00 reir i ewan Sts Ee fe 0 sen tern asp fms TT isn et cman jet LD, ng et Chapter 2 Device Drivers 3 pmo. ” 2A Types of Deviews 4 op th tt i i yn te ada aan ‘Sete Thon and png ope ens Sok ost een ey er a nn, Mata ‘nc are dee anh er ante Stud we 8 ‘Character Doves Can bein a a on a i 1 Sip prt ara pba {eon nny, fe], Hart, ero lock Deviees 1st id ts Son fins sce si, arity ie Network Devos uho 6. et ‘Application | Vial Fe System Device Types and User-annare Conacetion Feat reece er Seby oma tir htnadean* Ames eee he hy eter riCoraa ea Menten se eer eh rn, aig So i cm a he he i et Other Types of Devoe rn tee on rn C81 (nal Capt Spano) es on wg rn mem {30 (OS hu) vo da thing teu tone sere tn cae ie wn ae) oe 22 UH Cre, Car td vio eran vr sh i es oma Ong tec, ‘erste a eee Sel mtbr Ty rt alo ae a aig siege pe 22 Mechanism vs. Policy i shal asa ntti et mshi poe ‘yeni, ws pig ei in et edi tm x tr, prom e eveSp nar md et ap mf tei (ee he i ba Een {ic eng nig, imi not {tonite forty a ym ‘tia i ye wih ge ated ga non, wi ayo ent Site edt ay ar of ung ee were tat poe mh eel et Fe es 1 en fl ing nna ren ay ee dled i a Sree yates nan eae rn Mona ftom edo oo wort he led SEA ht 2.8 Avolding Binary Blobs ‘ent ing nc eh abc prota yt wa Breiner a eh td pn er is 4 Any ae Wh here daar a re fms pin an seni) 1 Acre ie, inary bt the eet ADL nase ew 28 tig ery rary Watton wana ft eth wecapigey Nei nen arp ine IM at et at ge ots tn wr a ey hr aa ro ate IE acs tir ani where sy en Ee rout bent he a ae ba ego Weg gi hath ym a cn spe ag + Mann tte Kn net i a np et ie TerP ted a ce eh a fc dm ew he nd i mee Ietieopanty i lt Ua mae hse ana N 1h a ta oma ye eT ein SESE ESR ea a sh 24 How Applications Use Device Drivers ‘Uni pet oes nr say tem hn eth gm ‘Spe tem mp: {ete an nn) th eer vg ma a tem (rn athe gn mt een orth ct a hing die rs ot of a ae hey ‘Bik Sty as tr ve it a es SLRS eS ae der tet f iedwb ponole megni P n Sa eet wach neem ome ‘te owen al 1 erst my ncn desu hippo sree {stb ay nie hela har ot a fe a ge “Ingemar gee ote mevore “ce i a hee td a ged wh ea a Se tr lan bass etn tn wey ‘SUTLAIna spire pet spn bre ena 2.5 Walking Through a System Call aoe wt wily a ein a Secs enh en ot (ote wig tye git ey err daa lit at md iy rn ca ei sn ae he pn) "i en ted ew om et cara tl hag ta esas //ota rt re int ea aa oc Wh ee pn rig eet tt ep pao a BHESUDUEUSER USERS EHR Ave ng ste a be op hp ng a a ee eam tet ett a es apr ute as GER PMNS Am as on im iN on ts tsar SS og el pve euch ty srt bad aa te omit ic ta yeas ee Sy caw ned te 2.6 Brror Numbers ‘Sci eee eee penn me ny na 8m ny en a th i he eras pe ce rt wee at Praerxy » Sapa, i en a re yo ‘SS timoe, tt ae ira an eh ‘ett tr san eos a a 27 printk() ‘malt net aststisizrees cassnertren — yey re ie de ily ha Lea pd ‘Bisel et nfm ici te ‘heb (ry) nr go rp ot tee "pe eee ena sh loc wt te an et te it boc 23 ath tein Sse rece eeeeeee eee al ear Sw a A saa Sa SE we wa i i a en Tegan an ai air a art oy eal men iy ee Mant wo al hn da hf 12 ihn atl ig cng, Toman ow Sys th hes ‘hs he a cn vin et Mgt oe ein nl a hy ‘We ne you cn gt fee» Cole ‘lalate neXt ype wy i (Cove sal ns a ne ym a engi a ‘Ta dae gn etnies soetan te sD Un ot rad i ae of eo ig aM. ‘hee eb omens Carte Ne oa he ws i gh ais ah bw ei nt este eo te ee Te! ei ne ay ie a he we a at i os th yn canny bet) na ce bt ae a cee omg pe oft stata we wale ‘Unk ma ren tat pe ral tt eh ‘incase sor mg msg a abe Tsang @ Basie Character Dever ye ma igo yo we) to hah te ne (ents tn wl Sb sel a apn ‘pti Fn hi ne a wa har ‘sie pia, ih ed ho ny hee” nn emt met oN hy nt Aa nade i, a a, fe dt sl a Ae Tole nmi ta ik ‘Serce btn nah whic pi a heyy ae ete he sect me hi we rape tee ini wc ine ‘Sti sername (0h) Te minor ber [eC cy wey ane ae ‘weve! he suse wl ce ff a ge Chapter 3 Modules I: Basics Sie ee 3.1 What is a Mock ot th en ata al of de yn “osm, hn es ay ig not ‘astm Sta wt ce the Nn ged uh he a em nk "ye et r/min et poet 82. A Trivial Example - Hello World Sop asn gmt ne as Mbt np aaa ie aa, ‘vt mea clk ini na ih sv eh ‘tet wt acm Tabs yl we Toi eof a mc ine ig er a a) co lo Sh eto nto ‘oy mn ih de an pve sing wh BL LCE) uzsVth imme weed acs ematy rma ne ee Spee San ea mgt et nan nt hm isa ‘ores eaoane seis sobsanne ss +My iin hr pr te ee. tn, hme) | thor meine ce ape rd esige ee ee ‘Sha ay ny toy i emt eg 3.3 Module Utilities ‘tide ut a eR Sep mag mem “cdg con ilo eyed ‘tou wy ern acm ui sane eset cha tn om nesters a “shure ce i a oul etc acme te a Qiuminatemmannn ais ERE croup ties a suasuicatenn ses at Eek ome + On SUSE nya hl ht a tear two Ibe tag ts, Th eatin go eb at [SOTA let ea oe es naan nen i at math ig hig Ap ot mao a wd bd pets nt Yr em mie depo eye ter af ny ts KERNEL VERSION NUMER Eiaeg et ciety msm eta me ee it nt rte ecole Spm ad dp a mi ny inp hese ‘itt Tes feces yt ie se ‘omod a ‘sal nents hear soa at as odpeobe ACES Tia te od mas aad ont "eae wd te a el let wt Gd et NON ese ce eed! “ Wen a i rhe eg i en eed see ‘emake eet Wh lb eerie met main sey ha pam smo a 54 Passing Parameters em een ih mn th le ie i aie ute prt) marathi apg, ey ae, inane, ng sg ar. tsa me ‘Mojn en ow en ey a a al cae ee si gmat oe erg niet Ferber ‘TIT ne cy Ti ren mg bo 8 1 IWR, Poems creates tetas ‘vant pe ernin mi)etiemarea tar Sasagawa tl ‘ow me sare) maar ming i ‘sed jon el yuo aa i, Pr mo tpt Ae 1 fo he ted a i te et eed a ae a Spur rene mea opr ne pte a (oe oer ft Maes ears ae “Toy ty ear nw ot rte i ne nh anc ie ile uta yn parte ead onthe owe ite of ie mah on em ‘a rat ta tpt an theo i 8.5 Compiling a Module cr me ele it tha ae i a ie mae SASSO NEEM Wee iy mentee = Beet namtertit mtn see {iets ihe bc pets oom etae hats ning py oro ee ha eg ne ry a ee ‘my tin an pny en Or ako ene ala ca, (Senden . ‘me eh tl a ah ee an hn ‘tiem ano snr nt ra a a a ol a pete apn ah pa 7 eight in ee hy tty ty i ho yee ap st i pr wenn a rae Yt Poh ts etn Scrape i ae ‘ity ved nee on Nu tap rte) ot ue nda yf os, ofl id ait gu on et ‘Smee sla ns en tae Hn We : Detter tana“ woe To ean 2 ‘Sstgay “emu wa ea)? 1 Me ee 1 Cg mg fm 3.6 Modules and Hot Plug a cy try ce nl es an i wich doi yi a da sl ete ig wrth th a pn fw ph We ‘etna a be np enh ee mo ‘pecs theca racine dpc Weds Pe eae “he vin im lino ‘injwndee anamn)- such noon Pep, oles. hab a7 Labs Chapter 4 {ab A: Module pramotors Character Devices +n iti tin, net a pie ia a a ee her pitas reo 4A Deview Nodes hes rie hen in el ih To aa ee SST mn at si ana ok an vr ee tt =e feet 8 as at pa, 42. Major and Minor Numbers “mor sd minor met ne nl wh ed, ay sg cee Se peeks rss) wth mm me mon oe "inn el ony ys eb ht irate me ti dea gem seh aco tur oie fot eek ‘ls inlet pt) oi aco pats a teh ‘sweat dy ty am mt hap ed it ms a i i i oo "Te eet le tal et gt hl Sei ied a a ee) B=S=h et mt wb a poi lh 2 al nn sie mrt eal ‘ota tan on sad mee ee il wor! ne wo ener ae e carh i ae ne ‘Seb ee sr me a ‘athe mi in ts eli rio be an te [Dvemenay eae te eae aonb a ad Sa ead feist arma), Sys mm ant ape nae cat be hs oan nh nr: Rope ncn ena eset ese ema ae ta os as a ing asa wnt ae eb tl ‘thea ao at tw runner ae Se ewe i oh ie ath me ner 8 ne l/s, ‘Sita at 0 4.3 Reserving Major/Minor Numbers ‘ts en in th pi psig mi mje mb ey SONATAS ti Rr tr ‘Se Seesmic ft mod tt hn sy, i ie se he maj st tan, ot he wa) ‘nan blankie ne ne oun "ort wm igh in i he ein wih i mn {ha ml hn snd se pc wa XC yu alo act 9 den a motto i a id ‘err ut a eh pn er an wr a 42 sas oRaunon NUMER » &=4=8 “Ine 24rd sty mj nd nr eb a i ed ens tee an peg + Panic acne ced ing 9a ma i te, ‘http ap mmr whe edy dg Stratis tet ant a ‘Seat we eee + Sire ater pent starnanna nit gspsce ara ate “Roommate yma Allocation of Major Numbers ‘hag maaan ie: rand ba i ve mma feces smn tnd aes cng i om ee a ya i ld ye atin, ‘The ww ome Ee tet ea, o) Tonos ag fd ld pope ae ee i tarsal wena sr we ewe "hein od He ng te ‘ss we ya eps onl tht ing nes ange ad a to ee te ey ce sn a tr a, We 4A Accessing the Device Node pete y ea ne mary ae Tne an weal pu fh wernt ae ‘Sn! fnano eon ole odin eo ed hana cat ero) "Pew el nb ey at vie li a ie ig tam inn cal apt ee rupee ans Mk, typ tsa rap Neate So tact he meng ate ie ee re ed sna ew mn ‘Sorts ni ot oo ed of ove ad he hh 8 ce a pin nsw man ety rt wg ese ioteuy han top teen fro, feria a oo 4.5 Registering the Device Sot de a hr rn anni ‘ree eis nay 0 mt we ety ih hn tect rh ge yt Inpro heuer eae ne he rata se beta ry en tad who oe “Tio se te a ie i ety ahi tae tp 4.6 udev and HAL {knee fe ts sensei oon ae 0 ‘Zohn So bea co om a ‘ie ed ent io cn se te Tomine oe so er mln, tn eter ss apa mine nmin ur mre tire de ten el tei iy on on mand ne tt ‘ia len ec a The nate thy a Th mi DWioted ttc nee salen oe iw ee ene omy fin dot he dy “Smut “Thm he Marae Attnton Lae, RE, i ea elspa aoe ret rw Steal ‘elt anh pl ith vir wos thy amd Wh al om Sep es ena ‘aces aes hing i hai atin i ‘ho ih i st, jor a ms, rms ed ain ‘ete Soc mor nae aya ach fp) a a ‘eh (remit foe) “Temi ns ener: tn edn hn ‘Ss i prin lve yn ee sl ES fii yg em rrr nie ne ee (ona ata cin oe ray a ihn in ie ey, sh ‘ite tm nn ale foe don, Ser th a tc oaa p A ‘eva, tnd a cod nn? mein mde ee 4.7 Glo operations Structure “yo he oprsio tae cl nomen ad {SS Supt tei esi Sie in ee smmptana at 8 nen amp aac dvr ary pia tn ng ee whi A RE Mme : “Tsu en ct a cet th ns se Amie haut iA ied ‘ezine i wh ce on hin ener sre Wh carpe ss “Home ad te opr in ge ni ‘pocorn mtd wad hoc Ao esd wl eA empl se), Senin ‘Ait mt ares aan oo secs) 48 Driver Entry Points “hon in roan nr a na mae no tris TiS Ve teeta Cnt ttc de ip, Aloe, we se cote in i ten, St os owe he ea i ow EEA oTaddet pin dre cpa ed feeder ase {i dng hat hase peas ee i ilk te TE gla eae ces yee oe pa, ‘nig oto ters a le (eee) Be pa tse mel apm pt fou al py of wey me cane eb te aba cease a ‘dort nym tin ping) (Seog tun mary mete tw 70, Fy “ree ate wily uy, tn el pa ake eh i et ag (3.0 {epee amt reat nk tm im sie ro terecnneemeractes eee meter esrene SeRpubtroiehaeay tte cttctresteo str aig cei in, Acne et Sih ponurat so ae aaa "nec ens py tm yw i. Hl oe sou ei oi at ey gn a, stegn Sot ptt (atet fe Ht, ere yl. tna ste ep) ‘than gen sole a Reasnrs ms eat Satan 4st (tact (trac ates, sect Hei, sie een og eerie ly ep: eminem a a ‘Sete no nya ad eon me ray pe ang (usd nt) tet fe tp, gd sy id a ian he rad 0 te i i la ne eo ae se a Nw ot wey pelt 0 (amp) (eee te fp, sme arn stat SUSEENMEN egal ‘at pnd Geet tnt nt, sn fie tt) ‘eng nt ping asa dr ta Te +e fra bi hh ey ‘hey Sten ri ln dois cae ae ‘ho th ett al tyrant! a ee th By tel {ist yf vy ate sn san ie or snc ane a eR ino ee a ekg ev tw yey ny ha. teinas nnarto (tae ch ec, come srt Loe Her sate ng e Se "ion en yee ae YO. pee dW tgs ‘Sepang oan ‘ee spon ce i ao ta id a wie eins SEER pcm ts a eno = Thom cope) tet fs te re pgs Sat 0 20S ee Ds Tero snares eo dno i) Un yd, sci on etm ace) (UNE fH fy, ung mg eed es Shes iar ep Fannie nbn bh psd ap ns hy fn ds ny de es ‘etd tg ny 9 gh 80, 0p, mame oe ae tne (thet) stot He, tty att ttetoa 4.9, Tho fle and inode Steuetures eect tt ae sles sa mene eh, Hh ‘tse ing ith he Raat i a ew ‘Aue ies cate whine hope lindo po {aioe ie Pasa eae ea ‘uname mt darren eins nsec {bear asl i et ogee re FERS Soyer sca ap [a | aa RR a Ca] ee TET Far | Dt pn BE WH a pT ‘ethan wie ary pts wy pr oa oe ‘Senay ety tte etd al wa pana te ne ‘Sete ma a sta en eo es Sesser Tapes esti etsy’ opt ‘the ea rae yb sd hohe ph et wh racic pn dcp (a api naral #esractepreaa n evi oe ‘Taito ita nearer 410 Module Usage Count ‘esata a yen mein ea ee ome {fhm na uci baie ee) Re pe unm tae a a pi eet te stg rn, cei ‘Pup medina Osea ine beopeerat erates ‘simon, mle ga ig ack iar rr he ‘olf its met weg el renee te ‘Spot mole beng sR ars chat rs ec SE Skt retin rie seasons hog oe nl aa fe bing not Settee tig ek ta ay pt hoe {genplan st ml sy bl et 41 Tabs {ab 1: Improving the Basle Character Driver 1 rim ret, ete saa ol twee dg ad Vase et op wn weed. lon “Toker fh ley wg ih yp Fenn) Lab 2; Private Data for Bac Open {bh 4: Dynamical Node Creation (1) J oie dy Tgp a eae ir gn aa ene ti: Dynamical Node Creation (1) ‘trv nein i cat te de dl te Chapter 5 Kernel Configuration and Compilation sesese 5.1 Installation and Layout of the Kernel Source Ear ferent “i re sof he sem ats inal an dey fe ee aie leering fa seta wa cha ae Ge ‘SRE Aerie Me tps be ny le TGSTLTUT ah tit rt ncey snore oar ‘Tole cement pata ‘ean wt to he ere r/o ‘Tags te eee lo bed ‘ne: Lg of th rl sr a Sena wm, Ss ET ies STE eo, pe fl ut rt i se a a TE ‘air eae RT THe = rat, St, pia nr ai iyo ag SE “I iam ‘si a i ey ni a ES nue fr Zea ag oa an pag eek ie ‘ae od a = one ial cn rng yng : Sie ak dh ptr se ia cena og nthe a th te at a Re sy 5.2. Kernel Browsers ‘ala men en bts an sip nt wh Imereti rein titer ate th {TR's i/o vam eserrernmmen cna ae el bt i irs cers ‘cy, th bs a rel, hm ty rm ap the mae fete eae mt Se te ee oe eae CE Saeco eran teeta torte SE SS rate ‘Rune ener stn ite nn te Thence ae (le er) ema tbe sy compro eet ad Wenn 5.8 Kemel Configuration Files rs yi tes wl ie eae sara int sina tee a mashed toe Stel i fo ee SERVE ol nal ym lb ery "wn tant hl woe a a or nd ae te a ‘mt od to sued th tea as ply ‘ig ob wh a fi) mh ‘Whe rie he on yo pa dein i cag oad ea Soo on ey nacre i a Se Teeciontiee Seer a man scripts ty obi mre ence ‘vibe ton aur an ey os es) ‘nor na os ana rh ha ae hin ‘nites pits ue pgared ea wa oem he adit a anny te a cnn sree Sit esa rh ea 5A Rolling Your Own Kernel pata inti 7 wd ty wi stn pte ym my et a al ee pf re 4 the sand elm 6 m6 31 et) 1 Noketin Se og, tig? 6.888) “tn ca ain rtm erga bit ia frye “Te Sing gl (1 EME) i yom hn a at al ye oa gesting mati ooo ‘te ba ns andy spc td jn sn rl oe ey ‘taming ee tw pss al an ct “euaprrn KT CONRGURATION aD COMILATION anya ‘ge rn ey |e SEEN Lina WA ttn sede eal ot ‘SSE ig ume ttm opal msn ww th Ty on eset here i ny tint mn an i ea ‘hate i 'Fcuwemin na tempera one, Ce MMRoate mete na sce uaa 15.5 inited and initramfs ‘eau co'e fly smite cyanea as weal he hl ee ass oa ins BOSE ‘ti oma ym ch {ewes gf iyi ese ih ra a in sn ea Smee eteete aay pci doe td ane ek ‘Nat at a) th sy ee on a he ee ‘nt te a al ei ly yw ddan tap et om wate rn Pee see ct tt cn ne pat SoU RNs elon cea ici enh Rad Hate te) un orm mee My cae ingerchscoeathdete enn ee at, CoS neler seen Feet stn inoue uy pn a erat ht ae te Sena oie he Seainenemaanom ae tenga Phe em ett Re Hat ta ges ey i Si ad os te i oe Te sa ‘ln nim ep ae an ut enn ihc pal a ante tin te nh an ern img an) tn a ar, gost gm to may Shy pl med pgs you ay Wh {REDE ap pt hay dm a oan Sm rm ee ing poe ae ay Fee octet eee Ratz 5.6 Labs {ab 1: Malling ¢ Keene See ‘er iene er Sa yo has oa See het ne i be ae ‘Step 1: Oban and intl the worse bert ec yn ea ne ieee fionecneceannacoe terrane ca ‘We hao our the tod tab hy oar tn, ee ya we hel an Mimo brnng hn e (ig ho per ad rd fe) ‘Suap & Coniguing the Keel mate oe pd tant nt nati ke mene Inns nip fin nai, me so ‘ta yea nf ea he ps, nk ote ‘ho hn il cao, an ah EK epee, Sev mah a aati thao Ry ederatnot Seu, ome yor rly ied oko te ety wn yom Seiwa yoeue ag) york saath nc ph po Wie A ta mr al nein nd eo ay nk a at EESL tics ty mutha ct elon wh no ht ity ae ing os wi ch pig thy ne pee rapt pang san ny sa oa ey en frat i ‘ttt il wn oe ade ler fl a ye i Sot sata 1 Pram gfe 2621402851 wun age ay ‘ht oie feign set pti SSS Non tte! 1 Une Praca ype nt ates ‘hc eer GP Can er sr mane i) "Nano oon de pt? "rn on i HAM td a + ne Maso Sipps (RAID at WYM enon ee Mayer ape” ‘een rang Seger ad ph ‘Temon Kam on Mas Sl ano Dog Fp’ ‘sn hse 8 SCS tm the proper dt are, a a ocr mand ca ‘ost cea hi wn pode bine «tee atl mek et terion con igs conntonn/.D i oe eos eat us in ea tei is Ker a 14 Ge Krab iiinea ph Py Ske hn a wie soe Tapia ‘Sonatas pin fot nese rope rene tego ‘ap een conga Ski ee stra Step 4 Contre your boot loader (aor tis) eye i neat i her yey we tg ly 7 tna he tr ete ‘enn Rtn Spa ea hh th iron it iy et tnt ‘aeons et to prvi sd to tn ‘Step 5: Compiling nding the now hernet. rt ote font ty lh ome) 1 nig ong tae) cain Sim (Ons tn ra «Cove th Sten fe ih ie he nn ly or ae 4 Mic mn toting es ne nals eee Chapter 6 {cing itr nr img ing tb bn ay pg gtr cto | Kernel Features (Rena Gea ae mr Spi oem one ‘RT abn ne wher Sh 6.1 Components of the Kernel + rn nr KERNEL To: Mala ra ce ior pe sek a me pa ‘Meany Management Pesto Ue igh re + Prati th pe + Spam pet nap yi ke, sti en epi; me ly eg san 6.2 User-Space vs. Kernel-Space cance ih ie te (Hing 3.8 88) tr eke eh i tt he ey (Rig 98) Do a Sorter sheets comes at 62 Scheduling Algorithms and Task Structures ting ho inp hn ah in nel SON anthers tate Teor a a oa ne ra gs le mee or (ie te dao i sh Ce ee ee et erred a ea en ete et a in Be) iy 2 item pt i pm ae eu he TESST NMS al Af ant peed i ye str ‘la sito. nfo ie “Fn ste eh ren tu eet CP ce eo A ent ESS aR earn co ha st eo ios = (eer ak ash 1.) Th de race ai tation sat ing, mney TSE, pu an ny Sua hence em ety nh tl ne Meats nessa sere ts Fr re ar een sey os pm a (en in macnn pon er lt a, tie (Sts State al} Hes er ea tp ma 0 Peni nec cml ed oe ne = en TD spy ml in aman ma ei a ih cog re es pom fs cnet) fen yl oun el to te Bop meat int a twa hom a eo ag ed Sintra Nha twrad eto oe dices ‘hh tn tay sr pad [tat win Pwd han nny tn Sen tome maa Ereteboae ever poorer tae rience Scar Simran ase moos he 2.2 hon mana oh 01) ne wth atin oat, (Bde (Campy Sar Soin - spatial ‘hm opty in he if ae ha lg rao! yt ‘ec tn ned one ems TM en om ‘FS i ae ei cr oon ion ca ae 6.4 Process Context uReport a rae he gon elt cn My tan al SESS ny nest ae ey Hoag ‘+ Aseptic ds LSI relay bs re ee Ap a myth + 2 oe tn r,s ar i RQ, ay i Erie ie ts ta Se a * Sheath fen yb gon prom» hae, ut me isto me pce un ie ed aghast ar ses MOTASEGSEST SS ay Set Sn te ante tl ar SIGMA Sl ac st meron. "Steal nt er wg hn hl fe ce qi adn Mediterranea a ome ia tcon de {hn eps ae ed ec gm ol ah hn ain anit Sih guns’ sera ot emai ye Sim ti a ‘osm earn yr on eo, re (STC sy ca eine te hen 65 Labs ab Using tence trace iru al a ie ne dln no wl yt yi fr jun” ey "ae ba od a Noon cay ‘th ned unos ee pt et tr he Wis ic nin ad dra mc a ln he pn, cee tel gaan bs bd A te a awh he ps nc ik ho ‘ome ee san rma he kg fir te Chapter 7 Kernel Style and General Considerations ESSN Seelam sn Pye ca, Beastegzaaz TA Coding Style ‘ern at un ns i ln ne ‘iy tend sts al ot en "Tecate on pn el au dct, s/t nearer + haa ety ne tr er nr a, te ‘yet canbe ying i toed, ih ‘peter unt srtvat neve. pl vane sie * har mat ett «eet one Wino cet ea ma ‘cans tn i SES : ‘Someta ecmameee soca ‘apatite pt mien a i hs ten ‘beat a tase erm hey a oe pm meson Scotts (a (0 cama earn 12 kereldoe ler ga itn kr nn pri ae si cma ts fein ecemin/arees- mee HOWTO Shc cs had alu eh ati ase i Am te ow ae ee ‘eet ene er typ yn da she) ‘i msg ae San no ss ‘ih ms ps aa pi: ie aa dh ao a 7.3 Using Generie Kernel Routines and Methods ‘hb hep aeeee eect 1 Uk a patna, tip td ice) te wae, ge ida ace as tn fenton To inc ojo sr sh rth sad dot ewig hag “etn i ting i sph ae ely th te ftv Sei a fice no “eat toa ne nt pe ng ts, te Nees ue cin Meta Malet nea ceased Dk ‘Gee iota eat pc ce Yor sob wt ae, te mm jt eh i a sly os mas TA Making # Kernel Pateh AEDS SESS Sa pm re te ii, Maes rts opty int pcan yn nti vere tc aro oes sh wie tach tion pia al en ce ll a te he ine (i adept ans spoon mtn wt steely te omer or py ut ae ob tl she i styrene) hn ky ii oe ae ‘RCRSRT SS ca Semin ou a ey ney wae Jo SEES, Nace it ete ete rr eR ‘Seung wus fo p/w on +r sees te tw nf pig he dh, pag wing mks SES a i sn wl ay “an nt ete mh aH in ein et ti th akan ne eon treme la ae uel ta hard intel i ee fh on tt ‘Ses il at Stig wi ery a le ‘hep mt cg cy) Hap Y nk he arin ny br Bk he ced dy i fH on ‘ne ee et ts tt ed te a rae tc ‘ine on ag tytn eh a es ‘Sate wh yu ge lon ems eg Newey a spn rt pt lien en ‘stp ta ri Dement eg gph Sl i nine 1.5 sparse ‘2 pame ot Sous Per) iy sig wt esha ‘apna Repair wot a noun ban sae a the hen ht, hha noe ra son ea oe ‘a tat) hark pe ors ee eon mmf pa wre ac pk ete ie nt i ep aes dl ar a pre n/n n/a Mee, ‘Sheen tigen cde wat Snare! te wring on cnn oe wi et nary nn tn ca a a PT ir honing mah A dm oh ei 4 ae 7.6 Using tikety() and unlikely ‘hsb Re ng ho etn i a a a hr a a il wr a oe te ama te nd eho oe al cs he ce ks ae ih tives on bh pea ih et ane sl el ‘See up ae tengo cake see eet bementa ‘Anne ery eels eg se eae yi aati i pe i 20, Ln pais hhh a hy gel eae emt eS, ihe we he kay) ma eile Th ero en a ese map 1.7 Linked Lists ‘Starch may bel oS dna hr cr cp Ao ie ipa wt ci ho ad ede at ld nih a a nk a ea {Peet ty eh uit wn ri th Ses spot en ih ng aa it jn Linares NESTE AASEAAI a be natin we acct cnn ginal rn a perl Accutane par ‘enhanc st l/h ay at wn oh lh on wl ta ta a ha re sg tn noms sath ray arena Sey uumra iti. Ss etsy STREET Aire nee oan art a [etter it len sn oe oe mc) nda ailing dy Sa ie ess) mt dy eg te a ot ea ee aly i a ect et upg no sh whe un ii ie a "Tete mac el hog i amt es ate iit ie ob en pn ln te ee {Poy th coma ‘Sounot m sunrin torch par hes cae pluton steer Uateed et ind Ke tpg ase nairE it aves ssn ie eet ane re aoa Seer ia eat pt hs ot ome a saan se a WRITING PORTANLE CODE 2/6 1H, RADIANS ® 7.8. Writing Portable Code - #2/64-bit, Endianness us el es on de orn ig, Dr fem ‘ScutweldcmioShsw vat tw eB ae “emo ti inp aici hen pee ie ne i a tne nee ce ‘thas vent i ey oa to a, ESS gh ene ln ty le 1 Yer tt en te orn ar a brn te "Mt rsa gos alo ths en ie “yo sls ma pine sprit a he gw sha "tim ina pao t eh f t ie lorraine ad ge fo ata Sh "od tonite yp ew ‘gina edn ea Moni) a. he ie ‘dai ss oe ht an te PCA water en a er tr i "lie ip al be on oh penis ec dy 7.9 Writing for SMP yur ie SMP) mail ry a yeh a a ce nc halaman nes on rw ty ‘Storm SMP mina ea 4a i'n spades de ee ‘Tarp mt ag sh ete + Ao be cil aie ant * Sean a ih nate ego wre ‘grace aio i uo ng cl ng fal pnt we ‘vit er sd a eS eo Sey tt Ste sl se fon rine et tpl 3c ag ye a ‘Where's human pn, yw ton am SAP ape wt tote rn prego cnn tino ir min ‘SEB myc TAO Writing for High Memory Systems tthe filo nk a math ey Whee (SS Souter cmb A Tico sot he eg a oa ow tio i tg at he wt anf mae RA TALL Keeping Security in Mind ae iy He se eal yo or ace Cb a ees ‘ech i cy ‘orc rey ie ay ah, ie ath ti a SSS ln tsar or oe tte SS SSA et Son ia 7.12 Mixing User- and Kernel-Space Headers tts rin nap ae wi), i rin eevee hasmen ‘raha "A atropine ose twine ‘eta tts on ee reo ees) “yee hn oy eg an a not Sebati nay te enamel (ts mr oe an ant tte when ge ‘tcendta te toy spain) peo a io ed ae wel th enh nth ne pa" hs cel "te a cee Sitchin Whit era nik tices SESS ii tvaeerinsoimarnah tobe oe “er cg a yw a ee dt et ih ‘tet angry ny no fratca asop sa st ete yore si ra a et ota seep nee Ate rae wth et te ei edema a ine ‘Shae uty corer news bts Heme ‘tno wl che by thes ural agit ti il ese ae ‘eos wn i on Set tr) “ys hi one at fh er en ht pce wh fe ‘sr ni tte i th cn tt ie me eae Sie ih en ra mpi a at shh arene stein i em tare ee es ‘st etry te th th psn as Wap ns na nd yl onal Ta Labs ae Linke Liste erga nt oi td re it hs rte Tes sn neta ig mh {i he 3 870) on a ht {ab 2: Ping Taitad Module ‘le in I Ih al es ye in eine enc) Lal + Finding Errore With Sparse yn ii hk ng hay A at at a he th Chapter 8 Interrupts and Exceptions SAL What are Interrupts and Exceptions? she ein sy ome ora aa al reenter ia ay eng nat Sygate me rece a ets TRESS ums eset age mrt ein tr ct ioummesioee + Syne fir la exceptions, pal ye CV, {ces ay i el ner a te ad Nore ig ie ase regan septa) cons be coed ya i hai eh pa niin eh ‘SCTE al systray a a ASME ceattteo ates s eps ha Te ac ot ‘ins ut ae once bea i ro Inert ply rom sind une em ha a ty oat pay a firth rr scot he ar op ve iri a gay ay rue es iy ae ‘spi pclae a sg gma alo Tara nine os A nial ye ge cl oon (ah tans vt sence Ce nurse a nan incr lhe a ay ‘tristan agave tar nym cm 8.2. Exceptions cpt i tga ‘oro deerut exception coe nth CP mea cdi a at Siete bar be RoR Sate et nun om on a lain a pad cin ha “Pe mi oi he he nin nce tr Sov a inn a ng NA ee oe ee Boh reeur ny enremtyetnmmanmedat (28 x Ce has a 2 cin ph, a 8" nc Sie nec ‘sd ta = ar ee a ee | a fea 1 En oo femusereee {ae —— 7 ae ol eal 7 Sent aio a Sepurwncd anes ee Son (eee sane eae Ses ia Cartan, ivrearas AND EXCEPTIONS oe |S | eect ern [Serge rt "| ieetanao ae [sae | yaeeben io ener Sno aie 18 ake oe] See pis a mc adem | ‘Season, Sat Seema ten ostoertmts anara re mma Eee 88 Interrupts ‘re id un ep Monae tral ue a oh ER spar po Tay a be ‘Seen ati 9 Evie the cre thie uly 3 hare ie a ei nmap i a ge MQ Ba wh a me ‘AfioYaator gnmmsetoer ro) (etn xray at APEC bled int CP ABH hao oni tap ete os cf 0 APIC mana Las APIO aig tint he a Ha zal Sob eee ls he ae ep a A ik a in wi etd 4 Sec a 70 yeti we ca ea dt inter yi sg Di +e pO omy ti bk ec 0 tc + Con ming en ae eon ae Rte fo maa pe ry dpdeneges i pageen * “enna rons AND RORPTONS tn nn ct tc et nn tr ping her a ni nh a ‘on SM ps era ma wi ay aii CY nh Bie sista ay Siac me seat nt a "eet nun I fy rarer br a wh ns kara tht tse ced ays pushy gp anata. tc it a ee Menorah ety nme) on to oa eek SENS ih i te ti ae "Tw aed nthe HU ay apn in Reset et ie tle ae) al ome ak {Gotan ein nan dw) sa MSI agro (ten me ery ieee ae hp ah ‘eprint oom wed pun hs ay ‘ty rte pane ‘tents oh eyeing hey i had cee ry ain omg rat ro ov ‘Son'L22 te er cam r MS Ge Maas pi Tp) SENS em chsh bm Tir NS dees 4 mange el yin mig nnd nt yt nce oh ia Sry etetateap fnew netmapr sir he MS och can ww es oh a, ah Be eri Se ee to i ss ae mc ra, iy ‘Bengals on he ea ‘ose, SELMER nes aon sm ant cas oy ot BD, ‘Taronga ag ner i hi hag a aa et es tea Se ham ‘Sen than wis ow en |45, WNAnUIE sAnLI HerBMAOS « ste PCT23 pt ets my he Pee ee Sg a ESL AS ot cl nl ny ba as a poco isin ae Set tne ere 8.5 Pnabling/Disabling Interrupts SE tgp ran tne pt rh he it ete deg "hg eo ti ah CP on Wh hy als ne ins "Ym thn aay hb tr ill ie ti ‘sg wn oun ts mW the nay witty pear omens ‘lean gay py ey re homie ae Seton le va no a ‘nines ary wilson ne ede hropoaesa cabo pa ajo ol ee it silt of a, "tt nth he sc Se Yoel eyo hfe a he sa 5.6 What You Cannot Do at Interrupt Time {SCE tect thy ei te Cay ree wit po tear ee rs Mn rani rl hs arr omen oti ss cn el iy at th vm a as a uti sorta ty sao ae a ae ‘Sassy to a uy te ae ch te a) nS yeni ato ena huts hn Yon lade ao lh ica he ae, eh Sst fine can bdrm els mare om ick wn bs eNom, yest Gon keep va ot ago md with aia. sin rihanna n om 8.7 IRQ Data Structures ‘ema sti id i ie ince nd fe sd ean Fee ee ctr i | : sar mg oar stucronss ‘nak 1 to ee TR DE Tee TA a a Ta — PT TE "ERT a i a Ba TTT 1 rt a ea thet se 3 a a rig Ft a TTS rE ra em FER ‘ete deers wot mete in es 1 ns stan A piv oo nt ay ee SSE ied ime mi de tpi es Tatas ne oot de tn "tnt a re satin poe he nag vi ate a ned wen hn ra eR ar ge Te a a “a i WA TEV, WS TT ) sear “sy a Ae ey ee eee aa sa the re a eS — ir RE TAT OE Fr Rg tr lig ni ag i Be Teles ond trae bot pea =e ot a in IR a a el he OD yb ta gel iti erent eg a md soe pt ta th apa Par, Schaar rae ete Rah TN iv mt bin ed, WL Ds ed i iain ‘se io tht een rc the in ht ain a 8.8 Installing an Taterrupt Handler ‘ote te dy mr te cts ei dct Ie ‘qth nar eer, cy ae ed fan ner fine he ae fps we dnd STAND Hig ‘Swen eit ston sy sted sing ey eb aes Sema cane ‘Tore tereapen oe te ewes se he on at sh Ra a ge eg trie wo me a Tig rv S:&=h sete as mat ei ee tees ean "eats nie se CP "fae each {ing spt oo nr 269 ak nn | ESSER yu anne be pte i {SESE ct ey ty ec elie churn (i). Th fein sl cat Sea RI er a mee ‘Si prea ING ar el tng a he opt ot Ome lc a ‘tr ha me fp eet ht ie wn eR 1RQ Dale ret es ATT) | ak NO a TH tate ey 0-EED t e pa sing tema eit th a ems a ‘ni el ren ace meme asa i 89 Labs Lat 1: Share Interrupts en at si Io yur tet Yoa ee eee ihe nm ch Se a hc site wi "tse tk of her eh na ad all ob 2 Shing Al nec Fa ‘ovo teergta oct wat ey rene in hte nt a he my sia; as Kem dee) tte we ‘poe aide sa cl a ep a i ra eo ‘Bt ah fo shat gettin tod ek a tt. Dt ttt po aa) Chapter 9 Modules II: Exporting, Licensing and Dynamic Loading omfg oa i tate te ett wil be pt fea cid ai ae pre apr ape hh a: uty bo hy oa inl ri cei Cay eget acc st st seni en etre SECTS WASNT tc meee lt on ‘Sesto wl a tion Kw phn hs 2s ert pg hy ey ‘Seta tha eo om ac ed aay ed ed i perce ag noe aon ‘nh ee ry al at comin ult (eas ep Ken, oe we 92 Module Licensing Sats bee ithe LE SEED) ar 82, MoDuus Hee hs ‘ti ati ah mh ett eon iy ie ee ‘esr el mr ener me a ee ele ye rae ite pr fcc sre "Ee ling nt ey he oe hcl ha He ac mn 8) 1A seni the me hae br et {Al inary msl ga Ashe en hi ne wel dg i a | iim rica sonny Teasing cfd Sete iy hol el es ee 1M tat na dt a a teh ete | et te elo a aa ‘leptin noi mas Pgs iat | Shae don ee 928 Automatic Loading/Unloading of Modules east mole) Ane ny iy ai lane met cd oe ORD Sa enh ett meson. ‘tare oon ap aoa he ia be ni re acetate) pt» ea ‘RaniaeterO Sobran Pra mtn We Wl as ae Pt "ine ease) ey ui ct ht hee ‘Reta tts gst tr al eo pee otc air tml ear) etd ty ea ening let tein ch Ste it's (tomas ans) ne me Se Titi nei yan Demand Toning: nl ay ne a ti hi my ese ‘tag th wh dati tn dap mh bi en OHSS ATM a ae ee etn ten yaa Long {olan iain, Anam nD hing wd de del ty om 4 ot nt "hun be mmph yg ae tft ct te em om vd iia ho mn (rn a ne ae, crn dom aaa a fee {te ten hae Rt a ‘x cys ns ot mach ne Yh ath i stem ty win 94 Built-in Drivers ‘nme nat et nit tre te hi ota ‘esha ay thei hen Msi de | ee et mag mene osm i, ‘ih hehe it un bttaea $9 Cus sone ae anaes mp aa ne mi a i nea {ars hain er i a 0m ee ug gsi he ee tats et ov 0 in eh Pinte dane) mace fn i ene een we lf hw tir, ht th ol ada ei a Scant tennee flr, ay pene ln ae : teh thi e/a Wonton pitas Tieden sa di eay (et 259 re ad a re Thott "rts fine tse atl a he sin stot et ny itn ps tn Sl, 9.5 Kernel Building and Makefiles ‘Te im i yn a ee ae panne re ‘tnt igo me oe a fas ‘oceania ae {Tie ep anteiedping ae * oh tary th at bare sistharhton ee ae ama Rai i si ith ‘Semen ih een et ig te in eet mp oad Me hp Thm eer "roe tte i tea rant eee ah ‘io wb EIA AGS be to ate wa ye pe you ey he tga ri mi me Kat “tt te on ening tpn ‘ry oy Meta lt rer rh cern a ing meget amr el ce re "ova is tins Ma theo a eo 9.6 Labs ab: Stork Moder teapot ih i ae te le ng nig ag ed dco ‘Lab 2 Duplicate Symbols oy pat al ater yay i ol oe pti See ee dpe iy syne he i re Lah: Dynamic Module Looting “oe re vce ie vi cd ap oe Arie Crt ua nme tg cet ge Score‘ amet eco hem wm Be) "hts outfit themed tae a ype usc la mee enone aster ‘Wha ing io tus greta eae en te me Lab 4: Demand Loaing of Drivers Mature es 9 aie en ete a a a ee gp Chapter 10 Debugging Techniques 10.1 oops Messages ue Carmen, pence memnaUEs “ni ie i tu ef ar fi cat {cg he at ctf ope ny sn oe ai a, ae, ‘tne emt sgl ao a ae ‘ey nn 208377 ee nese hile ining mar a «1c mai p/n is ian ps a Stand oe tone ti on oe awe ch ieee SER Mawee Oh Rhee eee ee eee ig ‘oyu ap tempi a rhs. ding tata tnd ‘rod he aon oye mney var tl Fone asm ie nent aoe a oY br ro at Core Sees sn sea Be 10.2 Kemel Debuggers re hig tan ste wig ss nar i inser ee rte ty a 00/014 PS Serena Eri cnr ano er in oe Th ean to an) pi ig ak hc i ‘safe Ue inate oo SORE ee a stb “he tg dng nt br Te con i 1 eh Mon ene hn lo ue ey tng pl On a soe igi ain oi te nam a engi SBS pc et na hea We ‘hits teenth *Sttnt ‘Geant omc eet nc a beet re amc ene tnt mt te el fg the had cae ne ng the js by ree slr ra ih tt pe y ME Dey Wik it ed iin nme /ie g lh gh ni ine det ay oe np tne ed SNS edt ss et te ted eas ee iin din cep tp tart hte a ce tht Ysa ‘eho pel theme ht en 2626 Th ht hy ‘iva ce me nse LT et wring ‘i ra ily ey sy oe Lt rn dct ‘ni se aaron ‘Sep in tm ran attr ea la ey 1 oily amy ho pa a ‘aurrese . peseceane TecrIOUS * Sat burg np nn +n oil ro i ee la reclaim ae ey * MOTT ae et p ee| Seg eon bh nh 10.3 debusts ‘Meta tapes eo wn a ot ‘eter ete “Tomine of dg ay se i aging inert, nt iin Sobel teed ye ea, ct Sista al na yop a, se a main ed 2 ‘Ttpetn statin a a “con db ett my yn Kr rn, Te tne et ae (Ste Siueoeege {ahaa at omy tn tt et ci ESE, Rian paneer prune on ‘run inp see ten ‘BEE Sala tin ste nae oe ym ey ny oly ‘clog ot toy thon heh pecan ch gra a py nino {hea ar iy epg ah ns te Moroni anes ina prt wae th ‘ty ly em i pu ty el say a ‘em, Al aga a fafa atop el ace ea tt i pe ng eh aE. a. an, a 146 Labs ab A: /proc/heore hy ae cerca I spiny yt ek A wt (ie eee 7 prem 1 mi pmoe rss i nan worn ws i ey wy rt me 1 youn at at rae in he ig io i id wea onan ee us ens a ol ‘Sui hc ay t's Sn eg wy Ab 2: Using he /peoe lays, {Wit maint ans re Seton cy a a we i spn es iyo ta te oe re our med ‘Mraz pu wey htt, wha! be tel 9 Seo em ya gma ii Wit rs te aon "Pt sh wees tyne ro ty a ha pote Tab: Making your own aubretory in roe Totton nak hae pater ay i wg i Ta Usa /pro to sen sgn sm se sete pti sgn tel nd eo sak tee cara pane ROU RRL Sa Tae lepton Sees yh int ary wen tyne De en wih Went eebate ae am, aa ) va 1 ee i oe i + inthe pm tt pt ab 5 Using Be th pe lente ‘Ble el eyo Sel ln wight Chapter 15 Unified Device Model and sysfs (nerd devs me) a i te 24 el ad utd", meh sped ee eo the os teen ne a we tcl et aa re ‘Scheeteatite afie froc apt a eth INihenot eter mh wehbe nh fa netfee {st Sintec stom mts ree oe ect tye el nae "tri ree in be nem ie erating bth i ia ety, wh pone tha ae Sent ay i in 16.2 Basic Structures ‘ec eh ptr a fine even SRLEESEEUESRESUESESSRNEESSSSESESES0S ae eth i ely at ea th rin ptt tt aps th an fa een th ‘awa urate, 15.3 Real Devices ei vi tes any meh aly hh ewe i ttl ae hy OED ea ee fn de "Reon PC eae pra at so ieee gt ith son ih ‘evi et ae rns ed by pe aa tn ce Orpen "ied gh eof he me ch) hh pad am cee of tt ont on GA sn Si dn St wth pen (aipetsarnar arr an sane es sna tp ed a he Te ec a won nem te eigen ‘Sbypaed a en tie a ne il a ee hese te Aichi tae 15 syst ‘Sete ted to a: ay ve yen pe et th ts te ede dy The ri lettin iy wa itn tye te sas otggt the i ed Fe ae ncaa mils 6 81 ht ig sph jt so as into wy ate en treatin eh pe en he ine nh ‘Sete etn tnt tenes ee "big ah or hi at nn er lh een 1a aaa i lithe acy rte fo BO es sy sth vf, in ae ig ea rin con es ‘Efeot ee Ser Stn Oy ene nn tenn tr on. “ome il pec rma ite ha it a a 15.5 Labs ab 1: Using ty andy ntl min yn tes i ring hy ek a Beg tina pees Seva Ne as uch ome pa ee ices tn Chapter 16 Firmware 16.1 What ix Firmware? eee ‘oni. ‘he Sha pan Wim yn no pring pring stn a ra a ew ry sie a ery nth ype ee Teton, hq ve er a eid whe re a ee tcc te a wb td eee ee mt fh rr en Sesto ime near 16.2 Loading Firmware Se ‘ini et te topan Teme penne ors tal opin he PC, ly tm a i dere orl i ora genet, eer i et ae ap) aot ae eer vr mmc tebe new fre ‘RITA'S You /S i Dormant wares a 163. Labs at 1s Loading Firmvare ‘Wits nts den fe en snl pit he a teeny nen hemes Yom Sorte ret a (00 yt gp ga ig fee uate) ake tng se ag ee Chapter 17 Memory Management and Allocation 4 ta nd Ps Maney se ta eet “ 1 fy mei nd fcc) ‘S 17.1 Virtual and Physieal Memory ‘weer arg than th pla me {tm pps nes ty the ere hes» ie rs cs seen besoin) tating be 3 pat) Pace_oreser ‘Sg andor de ast ‘Sgr aie ae peo rere cry pa, 17.2, Memory Zones ew i tet See tm Memory Zones (92-bit x86) 408) HIGH eso mo NORMAL seme DMA (2915 up 12: DMA, woah en + Hh pr in Sis mg iy hi ae ese ei es RY le a Fv king poche on ta gti th pe YO Rai aana tule been tse andy os spun Sat Asi tho nt Srl a oe was 8 (ct sce aed eee 17.8 Page Tables uy nf in A. rh, en nt ek um the 2 i tt i cane et og i sin SSSA ame mnt) Fhe tn ory uy ety rie gn na, os st ‘ily km mo a Ihering al ee pg fa oh i ‘sang iyo tpn Ta wns nt nm nha i ao omvuetnictte ik mat ere prea ie SES ES Trp gn ty ig ts ty sgguhgetamnsa amature 174 amalloc() es nt sr a ee att t/t "Be 7 GP manny allt age “ile oig E semper T sh tal lig a0 eco ss vey al ‘ney The cat wig of th eg po de Pas li ar aa Re TR | PSR a a Wa Na a a 7 ‘wena haa EL, OFAN, ‘Nev yeh arti ho ana al oe iho nr seae, 4g a ca hsv ay oc a ae amy ke gn te ‘tah tn ae (2) a ase an (eter tira geome an oe 17.5 got free: pages() rst atm) stip php) rman in ae pos SISuEE BSS. “tgp nn spe nthe on a0 sea Sacer’ efi oe estefan el rie in tb ste 9 "Tefen inthe sue pir hr ttt anata Pati nat ste Teen ge hl sms a a ee me pe een ‘iL Anr a pp oe tm snot ‘tart eset gal el ey ample a vMatnocy » 176 vmalloc() steel tian yn th rl St uo a a te ad a ne id th ar DMA erate inayat eh : i he and as ey cea ol em, hn 2 set tS i i a a Mac npr fe, td sn de al ronan tr ect a ‘aa tn cng th i th a el woe sample: Cot me tne a ts hah e/a, 17-7 Barly Allocations and bootmem() ‘enon finn ey at i eis tr er) Sr en fat Sang gts a mA mi aie ‘eng ay nay el it te tin ama ya ti tisha nee prin iy esr n= ory sen reer oie tint i eater Homey yan He wd Sr ee 17.8 Slabs and Cache Allocations pny bts my a te his ha hpi sot SEUNG SE oyna wt wa ny rpc wu, ee ‘GSES SRA stmt ie eas on ‘nina pose ma ecard my ret te ‘ramen we saat tone bn gt at (SR eta apa pri SCS Me tt at ste li SLUTS Sts tern a oe ‘Reshimite eto ifs py ved a ESRRERI AIMS OMe carey sons ng bean "Thos to cr a ae te yh “Tesi igcn cre ex Geyser gt wich eS tt lpm a) ovate om ini gu ath ce ye ae Sate oe he tt aa omnis io paar oon a ‘Peas jens te thse enter aa we wt ‘Sl hss peo tr alle ‘Teas mat ies ik of ne cyte ‘tae 7 mer et ag mic er | fom set of as ae ‘Wl euro hiatal shor ps ee nin, we oer ee wu ES wees cl ae ‘oman iri on te oc sin ei ig ‘tty. hh rs ata many me uname be rns SRE tomas cae = paint xo hal he pet Te pa ren hn es eter ite do ae wn nem sed Tash a enema spe wba na an JoS Say tom int ihe cve eto hich vin uray ha ail bee eae a fay ant othe Ba ote pnt tt p+ my uh a ord eo ti ig 8 sate eyes Aan Ean s/w feat news mmpa Serger tactonaica fot ome) wma moo ear er ‘thea in snd he SLB te wn mt i ie ‘iit Watsons ty 2835 + ang a ees cau ma ca ESCA ies ae SLU iota fa a 17.9 Labs: [ab 1: Memary Caches Jambi bly en ey ct ac we ha jar ge ry a wh) ed ‘Senne a a aan a Lab % ‘Testing Maximum Memory Allocation Set mh unr yon any igh eta) and hte pe Sa tenga an np nn ly ent he pe ‘il pday wt ne TO rhe hn FRE (Wy?) "Hh tig nr dm gn ing on ‘ii pein fa ben ‘usm oan 85 Ieee teony ca ae yh a hg ith ao, Rade a gla 4 MB a "Armen ee Nt a aa Ta Chapter 18 Transferring Between User and Kernel Space a Cenarius PI UE AND KERNEL, SCD 18.1 ‘Transforring Between Spaces ‘eran eae wha cit ti) my tn di eh “Wh aces pee oe ea th itl aie was, Aner wl Wn act ot sa) wn ay stg hin the ey ac ie to pi en SER a a res a tia te ‘a int yw ering po a a erp fr wie a ‘Se le wt hse tonsa re ets ‘Skane ner ee re “fmt dh cn en Sin lag tye i end yi ith may ce at ing YO ce mony magn sl eg 18.2. put(get) ser() andl copy-to(trom) user() a ining son sno ry inte at a cy a dt te tn in in sr toe ti Cal ‘ae taro me ‘suai ee and Swng ne cn ih gid ay 4 ae sie etn a id nip or mh. 12 PUN(GEN UseIY) AND COPY-TOYEROM, ts) w + Tg atin tha nth et po ts ea te {i pen tg pe a anew sce ok Smet 1 Mccain oro sp ite heed ne en po | ‘icra aa ont a a Sa a secs oh) {ope MR Ro PY EE ag 0 a ore a sae tee wey tha tig tn aa edt uc (eet rn ad rs eet) A ave at eo ei winnie pe a pe (na 0 ry ao aga rete) sane eam) dnc ase Ue nen yey ae pet aser() pt ser) uration ht ce ci oe; Wee ep oe ony Srom wert) dyn iit a pe oe (ace 0 eae as hemlet yt ore eee ok tre 942 xn tose) ‘nse om ra ys ti teaser ec hero ty et fig te i ln EE steve Soe si) sre ser, lear er) “restau wk ir ct ge er ei la a 188 Direct (ransfer - Kernel 1/0 and Memory Mapping nah ted ke pe ec ec nay a, Th a ‘ests och ti, no tt ta pa a ai ‘eet Wen Mtge tend alot ta ere 70 impr MEUM YT State art a be wt at ee kena yo nthmnmary mpg mt ws en th et a ‘pace sd dye Stempel BOR pe tis wd aig ecg te ng rey he nr ‘sa yng mente Di md peer bt mao ee ty is 184 Kemal 1/0 Som ss ye ag hy at are V0 ea ‘iy hoo at cicero ea pee ‘Sopot uo cca ee open {SBE iio cnr enw i eS Sac ‘cnet Se dry ie 0 be ah. Mot me ot a a ith 0 np Ae ‘errs tna) (thr ag) ut ey stesso se ‘Sei (eo tse a aoe ace) arenas, TRANSPIMING METWHEN USER AND RENEE SPACE 18.5 Mapping User Pages “Te gem ttn ra Thesis yw a Sm en eh ene pron ‘ates nian ian eli ye eres ven thn ststng aren of tho wae.apace bli of math Sa page (nt es nce i Se "tr tne br mde ee emt st ton pag ia, Te oe Ste ae a ae ert staan apse tn pa [opal wo i ft tk the er a ema te wep ny ile son clergy ey cr tr at ‘ha em ala a hm ca et do mig ew naan cress ro oee, way ee ‘ian nen ne un mn pe oat eal etre a no nt he a ‘tr te ae et nln fase ey {Tin th epee amcign wie sit oe siete oa Sh Fre rete ge ey et i a er agi emg ha pao senate 18.6 Memory Mapping ‘Wm tammy mp eo rt) ab dh oe i i ts bec ch ses ee ‘ner eh YO sean ‘et sd goats per map yt "Tmt otc mts male wa a ‘esa ns cs ebm taco wees wp spin ch ey cmgiy to a ete eo mesg ce mpi wie pita my apy ano in ik a en ‘oars arth ey a ora ty ton we (aegis nc sia May ing mrt hn tk tay we he ig Nest rats astm ie ‘sy wg ag 187 User-Spaco Functions for mmap() ‘ent maging ey tat ns ang fm ee ‘mois eee paler ope "i nine ee rena ti tbe eo em) m0 wl me ‘ic 42 emg eon protein is [Pie ee | eo ma a 1m gay ras is ma 17 ose sPacw PuNCTIONS ROR MMAR agai elds. a "ke 85 mm age ae p< Fe —— aT or So AN ‘een. Whar np ae sc Mawes pane a x M1 24 ce a ma a) a ti, he PO rere mp ay we aaa a ee ob wg tam my ma Ue te ASS Driver Entry Point for munap() ‘noma arn i inn on Spinnin, Aart? “reas el il erin Ps be ge oe TOGA Seba perce eae evtn sms ‘dog oanplnen tn he ie se ene om, mma meeet ‘8 DRIVER EER Powe FOR NAR a sph captor ota cy ME ae ti aes ie wih amg ae (Not marcy Cals nocroe xe, 18.9 Relay Channels lO nw yt el ech png ‘img en ocean ae agra al ee rey Chanel ni may or ele) pv np i aan ak ‘wise tin om ea es ‘nt i ihe ane al py yao ee GP tute ae ane orem ne th er Ca ah ee een nat ar fl a en hh fu emg ht ae na) we te st cn be at ‘en tris ent (hl ed a ‘enh ern a a th nd ey tng a ha of ‘Win esa aia he i ethan) cals hate bi cog toe ‘ee ow ny snes eta ant we sre fe a cal tat ey i oe a ing ie t,t ad eel gp eg Fe + red Cana ya he ne sri de fla te ‘ests et ote hans So a ett eae seer. mes: The ar te gd ti dl. 1 ela tie ied a eet el lh Ba Seu, vous ae pn | ie wk of hi ou de tt wi te ee Wu fc tema pee oer pcr else nthe aay cme te a pense uit enh 18.10 Relay APT ping ang ay in wh Tatty ato on Wb eat yn ns ‘itatatn © ne, Wier att ltt et bt ‘Seca oat ‘Who te ei ry uel en se onan il ap a cal pe Te ale oa.) ‘eae br way targa MIAO: St-mmrnt SL Ao ELEN set ot ee) ae wt te Imes CP tat sc ye ace ay mc Td RRADSEE INN nae te slp. ae ie age Paty tiara ts asprin rw at ets er ean cece ‘Commarea ort Se a a ‘ee et grt) cH, wl rd tw lw ars ‘Siete tase ets pays mae 1B.11 Accessing Files from the Kernel Arm i or oo om win bn” hind Me. Kee tise ine etn nd t,o cpa i te 2 Capone 1 reqxsrrae DeWwa USER AND KERNEL SEACH nt sal nly at ahi ee pws Ee ‘Soest onc ep 0 th prom cit a ern ae Sian mp ye a fe sitar mc own gmt, te te Wy Ge Ki if sonny 0, me tn tn ers rae ng ih fl nana mitt mt momma tre Fenaatabedatitgateres ‘arta tra teat me pt SA RLM Ee m= wc: tas ‘Site Gp 1812 Labs Lab A: Using got me) and pa ser) ab 2; Mapping Uae Pager hee de i gsm te pn ea) ae ty Tope ths om gn yh Mr grat 1a 3: Memoey Mapping an Allcntd Region ‘Maldon vt tag os SeeThru ye dn py 0 Se ang yoy med ep ate Using Hlay Channa te en mene ha g py Shae etma a he i Chapter 19 Sleeping and Wait Queues ‘he, ut om te at wan ap We a Ua) ay Py ets ‘nc ing 125 ate wean ora ™ 10.1 What are Wait Queues? on caren te stxwrwe ano ware goss “Tang tr ony, When ch ees cnet, the aden ome i, tae Sich Deyprasccmmernceneetemoane Teretoneg merge te ymin ovement ea eta Braise ‘i Stg lo THR ate Sree i a er ny patie pone oad ee ES enone of a ati lt ag ees Sees eee eee ‘aaah me omer ean ie {tay bs nto eum epi a ae trating on one ct. eam pumcranirirgpeteptup (eu Omron aumetnsenss See ce eeceee Sat} Treg wins ym fi qi i a somo steertee nee pracciie eertngeas oe oe ee eee eee TRC tet am on et ene ma un 19.2 Going to Sleep and Waking Up ‘te ek mn ed 9 mr ing tk sa ‘it tet tntrnpenna fait jew uot ‘henson ea matty mo ac They ee woe ‘alec itiaata ul pba! thant apO vt) {Guest anasto ana, eee ‘hei ee a nl ei in of ara ih ny ne Wan eat, ot dh seg Wee os pt no sip oe a cia aig aa "nang cng ane ce cl en ee maa nt oe en ea cs wr pt psn a a Yo vi a a ol or ot wap en ig mc hey oe a ‘Cop niin i emma econ ea er ea St ot ato cu a pt a Shehaloen mtn at nat bn ng tien mien na iene ovats mak ei be tera ‘Ding ial dpe pid oe, Ta ae ee ror nfo. echt ade bce ensay CPS Hance it ne ptr ea a se Mg et he ety unig, Satine tsi po Hoa Oo ac ee “Taras ol qe linn oe ag a ‘armani, suger AN Warr QusUES Tt Smting mree) [peentie wse orety i dal a a on et ye ba 19.3 Going to Sleep Details ‘Sa jets oa ‘eit ey he an id i a Te ‘Saal ng wp bt ete acy sn oR "st ing dbo ah i quit ng st tf he ah, uray. ee Bi ama ae Aun wir cso one ha He eal ect af ta ky i pe ‘hay roan trond is Teor) ‘iesetonatts fet Wan ee nt i om ae oe Sie or a me = negra) & ‘ “9 Stet a ib an ing a "het her fe ag a ‘rupees stazna AND Warr quate F nih eet tne cme hae eel ee pi cg 10.4 Exclusive Sleeping Sor mtn sah ty ith cd mae sig a anti, mo ‘by Sete nc ney tow then ng ean me psc ha a 9 MOSTAR nbc toring ber ne al ‘eee men ee tg com na et (fe tie hy tee pik cme toh es 4 Seve a er es) “a i cma an ct tm Ha retin aa ay) 19.5 Waking Up Details eee foshc fe feceree eee ecco see “comme me eae, 6, ta ‘anna eparty at a ‘etm nai to tet in gn Street en runrtat tee es Cece Amit Sie yess ot "a an wae a anata ey a 0 » Curren susnee AN wavr onus or wnt th a op ‘a onl inal em he i olin Shea Se a ed i a 19.6 Polling ls en i yon nb eons oi pie een ine pti ie ct a nt lean ope ae Sa co a fe whi ‘Smt operas thle iota ems SCRIRSASASUE ERNE? pac a nn othe oat Serum Inn i 0 on ate i apg tte i mo et wie tat mpl nr ie tp ae + Wm om pin 120. aco om tl i om ef 3p, kp aa eh an of tin Scams man tna chon ic ay) YO caine SSM TER ete sii se 8 a gs ‘it Be a 6 a a a ew a a eo % oa a aR EAT "ras ——} Sema i a i a a example ty oo mgt a Sh BETES 2 vane fh: ese Th 10.7 Interrupt Handling in User-Space Dose ie ne ep ti hag + Pty tr ey od ay, wo Csr te susgrNG AND warr qua egg ee ed ee er eee lO" punt) sama soe myttn weve o [0 pt rt tcp Aaa nce Son SeshEs Sernmmste caren eect cae Tape oe deems erate eee See erent nate a outgterethtel arrears Se ee thus SS ae ‘Wea ye ep a met wt in ber ha S=h=8 {1 UT poe (Ue YO) wm md ih 282 1 teeing i hp eye cl orn ap rie uc 9 fics, se fr/n/tine/ Dorman Dock eta 19.8 Labs at Ae Using Wale Queass pera ant pp ny eft ey i ‘eda wrt) ‘ 2 gma ee a rep a in Pee encom Fatah ie Sh ‘a ms ie + ig treatin Yn yw ee la ie a | (wt tie a os “Temi wth th ia cm Bt wa pn at at een Bean Sr one, + Ug ter cmpatond. + 6 aap + og edt sap ag eo yas in, fw ny psn ee en pame ig mea on he i nh iy det ar ons iat ter rg pn po el tec = te 4 ig od oe O. ab 3: Us po "ee ween in at etd pe eel 0 pe pet a ph vi oh en awa ao ab User Space Interrupt Handing Mg ete veh pag ed sshd arg adhd sa pan eet edad i tay ste oa Curren i suserig AND wacr gusURS Sse cota Chapter 20 Interrupt Handling and Deferrable Functions 20.1. Top and Bottom Halves tat ht ly hp a et hes zn Cuaron an rear HANDLING AND DEFERRAL PUNCONS ne ay i dn a Sn gy mp Ti ym ‘le are ting es ees nd i "se tn a ea on a hen rat A re hac ‘Top Hatt "lay ing tn ph th erat an, Apa oy th aw ett i es he ny 1 Cn a ner peng i ih {tpt sant omy ol of rig ta deen) ‘hot it oa as se bt, Poy + Sa hading hn te Ge tn al) camp (sing tabs): otto Halt 1 no i ye dt il pal ile ag ih erat ‘her naomi force ee mast “Tew net ts ns at + ah nn ot ig ne a i ‘ted ist co, so ian oe ai 22 pepnmmane puNcrnn®AKD SOFT vs * Mk om ert din ei emia ah ‘pert ints cao ac CP to i a 4 Wt te tet el oe ing os etn wy of neti ot hl fh ag herrea Om et etc es n'a aa hee “ise mga tas ta pig ea ye pe fit {jac ep er an tna of aon Tad tea tt pn 20.2 Deferrable Functions and softirgs Deter fmt am el no ea) yew Posi Wet eae ral ee Ate ia afte ha tata ‘et te ohh wr Samm "nb tec net id. noe yy ya vb ess tn ak i risus Ts Te Cea] ENG nia “rsa int my eh iy per in cn TONG Tbr epee ree "ee Pars a Fag — Ht sr a a th CP | a ‘Siar ‘ta fy emi Jt FR a a aa Raa Be CH Ha AST ee ‘cn nat | tm an ted Soe Yer erence a OP i po I Sieh enn if 0 wa + sata th a eg a ee rc ase He hems than ed rn ey en a ig tg ‘heer et i atc rete se! ete SSeS em oer ek ey poe, 20.3 Tasklets ‘wats ee sk wh i ei Te ey ed SNe ara Baht emg es ut sks = “bcm eh ag CP es He i i {ihe um wi a tints ag eet genoa (inal sneer sa naga NM Me el ia “ht od spina e/a ME Tt a ‘ey pier oh hatin al er, hc np hn a mr ter th ly ‘he a mr a tn ing tee a et ie ng ey tein i sti a ele SS luce an“ ame aici ah aes ‘tang ve) al ait oe sta un (tei may ats ‘Wm wat nin ft tat aoa al de ‘ihe iter hh ky ite fb ney ae ying esate Bl etal tet a fe ne ie ae aval sapere ara agy ’ 5 a nn a tn 04 wore queuass as &=8=8 Mr ng ei ot ing af he Ls a ‘porta at NR 7S ne + So sah tary he eal than te SS ip or ea se 4a ie pa at al a ih whan bon nse ‘Stacia anc cent ned ew ens ch He her ei a yy he a +The tan ghsy throm tot ay EEcigearomeem eas emit eS =e Sattaatiearnyea 20.4 Work Queues Apron ro re ne ol Pes tie Nt ‘nie itty ww sr asf aig ‘ating be equ strat oa spent el Sep cne cance ns egmegeensnnatpent Rept stic patches ef tate tal ho, ti eh neo ed i i ate for aa ich i wk ‘Sct nh gl nyo eo oe “Tn ett pleat ty aa xl la a wo rl Nes ae te i en nan se 5 sme Rae E = i sepmei a he rn ws peta ming ation) oom A pay ns ch sy nd hr he EEO wey is ‘atrancr Stee ay Pa nal ee ae Tit area nt me spa ot pr wm iu on a i a a ‘evi ci ate ro ie i on 2 wors qusuns BS {Seer at Pca eevee sk a al ‘ser ay GP bad ce et te ded te ih ce an up 1 a ag eh ced ne ted nk he tt tatroy rm Be see Han ek i tg ot et a a ag ow ab able pata hg i pt ar ie ‘ibumuir en Slay mee tum be Cerachion a ge nay and i $4 Ot aap a tl pn ‘ia a ‘ea eal he ag ag as sy ns en se hoch pag atc nga Sah aa "ie meinen pie at omni ran pa a ac tm mee sau wn an al 20,5, Creating Kernel ‘Threads ‘uae Breath oyna es he fucin dmain ing ping eas ri fen ‘hear “ee a tn tt ofl pn na mt ‘jeune ge yo Sa iinet tee hp tara ni otro om ano “ling rn Callng Em noe tet Wi ha el at ne nin, oe ag te ‘ea yl te rt 1 mre cng ed a SBN arise aa Test ha 20.6 Threaded Interrupt Handlers "2830 rd il nt wring Merit ie nh ne ai ‘ees! a sata ie na ed ‘SOLS asa set ne a an ae ‘Thm AP ayy et a a ei rl ap Re rl nite " Stree ing hd a nh ily a ait ential hoa wo se i rd ar cra te are (Emad htm SET i rhe pi ar ly gh pe ne Bini no Oman eae pom a apy 20.7 Labs Lab ts Deferred Fanetione kh ep we nh i ad hn Yom sr eg game od a hea ei {ying tip et a ty FO RO te Wh ‘rose ey saan ee oe a ab 2: Shard Interrupts ad Bottom Halves ‘weet sag aT wih pt, Yn pn smn ‘Niet tomar en hm paint wi eae why fh of ee ape {beetroot mh aig iii Ah mde AEM eat ory on at at acta i met te? Ha Serene ba ab 3: Prodeor/Consamee sy am! ht yo at se on ao Ti wl Hp a i ho teeta a nn my eri (Seige ta en se sie ahs Sharing At Tacrrups, Hotton Halos no hin rl piri le ed on ‘al 5: Sharing Al! aterupts, Bottom Halves, Prodacee/Conmumer Prob eo nd tion i pro enarn eh ev h Lb 6: Those terra Hanns soya amin ws 28h, tr os pte Ah 5 ru rt ot. ar tn ab 7 Paccuting i Process Cote ‘ct Syste mat emi) ents Yo aro te spa hn nar mol nd i Seperate nc tes a tha th Chapter 21 Hardware I/O yore 38 Rect Une ep isn a ‘uae 2 onan 0 2A Buses and Ports sei sd Sie ees ‘Tae api nw yo hi Se “aaa nme a bp a nn Pt ae * Some Smt tama we omar Sie Soe eer enn re tt re re Lnomme Tuya pba tee Satie R Re vert te ph Flos oR wets rein ey ma ie pg gt ie sob rene oe eer npn eee petites reiamae emir meat Soe Societal teins tart en SS BSS ssc echcen yearns re, tee a 212 Memory Barriers nan 0 ti ee em em aay. a ergs te aay ort es ote Dorman» we ly sew rod bp rt the aes eon ema grate mine wat HO eS ee Mth or anton ‘re se tt ae rm ig ea nef, te 218 casTRUNG HO Pow oa ‘Seventy aha ae arab a a tree reenter tt eget SEE wore {jt 0 aya ee seaplane ape ere mt toe ing ma wt 0) de ak a wae rT vis i ona ts eC Atalanta wear wal ce itaemeeceri mo mts etc Mee sy atm it oe we wi ce oh ct ‘nt era see ae Va 21.8 Registoring 1/0 Ports ‘yn ot 0 pat tea agit kel a wig ‘SU wre ska ny hg ca ar erin. eg a cara anoint 0 SERRE eee ata eh me tata cee hyena on et ft ere em te vai rian cet nes ile Fare tenes ta ‘ho tne yee we iaing ata ev. equ aon it ‘erecta i mur wi fe ame Mi a Mgr sas tn em et tn men si nn a eget amples 21d Resouree Management “oe marl hh eu ee) chon ie re pe “nal De tr, eae ps 4170 oe {Cov tho gy tbe een ha poe eins dap wa hr Maer in the age Saeki ‘Tl rte ig 10 tat tote ne ent 2200 Sino te 0 praca has ee Sch Seah eevee Sean dated rv, wih jt wep he Bcample: pa npn te 1 89 ( ‘en ie he ou carn 21 aanpwane yo Slt a yt, Bor ts fr PCL ot oe the own Sar ata a n/n a i tlre (a A Ha) mn ih SENT orn nt aed ah “Therese eat ht sep ie pamen. 21.5 Reading and Writing Data from 1/0 Registers The ig mr ee nm. div yf a a we A, SEEMS rt ne anding: cies eb fot mara Writing: tata te on ti nly tg i tho an ers "Yn fot le ts oust a a ngs ire hy we ere abt psa ea or, ‘A ine odo 0 enn cee dy ney he 214 stomise yo.caras 0 vi nanowAnE 26 Reng a ig 0 pt may og wa my ar, ih vy Beamples 21.0. Slowing 1/0 Calls to the Hardware ming fen wd ae 0 sn dso. Tey ee sae ew ‘Shar aan a i elt a ange ‘oii ama tne nh ae aye ‘ei et ml he ei faa ai be. Thy leo re ua oh gh of nhl, heat ae ‘pa te aw eta gs eat ied ae 1 tc Oot, i egret anDwsn 10 = eget mm soar ng io hy Cc iy sk mn ers 217 Allocating and Mapping 1/0 Memory a on ema en wae SESE OANA te tat i 0 sete 1 tn yds, Yow, Uc xy a rae ei ced ren oot ‘SRNL Spat at aa et 218 Acexsse yO MEMORY o ‘agate et ing ne gi: ea eg ee at ch sey pc ed Be all (an tl wth Sw i ia hbase newt thotaree PC xa sty ae er ea tl a ly tn eo ayy ih ht on det ty omy ed sn ln oa 0 me Sa ac tae o 3 ag atin U0 tp em hat il i ra hi i tne s saa we ch ee a ‘meg ar ae hep in cee an he te ris Yd tne ta mr ih te ty 21.8 Accessing 1/0 Memory ig wing am ened many rr wih ig os Cuaron. anne segura oi a ce ano wh cen (Wh pba fet, eng wring ic ibe ne th eu tah ov ys me ne ‘ten pte 0. ra og mc 1 ie pad maa nin noon yet ga aan Se hae 0 abi, es ‘Nring cy ith Mk eo "so 0a Nain ch ey nea TET Seer ene oe ‘a 0 fine THESES tegen Iter” Stown a he ee i ti en dh a a ha a a 214 Aen HY Usk 1oPED.10PL9, /DEV/ronE oo 21.9 Access by User - ioperm(), iopl() /dlev/port Yo Pt a eel fr ape nn fin dap era ost ria Reron Arbsane dy sate ht See Ce bah sy ely PAO iin bd rt yee ta gt ‘a fin tt eel ye a 3.0, ich Penfosheohiit eter i ns “Tmt uy 619 2. go th i sh ew Fe PREFS ae oi a es fn a te mt th fe nn Om mandy ak te te fe ‘eet hd web ne ced te ea es nn yt we 2110 Tabs Tal 1: Accessing 1/0 Ports Prom War Spce oh reo i te 0 et .O pts oa prep Ne elle et wa ae ash Tyree wing tpt yg om + ants ab 2: Acceing 1/0 Ports lack frost i fi WO pt ie We sip tha ae mg aa a carrie, manpwans 0 a npn pty tr ore "he ds dw ea eg ome a Dt a st Neo sg eel AP ne he wate AP ab: Ramapping 1/0 Pores ab Seti Mouse Dever uh ct rn we Mn so ho oko hd kB ig on ih rt rt 9 ae cde, re; al ened a eas ¢ Para co aed T = Ta = i — ‘oe sot ie mn pp me, ih a a oi yo ht in ot n/n rahi es {Bec fr mens aon bea eee a Feahatechidar psi Au tra i i ti ti te era (iy ‘nt bony ment dae sd Ysa 1 Acad ou tt npr tp he a fm te mee oc eo we ane pen hi e ih n tae ran th FO we, hie Cd ae a ve ee Sd toe "a we pr gh a da. yy den i ‘i tts nt A mand stan iret na fet samt hay h(t > sy te ets tas a re ‘rice ages wer pe Yn i pf. tng ed ding hoy hi i at a i ab da ee rk Xi aly cea nd a {PETIA: Cato fl naan ee nt te Xe Een f/i/uny ent orate pe tare oy al ‘Sine ror yeu al yl woh ee span ges os eh ‘Serotec wh igri man poh e o sg o caren, uanowans 0 Chapter 22 PCI 22.1 What is POT? Petes Pees Comer een Hen A (be Stal Antica) Sepang so minus nnn he Piya easton ne i Ess See SERENE: GO SS mee SSENSS Gs ‘Simm ard sl a a ne a ‘ec Sipe ae PO {Te Chto Cn, aid Krad Horna ie haa on ‘Soa ei ni pe sie i nt Lis ating PCI dea ht th eft ees ‘ee ae pn may wl ieee, ‘compre sont of eran Sete net ane eat ser sill notin ee hy te da so ib row the ey a ying ah ewan pine Acc done te PT patent! Gh. 8888. SqEEE GEENNEE EEE 38 22.2 PCI Device Drivers etn legit 9 PCT Se ies st ass ‘emetic ori sh Mette seul ml be mma Pt ot, "hogan ie aa sae te pe eeeesee 22 4 22, Pos Device bares a Seis a Ra ae Ta ie — Rr itn a i a i ‘ey deri rt uae asp sot TE Foe ‘hae tamony pv dt re ea ens yl et ha DE (rece rmoh st, ona, {etn pseu een oes WO ap ca a Pi Sec il a mi wee ey Joeman Dreamin eat “APIs ny it ds sto at he ik ‘Ls eh pe vy abe gs ou ine oe Mh may mth oe) alla ato a | ieee ‘Tew haan) ec in wh eg he dee wih ee 22.4 PCI Structures and Functions vein ml ttt a tae eo ie ‘ni se ab pe ct a i en ‘nny cig PL nt. iin ie a “ana ies sro i apna el toca en bi re gr pa eng i ner, et et ei, ‘Tene ethane al ar nina ni ee, se (Tne tbe a Tze tac ete all Mom tb OL ‘heen ttm Lee ‘hig conte roa Wnt een snc! ye ‘hig a be ran ‘esas en an thai be fe sane 224 poets conmaATION snc oo ep aig te ea igh ec camps lc psd ‘tinny emer he hw pr eva, 6 hey pong haar, eT esr th PI a 22.4 Accessing Configuration Space "ie tation suc bo sd gh 4, daar Sabataramas ctomnranaereattiee escapee ae moons! Steve at eine eam artis See eS ‘St sh le an cca eke er cient tw msn ae one be SPAR, Rael’ yaw ene ural rt ‘in Merete ntti: etn sterol Rete woo nan nd mb emule) Caen ta nt wr wg thei mi na Saat ee va pi oe np ty pon ta atin eae 22.5. Accessing I/O and Memory Spaces ‘etna te lao ae th enn me, i V0 et ‘tend a BT Wi po emigre er ‘TO earns mr arnt pt youn ai tr ar a Ab ait “fn gtr ering enya ee pw YO ast ‘ret ‘Te tt fet an he gy sel th Ue dvi eh a tn ‘ieee in pr ‘an sepa we fs aa l rsot/ oS cca ees eee, 22.6 PCI Express 1 pct i's tanh aa 8 Me Pvc tanh ed mn {aed thon pet et et Irani AP enh et wn ion Sera n 101g ay to Pen pan ng ‘se ay i ep ‘noth sn te rn STR tarts br ess ha ee ‘mb Mifé nena ato ens We ee see sbi fet om 00 Ma ce a ‘ay Pte ah ty fy ha a a evs rut isnt Rvawep spa Petes Sate 22.7 Labs ab ts PCT Uaioe “pee iano) hg iin +S die semi aba PC a i th yp 1 eto ete en ppt PC ein + epdnepeie om PET dsan tntal oe a upp ope uate 11 he UR io ig ‘Soe orate Singh ely ho Mt pees te ee

You might also like