ChangeLog 924 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627
  1. 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
  2. Fix gfxmenu crash.
  3. Reported by: Thorsten Grützmacher.
  4. * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
  5. timeout hook.
  6. (circprog_set_property): Register and unregister timeout hook.
  7. * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
  8. (label_destroy): Free template. and unregister hook.
  9. (label_set_state): New function.
  10. (label_set_property): Handle templates and hooks.
  11. * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
  12. timeout hook.
  13. (progress_bar_set_property): Register and unregister timeout hook.
  14. * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
  15. * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
  16. * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
  17. (update_timeout_visit): Removed.
  18. (update_timeouts): New function.
  19. (redraw_timeouts): Likewise.
  20. (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
  21. (grub_gfxmenu_clear_timeout): Likewise.
  22. * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
  23. (grub_gfxmenu_timeout_notify): Likewise.
  24. (grub_gfxmenu_timeout_notifications): New external variable.
  25. (grub_gfxmenu_timeout_register): New function.
  26. (grub_gfxmenu_timeout_unregister): Likewise.
  27. 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
  28. Transform (broken) vga terminal into (working) vga video driver.
  29. * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
  30. video/i386/pc/vga.c.
  31. * include/grub/video.h (grub_video_driver_id):
  32. Add GRUB_VIDEO_DRIVER_VGA.
  33. * term/i386/pc/vga.c: Renamed to ...
  34. * video/i386/pc/vga.c: ...this
  35. (DEBUG_VGA): Removed.
  36. (CHAR_WIDTH): Likewise.
  37. (CHAR_HEIGHT): Likewise.
  38. (TEXT_WIDTH): Likewise.
  39. (TEXT_HEIGHT): Likewise.
  40. (DEFAULT_FG_COLOR): Likewise.
  41. (DEFAULT_BG_COLOR): Likewise.
  42. (colored_char): Likewise.
  43. (xpos): Likewise.
  44. (ypos): Likewise.
  45. (cursor_state): Likewise.
  46. (fg_color): Likewise.
  47. (bg_color): Likewise.
  48. (text_buf): Likewise.
  49. (page): Likewise.
  50. (font): Likewise.
  51. (framebuffer): New variable.
  52. (set_read_map): Disabled.
  53. (setup): New variable.
  54. (is_target): Likewise.
  55. (grub_vga_mod_init): Likewise.
  56. (grub_vga_mod_fini): Likewise.
  57. (check_vga_mem): Likewise.
  58. (write_char): Likewise.
  59. (write_cursor): Likewise.
  60. (scroll_up): Likewise.
  61. (grub_vga_putchar): Likewise.
  62. (grub_vga_getcharwidth): Likewise.
  63. (grub_vga_getwh): Likewise.
  64. (grub_vga_getxy): Likewise.
  65. (grub_vga_gotoxy): Likewise.
  66. (grub_vga_cls): Likewise.
  67. (grub_vga_setcolorstate): Likewise.
  68. (grub_vga_setcursor): Likewise.
  69. (grub_video_vga_init): New function.
  70. (grub_video_vga_setup): Likewise.
  71. (grub_video_vga_fini): Likewise.
  72. (update_target): Likewise.
  73. (grub_video_vga_blit_bitmap): Likewise.
  74. (grub_video_vga_blit_render_target): Likewise.
  75. (grub_video_vga_set_active_render_target): Likewise.
  76. (grub_video_vga_get_active_render_target): Likewise.
  77. (grub_video_vga_swap_buffers): Likewise.
  78. (grub_video_vga_set_palette): Likewise.
  79. (grub_video_vga_get_info_and_fini): Likewise.
  80. (grub_vga_term): Removed.
  81. (grub_video_vga_adapter): New variable.
  82. (GRUB_MOD_INIT): Register a video driver instead of terminal.
  83. (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
  84. 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
  85. * video/readers/jpeg.c: Indented.
  86. 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
  87. Various jpeg cleanups.
  88. * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
  89. (grub_jpeg_decode_quan_table): Use sizeof.
  90. (grub_jpeg_decode_du): Use ARRAY_SIZE.
  91. 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
  92. * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
  93. tables. Ignore non-last ac bit.
  94. (grub_jpeg_decode_quan_table): Likewise.
  95. 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
  96. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
  97. GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
  98. * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
  99. GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
  100. * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
  101. 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
  102. 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
  103. * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
  104. error.
  105. 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
  106. * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
  107. 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
  108. * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
  109. condition.
  110. 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
  111. * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
  112. part.
  113. 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
  114. * kern/mm.c (grub_mm_init_region): Check for region size after aligning
  115. pointers.
  116. 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
  117. * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
  118. 2010-05-01 Christian Franke <franke@computer.org>
  119. * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
  120. Remove broken Cygwin path conversion.
  121. * util/misc.c: [__CYGWIN__] Add include and define.
  122. [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
  123. for Cygwin 1.7.
  124. (make_system_path_relative_to_its_root): Simplify loop, replace early
  125. return by break.
  126. [__CYGWIN__] Add conversion to win32 path.
  127. Include "/" case in trailing slash removal.
  128. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  129. * kern/main.c (grub_load_config): Fix copy-pasted comment.
  130. Reported by: Seth Goldberg
  131. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  132. * commands/help.c (grub_cmd_help): Fix a typo.
  133. Reported by: Seth Goldberg
  134. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  135. * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
  136. name and add N_.
  137. * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
  138. * commands/iorw.c (GRUB_MOD_INIT): Likewise.
  139. * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
  140. * commands/regexp.c (GRUB_MOD_INIT): Likewise.
  141. * commands/setpci.c (GRUB_MOD_INIT): Likewise.
  142. * commands/terminal.c (GRUB_MOD_INIT): Likewise.
  143. * efiemu/main.c (GRUB_MOD_INIT): Likewise.
  144. * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
  145. * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
  146. * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
  147. * normal/context.c (GRUB_MOD_INIT): Likewise.
  148. * normal/main.c (GRUB_MOD_INIT): Likewise.
  149. * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
  150. * term/serial.c (GRUB_MOD_INIT): Likewise.
  151. * term/terminfo.c (GRUB_MOD_INIT): Likewise.
  152. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  153. * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
  154. extra == 0.
  155. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  156. * commands/iorw.c: New file.
  157. * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
  158. (iorw_mod_SOURCES): New variable.
  159. (iorw_mod_CFLAGS): Likewise.
  160. (iorw_mod_LDFLAGS): Likewise.
  161. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  162. Hotkey support
  163. * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
  164. * normal/main.c (hotkey_aliases): New variable.
  165. (grub_normal_add_menu_entry): Parse "--hotkey".
  166. * normal/menu_text.c (run_menu): Handle hotkeys.
  167. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  168. * kern/i386/coreboot/init.c (grub_machine_init): Call
  169. grub_machine_mmap_init on qemu.
  170. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  171. * boot/i386/qemu/boot.S: Add a missing .code16.
  172. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  173. Use LBIO on coreboot.
  174. * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
  175. kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
  176. * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
  177. New declaration.
  178. * kern/i386/coreboot/init.c (grub_machine_init): Don't call
  179. grub_machine_mmap_init on coreboot.
  180. * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
  181. GRUB_LINUXBIOS_MEMBER_LINK.
  182. (grub_machine_mmap_iterate): Fix declaration.
  183. * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
  184. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  185. Split coreboot and multiboot ports.
  186. * conf/i386-multiboot.rmk: New file.
  187. * configure.ac: Add multiboot port.
  188. * include/grub/i386/multiboot/boot.h: New file.
  189. * include/grub/i386/multiboot/console.h: Likewise.
  190. * include/grub/i386/multiboot/init.h: Likewise.
  191. * include/grub/i386/multiboot/kernel.h: Likewise.
  192. * include/grub/i386/multiboot/loader.h: Likewise.
  193. * include/grub/i386/multiboot/memory.h: Likewise.
  194. * include/grub/i386/multiboot/serial.h: Likewise.
  195. * include/grub/i386/multiboot/time.h: Likewise.
  196. * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
  197. * loader/multiboot.c: Likewise.
  198. * loader/multiboot_mbi2.c: Likewise.
  199. * util/grub-mkrescue.in: Generate multiboot rescue.
  200. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  201. * kern/parser.c (grub_parser_execute): Cope with read-only config.
  202. 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
  203. Merge handling of input and output terminals. Fix a hang.
  204. * commands/terminal.c (abstract_terminal): New struct.
  205. (handle_command): New function. Based on grub_cmd_terminal_input.
  206. (grub_cmd_terminal_input): Use handle_command.
  207. (grub_cmd_terminal_output): Use handle_command.
  208. 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
  209. Fix comment handling.
  210. * tests/grub_script_comments.in: New testcase.
  211. * conf/tests.rmk: Rules for new testcase.
  212. * script/yylex.l: Updated flex rules.
  213. 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
  214. * docs/grub.texi (play): Document that zero pitches produce rests.
  215. * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
  216. if argc is 1.
  217. 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
  218. * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
  219. autogen issues.
  220. 2010-04-26 Christian Franke <franke@computer.org>
  221. * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
  222. * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
  223. (grub_get_prefix): Remove function.
  224. * util/grub-emu.c (main): Replace grub_get_prefix () call by
  225. make_system_path_relative_to_its_root ().
  226. * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
  227. 2010-04-24 Christian Franke <franke@computer.org>
  228. * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
  229. (kernel_img_LDFLAGS): Remove -static-libgcc.
  230. 2010-04-24 Christian Franke <franke@computer.org>
  231. * configure.ac: Do not CHECK_BSS_START_SYMBOL
  232. and CHECK_END_SYMBOL if grub-emu is built.
  233. Unset TARGET_OBJ2ELF if grub-emu is built
  234. without module support.
  235. 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
  236. Nilfs2 support.
  237. * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
  238. (grub_fstest_SOURCES): Likewise.
  239. (pkglib_MODULES): Add nilfs2.mod.
  240. (nilfs2_mod_SOURCES): New variable.
  241. (nilfs2_mod_CFLAGS): Likewise.
  242. (nilfs2_mod_LDFLAGS): Likewise.
  243. * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
  244. * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
  245. * fs/nilfs2.c: New file.
  246. 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
  247. * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
  248. is not supported.
  249. 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
  250. Add grub-mkconfig support for NetBSD.
  251. * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
  252. * util/grub-mkconfig.in: export new NetBSD specific variables.
  253. * po/POTFILES-shell: added 10_netbsd.in.
  254. * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
  255. 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
  256. Fix emu build with grub-emu-pci and grub-emu-modules.
  257. * include/grub/util/misc.h: Export grub_util_{info,error,warn}
  258. functions.
  259. * include/grub/libpciaccess.h: New file.
  260. * conf/any-emu.rmk: Update kernel headers for emu build.
  261. 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
  262. * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
  263. 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
  264. * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
  265. 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
  266. * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
  267. Retrieve chosen/bootpath if bootpath isn't hardcoded.
  268. * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
  269. util/ieee1275/ofpath.c.
  270. * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
  271. * util/ieee1275/grub-ofpathname.c: ... this. All users updated
  272. * include/grub/sparc64/ieee1275/boot.h
  273. (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
  274. (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
  275. * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
  276. * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
  277. const char *.
  278. * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
  279. (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
  280. Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
  281. install.
  282. 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
  283. * util/grub-mkconfig.in: Corrected two == equality tests.
  284. Set grub_prefix as in grub-install for NetBSD and OpenBSD.
  285. * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
  286. expect a number appended to it.
  287. * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
  288. expects a number appended to it.
  289. 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
  290. * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
  291. 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
  292. * util/hostdisk.c (make_device_name): Change to new partition naming.
  293. 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
  294. * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
  295. 2010-04-17 Christian Franke <franke@computer.org>
  296. * Makefile.in: Add missing localedir setting.
  297. 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
  298. Restore TEXTDOMAINDIR correction from r1889, lost apparently by
  299. mistake in r2156. Noticed by Anthony Fok.
  300. * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
  301. @localedir@.
  302. * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
  303. 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
  304. Fix a spurious, uninitialized variable warning.
  305. * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
  306. Initialize variable, shdr.
  307. (grub_freebsd_load_elfmodule): Likewise.
  308. (grub_freebsd_load_elf_meta): Likewise.
  309. 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
  310. Fix for escaped dollar in double quoted strings.
  311. * script/yylex.l: Updated flex rules.
  312. * conf/tests.rmk: Rule for new testcase.
  313. * tests/grub_script_dollar.in: New testcase.
  314. 2010-04-13 Carles Pina i Estany <carles@pina.cat>
  315. 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
  316. Enclose all translated strings in grub.cfg in single quotes, and
  317. escape them appropriately (Ubuntu bug #552921).
  318. * util/grub-mkconfig_lib.in (gettext_quoted): New function.
  319. * util/grub.d/10_hurd.in: Use it.
  320. * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
  321. * util/grub.d/10_linux.in (linux_entry): Likewise.
  322. 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
  323. Fix cygwin compilation.
  324. * configure.ac: Define NEED_REGISTER_FRAME_INFO.
  325. * include/grub/misc.h (__register_frame_info)
  326. [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
  327. (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
  328. * kern/misc.c (__register_frame_info)
  329. [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
  330. (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
  331. 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
  332. * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
  333. 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
  334. Unify libgcc processing.
  335. * Makefile.in (kernel_img_LDFLAGS): New variable.
  336. * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
  337. * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
  338. overwriting.
  339. * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
  340. * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
  341. * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
  342. * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
  343. * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
  344. overwriting. Remove -lgcc and -static-libgcc
  345. * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
  346. * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
  347. * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
  348. (kernel_img_LDFLAGS): Append instead of overwriting.
  349. Remove -lgcc and -static-libgcc
  350. * conf/sparc64-ieee1275.rmk: Likewise.
  351. * include/grub/powerpc/libgcc.h: Move to ...
  352. * include/grub/libgcc.h: .. this.
  353. * include/grub/libgcc.h: Don't export most of the function on x86.
  354. (__bswapsi2): New export.
  355. (__bswapdi2): Likewise.
  356. * include/grub/mips/libgcc.h: Removed.
  357. * include/grub/sparc64/libgcc.h: Likewise.
  358. 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
  359. * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
  360. disk_info_msg (conflicts with gettexting into languages with cases).
  361. 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
  362. Add grub-probe support for NetBSD.
  363. * util/getroot.c (find_root_device): Convert block device to
  364. character device on NetBSD.
  365. * util/probe.c (probe): Require character device on NetBSD.
  366. * util/hostdisk.c: NetBSD specific headers.
  367. (configure_device_driver): new function to tune device driver
  368. parameters (currently only for NetBSD floppy driver).
  369. (grub_util_biosdisk_open): NetBSD specific code (get disk size
  370. via disklabel ioctl).
  371. (open_device): call configure_device_driver on NetBSD.
  372. (convert_system_partition_to_system_disk): NetBSD specific code.
  373. (device_is_wholedisk): Likewise.
  374. (grub_util_biosdisk_get_grub_dev): Likewise.
  375. (make_device_name): Fixed a typo in bsd_part_str.
  376. * configure.ac: check for opendisk() and getrawpartition() on
  377. NetBSD and set LIBUTIL.
  378. * Makefile.in: add LIBUTIL to LIBS.
  379. 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
  380. Documentation fix.
  381. * util/grub-script-check.c: Better help message.
  382. 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
  383. Fix FreeBSD build.
  384. * configure.ac: Flex version check.
  385. * conf/common.rmk: Add -Wno-error to sh.mod.
  386. * script/yylex.l: Remove all #pragma.
  387. 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
  388. * include/grub/util/misc.h (canonicalise_file_name): Add missing
  389. prototype.
  390. Reported by: Seth Goldberg.
  391. 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
  392. * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
  393. Rename "module" to "module2".
  394. Reported by: Seth Goldberg.
  395. 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
  396. * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
  397. EXPORT_FUNC.
  398. Reported by: Seth Goldberg.
  399. 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
  400. * lib/posix_wrap/locale.h: Add missing file.
  401. Reported by: Seth Goldberg.
  402. 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
  403. grub-emu module load support.
  404. * Makefile.in (TARGET_NO_MODULES): New variable. All users of
  405. NO_DYNAMIC_MODULES switched to this.
  406. (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
  407. (CFLAGS): Likewise.
  408. * conf/any-emu.rmk: Generate symlist.
  409. (kernel_img_HEADERS): Add util/datetime.h.
  410. (kernel_img_HEADERS) [sdl]: Add sdl.h.
  411. (kernel_img_HEADERS) [libusb]: Add libusb.h.
  412. (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
  413. kern/$(target_cpu)/cache.S.
  414. * configure.ac (grub-emu-modules): New option.
  415. * genmk.rb: Handle multiple source lists.
  416. * include/grub/sdl.h: New file.
  417. * include/grub/libusb.h: Likewise.
  418. * util/grub-emu.c (main): Hanle (host) root.
  419. * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
  420. GRUB_ERR_UNKNOWN_DEVICE.
  421. * util/misc.c: Move mm functions to ...
  422. * util/mm.c: ... here. All users updated.
  423. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  424. * Makefile.in (RMKFILES): Search in srcdir and not current directory.
  425. (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
  426. missing files.
  427. (maintainer-clean): Remove libgcrypt-grub.
  428. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  429. * term/efi/console.c (grub_console_checkkey): Macroify key contants.
  430. 2010-04-09 EFI Coder <eficoder@hotmail.com>
  431. * normal/menu_text.c (print_message): Clean up the message and show
  432. the Fn information when on EFI
  433. * term/efi/console.c (grub_console_checkkey): Add F4 support.
  434. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  435. * normal/autofs.c (read_fs_list): New parameter 'prefix'.
  436. All users updated.
  437. * normal/crypto.c (read_crypto_list): Likewise.
  438. * normal/dyncmd.c (read_command_list): Likewise.
  439. * normal/term.c (read_terminal_list): Likewise.
  440. * normal/main.c (read_lists): Use explicit prefix.
  441. (read_lists_hook): Use read_lists.
  442. (grub_normal_execute): Likewise.
  443. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  444. * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
  445. Reported by: Thomas Schmitt.
  446. Add -no-emul-boot to grub-mkisofs parameters.
  447. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  448. * font/font.c: Indented.
  449. 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
  450. Elif support to GRUB script (by Deepak Vankadaru).
  451. * tests/grub_script_if.in: New testcase.
  452. * conf/tests.rmk: Rule for new testcase.
  453. * script/parser.y: Grammar rules for elif.
  454. 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
  455. While and until loops support to GRUB script.
  456. * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
  457. (grub_script_create_cmdwhile): New function prototype.
  458. (grub_script_execute_cmdwhile): New function prototype.
  459. * script/execute.c (grub_script_execute_cmdwhile): New function.
  460. * script/parser.y (command): New commands.
  461. (whilecmd): New grammar rule.
  462. (untilcmd): New grammar rule.
  463. * script/script.c (grub_script_create_cmdwhile): New function.
  464. * util/grub-script-check.c (grub_script_execute_cmdwhile): New
  465. function.
  466. * tests/grub_script_while1.in: New testcase.
  467. * conf/tests.rmk: Rule for new testcase.
  468. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  469. * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
  470. as *.jpg.
  471. 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
  472. GRUB_BACKGROUND support.
  473. * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
  474. * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
  475. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  476. Load fonts and modules for gfxmenu in grub-mkconfig.
  477. Idea by: Mario Vazquez
  478. * util/grub.d/00_header.in: Load pf2 and image modules.
  479. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  480. grub-mkconfig multiple terminal support.
  481. * util/grub-mkconfig.in: Handle multiple terminals correctly.
  482. * util/grub.d/00_header.in: Likewise.
  483. 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
  484. * Makefile.in: Specify files explicitly instead of using $< and $@ since
  485. we use cd $(srcdir).
  486. 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
  487. * util/grub.d/10_linux.in: Only use the first word of
  488. GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
  489. spaces in GRUB_DISTRIBUTOR.
  490. * util/grub.d/10_kfreebsd.in: Likewise.
  491. * util/grub.d/10_hurd.in: Likewise.
  492. 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
  493. Fix unit testing framework for Qemu 0.12.
  494. * tests/util/grub-shell.in: Remove -serial stdio option.
  495. 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
  496. POSIX header file wrappers.
  497. * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
  498. equivalents.
  499. * lib/posix_wrap/ctype.h: Likewise.
  500. * lib/posix_wrap/errno.h: Likewise.
  501. * lib/posix_wrap/langinfo.h: Likewise.
  502. * lib/posix_wrap/limits.h: Likewise.
  503. * lib/posix_wrap/localcharset.h: Likewise.
  504. * lib/posix_wrap/stdint.h: Likewise.
  505. * lib/posix_wrap/stdio.h: Likewise.
  506. * lib/posix_wrap/stdlib.h: Likewise.
  507. * lib/posix_wrap/string.h: Likewise.
  508. * lib/posix_wrap/sys/types.h: Likewise.
  509. * lib/posix_wrap/unistd.h: Likewise.
  510. * lib/posix_wrap/wchar.h: Likewise.
  511. * lib/posix_wrap/wctype.h: Likewise.
  512. * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
  513. (grub_script.yy.h): Likewise.
  514. * script/yylex.l: Remove POSIX emulation #defines.
  515. * Makefile.in (POSIX_CFLAGS): New variable.
  516. (GNULIB_UTIL_CFLAGS): Likewise.
  517. Regexp support.
  518. * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
  519. (regexp_mod_SOURCES): New variable.
  520. (regexp_mod_CFLAGS): Likewise.
  521. (regexp_mod_LDFLAGS): Likewise.
  522. * commands/regexp.c: New file.
  523. * gnulib/regcomp.c: New file. Imported from gnulib.
  524. * gnulib/regex.c: Likewise.
  525. * gnulib/regex_internal.c: Likewise.
  526. * gnulib/regex_internal.h: Likewise.
  527. * gnulib/regexec.c: Likewise.
  528. * gnulib/regex.h: Likewise.
  529. 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
  530. * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
  531. unsupported video mode types.
  532. 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
  533. * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
  534. 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
  535. * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
  536. * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
  537. 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
  538. Remove unused grub_vga_get_font.
  539. * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
  540. * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
  541. 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
  542. * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
  543. * include/grub/misc.h: Likewise.
  544. 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
  545. * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
  546. for which failure is fatal.
  547. 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
  548. * util/grub-install.in: Use mkdir -p to create grub directory.
  549. * util/i386/efi/grub-install.in: Likewise.
  550. * util/ieee1275/grub-install.in: Likewise.
  551. 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
  552. * Makefile.in (LEX): new variable.
  553. 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
  554. * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
  555. `=' and added double quotes on operands of this equality test.
  556. 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
  557. * Makefile.in (uninstall): Remove a leftover debug echo.
  558. Reported by: Grégoire Sutre
  559. 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
  560. MIPS multiboot2 support.
  561. * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
  562. (multiboot2_mod_SOURCES): New variable.
  563. (multiboot2_mod_CFLAGS): Likewise.
  564. (multiboot2_mod_LDFLAGS): Likewise.
  565. (multiboot2_mod_ASFLAGS): Likewise.
  566. * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
  567. definition.
  568. (MULTIBOOT_ENTRY_REGISTER): Likewise.
  569. (MULTIBOOT_MBI_REGISTER): Likewise.
  570. (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
  571. (MULTIBOOT_ELF32_MACHINE): Likewise.
  572. (MULTIBOOT_ELF64_MACHINE): Likewise.
  573. * include/grub/mips/multiboot.h: New file.
  574. * include/grub/video.h (grub_video_driver_id): New type
  575. GRUB_VIDEO_DRIVER_SM712.
  576. (grub_video_get_info_and_fini): Export.
  577. (grub_video_get_palette): Likewise.
  578. (grub_video_get_driver_id): Likewise.
  579. * include/multiboot2.h: Resynced with spec.
  580. * loader/i386/multiboot.c: Moved from here ...
  581. * loader/multiboot.c: ... here. All users updated.
  582. (grub_multiboot_boot): Use platform-specific macros.
  583. * loader/i386/multiboot_elfxx.c: Moved from here ...
  584. * loader/multiboot_elfxx.c: ... here. All users updated.
  585. (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
  586. * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
  587. * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
  588. 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
  589. Import gnulib argp module.
  590. * gnulib/argp-ba.c: New file.
  591. * gnulib/argp-eexst.c: Likewise.
  592. * gnulib/argp-fmtstream.c: Likewise.
  593. * gnulib/argp-fmtstream.h: Likewise.
  594. * gnulib/argp-fs-xinl.c: Likewise.
  595. * gnulib/argp-help.c: Likewise.
  596. * gnulib/argp-namefrob.h: Likewise.
  597. * gnulib/argp-parse.c: Likewise.
  598. * gnulib/argp-pin.c: Likewise.
  599. * gnulib/argp-pv.c: Likewise.
  600. * gnulib/argp-pvh.c: Likewise.
  601. * gnulib/argp-version-etc.c: Likewise.
  602. * gnulib/argp-version-etc.h: Likewise.
  603. * gnulib/argp-xinl.c: Likewise.
  604. * gnulib/argp.h: Likewise.
  605. 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
  606. * kern/device.c (grub_device_iterate): Clear errors after failed
  607. opening device.
  608. 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
  609. * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
  610. returned by firmware.
  611. 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
  612. * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
  613. compilation on coreboot and qemu
  614. 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
  615. * include/multiboot2.h: Resync with spec.
  616. 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
  617. Multiboot2 tag support
  618. * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
  619. loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
  620. Remove loader/multiboot_loader.c.
  621. * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
  622. (grub_multiboot2_real_boot): Likewise.
  623. * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
  624. (grub_get_multiboot_mmap_count): New proto.
  625. (grub_fill_multiboot_mmap): Likewise.
  626. (grub_multiboot_set_video_mode): Likewise.
  627. (grub_multiboot_set_console): Likewise.
  628. (grub_multiboot_load): Likewise.
  629. (grub_multiboot_load_elf): Likewise.
  630. (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
  631. (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
  632. * include/multiboot.h: Resynced with specification.
  633. * include/multiboot2.h: Resynced with specification.
  634. * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
  635. * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
  636. * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
  637. * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
  638. users updated.
  639. * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
  640. * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
  641. * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
  642. Removed.
  643. * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
  644. Moved from here...
  645. * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
  646. * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
  647. Moved from here...
  648. * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
  649. * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
  650. * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
  651. All users updated.
  652. * loader/i386/multiboot_mbi2.c: New file.
  653. 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
  654. Resync with gnulib.
  655. * Makefile.in (GNULIB_CFLAGS): New variable.
  656. * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
  657. (grub_script_check_CFLAGS): New variable.
  658. * gnulib/alloca.h: Resync with gnulib.
  659. * gnulib/error.c: Likewise.
  660. * gnulib/error.h: Likewise.
  661. * gnulib/fnmatch.c: Likewise.
  662. * gnulib/fnmatch_loop.c: Likewise.
  663. * gnulib/getdelim.c: Likewise.
  664. * gnulib/getline.c: Likewise.
  665. * gnulib/getopt.c: Likewise.
  666. * gnulib/getopt1.c: Likewise.
  667. * gnulib/getopt_int.h: Likewise.
  668. * gnulib/gettext.h: Likewise.
  669. * gnulib/progname.c: Likewise.
  670. * gnulib/progname.h: Likewise.
  671. 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
  672. Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
  673. which is the case with --disabled-nls.
  674. * include/grub/i18n.h: Use (defined(ENABLE_NLS)
  675. && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
  676. * util/misc.c: Likewise.
  677. * util/mkisofs/mkisofs.c: Likewise.
  678. * util/mkisofs/mkisofs.h: Likewise.
  679. 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
  680. Simplify Apple CC support.
  681. * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
  682. Add 0 byte at the end not to have a symbol with empty target.
  683. * mmap/i386/pc/mmap_helper.S: Likewise.
  684. * genmk.rb: Ignore errors 2030 and 2050.
  685. * kern/i386/pc/startup.S: Use LOCAL when possible.
  686. 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
  687. Testcase and the fix for final semicolon on cmdline.
  688. * tests/grub_script_final_semicolon.in: New testcase.
  689. * conf/tests.rmk: Rules for the new testcase.
  690. * script/parser.y: Grammar fix.
  691. 2010-03-26 BVK Chaitanya <bvk@localhost>
  692. Blank lines testcase for GRUB script.
  693. * tests/grub_script_blanklines.in: New testcase.
  694. * conf/tests.rmk: Rules for the new testcase.
  695. 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
  696. Don't use __FILE__.
  697. * genmk.rb: Add -DGRUB_FILE to all C targets.
  698. * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
  699. * include/grub/list.h: Likewise.
  700. * include/grub/misc.h: Likewise.
  701. * include/grub/mm.h: Likewise.
  702. * include/grub/test.h: Likewise.
  703. * kern/mm.c: Likewise.
  704. * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
  705. 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
  706. Sunpc partitions support.
  707. * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
  708. (grub_fstest_SOURCES): Likewise.
  709. (pkglib_MODULES): Add part_sunpc.mod.
  710. (part_sunpc_mod_SOURCES): New variable.
  711. (part_sunpc_mod_CFLAGS): Likewise.
  712. (part_sunpc_mod_LDFLAGS): Likewise.
  713. * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
  714. * partmap/sunpc.c: New file.
  715. 2010-03-26 BVK Chaitanya <bvk@localhost>
  716. For loop support to GRUB script.
  717. * include/grub/script_sh.h (grub_script_cmdfor): New struct.
  718. (grub_script_create_cmdfor): New function prototype.
  719. (grub_script_execute_cmdfor): New function prototype.
  720. * script/execute.c (grub_script_execute_cmdfor): New function.
  721. * script/parser.y (command): New for command.
  722. (forcmd): New grammar rule.
  723. * script/script.c (grub_script_create_cmdfor): New function.
  724. * util/grub-script-check.c (grub_script_execute_cmdfor): New
  725. function.
  726. * tests/grub_script_for1.in: New testcase.
  727. * conf/tests.rmk: Rules for new testcase.
  728. 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
  729. Nested partitions
  730. * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
  731. 'partition' is NULL, grub_partition_get_start already does that.
  732. * commands/loadenv.c (check_blocklists): Likewise.
  733. (write_blocklists): Likewise.
  734. * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
  735. (grub_fstest_SOURCES): Likewise.
  736. (pkglib_MODULES): Add part_bsd.mod.
  737. (part_bsd_mod_SOURCES): New variable.
  738. (part_bsd_mod_CFLAGS): Likewise.
  739. (part_bsd_mod_LDFLAGS): Likewise.
  740. * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
  741. (grub_emu_SOURCES): Likewise.
  742. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  743. * include/grub/bsdlabel.h: New file.
  744. * include/grub/partition.h (grub_partition_map): Remove 'probe' and
  745. 'get_name'.
  746. (grub_partition): Add 'parent' and 'number'. Remove 'data'.
  747. (grub_partition_map_list): New variable.
  748. (grub_partition_map_register): Inline.
  749. (grub_partition_map_unregister): Likewise.
  750. (FOR_PARTITION_MAPS): New macro.
  751. (grub_partition_map_iterate): Removed.
  752. (grub_partition_get_start): Handle nested partitions.
  753. * include/grub/msdos_partition.h: Remove bsd-related entries.
  754. (grub_pc_partition): Remove.
  755. * kern/disk.c (grub_disk_close): Free partition data.
  756. (grub_disk_adjust_range): Handle nested partitions.
  757. * kern/partition.c (grub_partition_map_probe): New function.
  758. (grub_partition_probe): Parse name to number, handle subpartitions.
  759. (get_partmap): New function.
  760. (grub_partition_iterate): Handle subpartitions.
  761. (grub_partition_get_name): Likewise.
  762. * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
  763. * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
  764. * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
  765. * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
  766. Set 'number'.
  767. (acorn_partition_map_probe): Remove.
  768. (acorn_partition_map_get_name): Likewise.
  769. * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
  770. Set 'number'.
  771. Set 'index' to 0 since there can be only one partition entry per sector.
  772. (amiga_partition_map_probe): Remove.
  773. (amiga_partition_map_get_name): Likewise.
  774. * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
  775. Set 'number'.
  776. Set 'offset' and 'index' to real positions of partitions.
  777. (apple_partition_map_probe): Remove.
  778. (apple_partition_map_get_name): Likewise.
  779. * partmap/bsdlabel.c: New file.
  780. * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
  781. Set 'number'.
  782. Allocate 'data' so it can be correctly freed.
  783. Set 'index' to offset inside sector.
  784. (gpt_partition_map_probe): Remove.
  785. (gpt_partition_map_get_name): Likewise.
  786. * partmap/msdos.c (grub_partition_parse): Remove.
  787. (pc_partition_map_iterate): Don't force raw access.
  788. Set 'number'.
  789. Make 'ext_offset' a local variable.
  790. (pc_partition_map_probe): Remove.
  791. (pc_partition_map_get_name): Remove.
  792. * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
  793. Set 'number'.
  794. (sun_partition_map_probe): Remove.
  795. (sun_partition_map_get_name): Likewise.
  796. * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
  797. (grub_pcpart_type): Likewise.
  798. * util/hostdisk.c (open_device): Handle new numbering scheme.
  799. (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
  800. * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
  801. * util/grub-probe.c (probe_partmap): Handle nested paritions.
  802. * util/grub-install.in: Insert all subpartition modules.
  803. * util/ieee1275/grub-install.in: Likewise.
  804. 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  805. * kern/dl.c (grub_dl_resolve_symbols): Improve error message
  806. grammar.
  807. 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
  808. * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
  809. 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
  810. * util/grub-install.in: Copy .mo files from @datadir@/locale, to
  811. match where 'make install' puts them.
  812. * util/i386/efi/grub-install.in: Likewise.
  813. 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
  814. * .bzrignore: Add gentrigtables, grub-script-check,
  815. grub_script_check_init.c, grub_script_check_init.h, and
  816. trigtables.c.
  817. 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
  818. * kern/parser.c: Indented.
  819. 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
  820. * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
  821. 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
  822. * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
  823. alpha_mask_size == 0 case.
  824. 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
  825. GRUB shell lexer and parser improvements.
  826. * conf/any-emu.rmk: Build rule updates.
  827. * conf/common.rmk: Likewise.
  828. * conf/i386-coreboot.rmk: Likewise.
  829. * conf/i386-efi.rmk: Likewise.
  830. * conf/i386-ieee1275.rmk: Likewise.
  831. * conf/i386-pc.rmk: Likewise.
  832. * conf/powerpc-ieee1275.rmk: Likewise.
  833. * conf/x86_64-efi.rmk: Likewise.
  834. * configure.ac: Configure check for flex.
  835. * include/grub/script_sh.h (grub_script_arg_type_t): More argument
  836. types.
  837. (grub_lexer_param): Struct member updates.
  838. (grub_parser_param): Likewise.
  839. (GRUB_LEXER_TOKEN_MAX): Maximum token size.
  840. (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
  841. (grub_script_lexer_init): Prototype update.
  842. (grub_script_lexer_record_start): Likewise.
  843. (grub_script_lexer_record_stop): Likewise.
  844. (grub_script_lexer_yywrap): New function prototype.
  845. (grub_script_lexer_fini): Likewise.
  846. (grub_script_execute_argument_to_string): Removed by...
  847. (grub_script_execute_argument_to_argv): ...better version.
  848. * script/execute.c (ROUND_UPTO): New macro.
  849. (grub_script_execute_cmdline): Out of memory fixes.
  850. (grub_script_execute_menuentry): Likewise.
  851. (grub_script_execute_argument_to_string): Removed. Update all
  852. users by...
  853. (grub_script_execute_argument_to_argv): ...better version.
  854. * script/function.c (grub_script_function_create): Use
  855. grub_script_execute_argument_to_argv instead of
  856. grub_script_execute_argument_to_string.
  857. * script/lexer.c (check_varstate): Removed.
  858. (check_textstate): Removed.
  859. (grub_script_lexer_record_start): Likewise.
  860. (grub_script_lexer_record_stop): Likewise.
  861. (recordchar): Replaced with...
  862. (grub_script_lexer_record): ...new function.
  863. (nextchar): Removed.
  864. (grub_script_lexer_init): Rewritten.
  865. (grub_script_yylex): Rewritten.
  866. (append_newline): New function.
  867. (grub_script_lexer_yywrap): New function.
  868. (grub_script_lexer_fini): New function.
  869. (grub_script_yyerror): Sets error flag.
  870. * script/yylex.l: New file.
  871. (grub_lexer_yyfree): Wrapper for flex yyffre.
  872. (grub_lexer_yyalloc): Likewise.
  873. (grub_lexer_yyrealloc): Likewise.
  874. * script/parser.y: Refactored.
  875. * script/script.c (grub_script_arg_add): Out of memory fixes.
  876. (grub_script_add_arglist): Likewise.
  877. (grub_script_create_cmdline): Likewise.
  878. (grub_script_create_cmdmenu): Likewise.
  879. (grub_script_add_cmd): Likewise.
  880. (grub_script_parse): Use grub_script_lexer_fini to deallocated.
  881. * util/grub-script-check.c (grub_script_execute_menuentry): Remove
  882. unnecessary code.
  883. * tests/grub_script_echo1.in: New testcase.
  884. * tests/grub_script_vars1.in: New testcase.
  885. * tests/grub_script_echo_keywords.in: New testcase.
  886. 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
  887. Remove some redundancy in build system.
  888. * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
  889. (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
  890. (TARGET_LDFLAGS): Add -nostdlib.
  891. (TARGET_IMG_LDFLAGS): Likewise.
  892. * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
  893. anything since mmap isn't available.
  894. * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
  895. Add util/time.c.
  896. (pkglib_MODULES): Remove reboot.mod.
  897. (reboot_mod_SOURCES): Removed.
  898. (reboot_mod_CFLAGS): Likewise.
  899. (reboot_mod_LDFLAGS): Likewise.
  900. * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
  901. (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
  902. (DEFSYMFILES): Add kernel_syms.lst.
  903. (kernel_img_HEADERS): Add common headers.
  904. (symlist.c): New target.
  905. (kernel_syms.lst): Likewise.
  906. (pkglib_MODULES): Add memdisk.mod.
  907. (memdisk_mod_SOURCES): New variable.
  908. (memdisk_mod_CFLAGS): Likewise.
  909. (memdisk_mod_LDFLAGS): Likewise.
  910. (pkglib_MODULES): Add reboot.mod.
  911. (reboot_mod_SOURCES): New variable.
  912. (reboot_mod_CFLAGS): Likewise.
  913. (reboot_mod_LDFLAGS): Likewise.
  914. (pkglib_MODULES): Add date.mod.
  915. (date_mod_SOURCES): New variable.
  916. (date_mod_CFLAGS): Likewise.
  917. (date_mod_LDFLAGS): Likewise.
  918. (pkglib_MODULES): Add datehook.mod.
  919. (datehook_mod_SOURCES): New variable.
  920. (datehook_mod_CFLAGS): Likewise.
  921. (datehook_mod_LDFLAGS): Likewise.
  922. (pkglib_MODULES): Add lsmmap.mod.
  923. (lsmmap_mod_SOURCES): New variable.
  924. (lsmmap_mod_CFLAGS): Likewise.
  925. (lsmmap_mod_LDFLAGS): Likewise.
  926. (pkglib_MODULES): Add boot.mod.
  927. (boot_mod_SOURCES): New variable.
  928. (boot_mod_CFLAGS): Likewise.
  929. (boot_mod_LDFLAGS): Likewise.
  930. * conf/i386-coreboot.rmk: Removed redundant parts.
  931. * conf/i386-ieee1275.rmk: Likewise.
  932. * conf/i386-pc.rmk: Likewise.
  933. * conf/mips-yeeloong.rmk: Likewise.
  934. * conf/mips.rmk: Likewise.
  935. * conf/powerpc-ieee1275.rmk: Likewise.
  936. * conf/sparc64-ieee1275.rmk: Likewise.
  937. * conf/x86_64-efi.rmk: Likewise.
  938. * conf/i386-coreboot.rmk: Moved qemu parts ..
  939. * conf/i386-qemu.rmk: ... here
  940. * conf/i386-efi.rmk: Moved common parts to...
  941. * conf/x86-efi.rmk: ... here.
  942. * conf/i386.rmk: Added modules common to all x86 variants.
  943. * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
  944. * disk/memdisk.c: Remove grub/machine/kernel.h.
  945. * gensymlist.sh.in: Include symbol.h.
  946. * hook/datehook.c: Correct module name.
  947. * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
  948. (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
  949. * include/grub/i386/efi/serial.h: New file.
  950. * include/grub/x86_64/efi/serial.h: Likewise.
  951. * util/time.c: Likewise.
  952. * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
  953. 2010-03-14 Colin King <colin.king@ubuntu.com>
  954. 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
  955. Shrink the pre-partition-table part of boot.img by eight bytes.
  956. * boot/i386/pc/boot.S (ERR): New macro.
  957. (chs_mode): Use ERR.
  958. (geometry_error): Likewise.
  959. (hd_probe_error): Remove. This is only used once, so we wrwite
  960. it inline instead.
  961. (read_error): Instead of printing read_error_string, just set up
  962. %si and fall through to ...
  963. (error_message): ... this new function, also used by ERR.
  964. 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
  965. Speed up consecutive hostdisk operations on the same device.
  966. * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
  967. (grub_util_biosdisk_open): Initialise disk->data.
  968. (struct linux_partition_cache): New structure.
  969. (linux_find_partition): Cache partition start positions; these are
  970. expensive to compute on every read and write.
  971. (open_device): Cache open file descriptor in disk->data, so that we
  972. don't have to reopen it and flush the buffer cache for consecutive
  973. operations on the same device.
  974. (grub_util_biosdisk_close): New function.
  975. (grub_util_biosdisk_dev): Set `close' member.
  976. * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
  977. * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
  978. * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
  979. * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
  980. * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
  981. 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
  982. Compile parts of grub-emu as modules.
  983. * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
  984. (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
  985. partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
  986. (all-local): Add $(GRUB_EMU).
  987. (install-local): Install $(GRUB_EMU).
  988. (uninstall): Uninstall $(GRUB_EMU).
  989. * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
  990. * kern/dl.c: Likewise.
  991. * commands/sleep.c: Not include machine/time.h.
  992. * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
  993. (COMMON_CFLAGS): Likewise.
  994. (sbin_UTILITIES): Remove grub-emu.
  995. (grub_emu_SOURCES): Removed.
  996. (kernel_img_RELOCATABLE): New variable.
  997. (pkglib_PROGRAMS): Add kernel.img.
  998. (kernel_img_SOURCES): New variable
  999. (kernel_img_CFLAGS): Likewise.
  1000. (kernel_img_LDFLAGS): Likewise.
  1001. (TARGET_NO_STRIP): Likewise.
  1002. (TARGET_NO_DYNAMIC_MODULES): Likewise.
  1003. (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
  1004. halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
  1005. (grub-emu): New target.
  1006. (GRUB_EMU): New variable.
  1007. * configure.ac: Whitelist -emu as possible x86_64 architecture.
  1008. * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
  1009. * loader/xnu.c: Likewise.
  1010. * include/grub/pci.h: Likewise.
  1011. * genemuinit.sh: New file.
  1012. * genemuinitheader.sh: Likewise.
  1013. * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
  1014. Support TARGET_NO_DYNAMIC_MODULES.
  1015. * include/grub/dl.h (GRUB_NO_MODULES): New variable.
  1016. * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
  1017. * disk/loopback.c: Likewise.
  1018. * font/font_cmd.c: Likewise.
  1019. * partmap/acorn.c: Likewise.
  1020. * partmap/amiga.c: Likewise.
  1021. * partmap/apple.c: Likewise.
  1022. * partmap/gpt.c: Likewise.
  1023. * partmap/msdos.c: Likewise.
  1024. * partmap/sun.c: Likewise.
  1025. * parttool/msdospart.c: Likewise.
  1026. * term/gfxterm.c: Likewise.
  1027. * video/bitmap.c: Likewise.
  1028. * video/readers/jpeg.c: Likewise.
  1029. * video/readers/png.c: Likewise.
  1030. * video/readers/tga.c: Likewise.
  1031. * video/video.c: Likewise.
  1032. * util/grub-emu.c (read_command_list): Removed.
  1033. (main): Don't call util_init_nls.
  1034. * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
  1035. (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
  1036. 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
  1037. * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
  1038. date.mod, datehook.mod.
  1039. (datetime_mod_SOURCES): New variable.
  1040. (datetime_mod_CFLAGS): Likewise.
  1041. (datetime_mod_LDFLAGS): Likewise.
  1042. (date_mod_SOURCES): Likewise.
  1043. (date_mod_CFLAGS): Likewise.
  1044. (date_mod_LDFLAGS): Likewise.
  1045. (datehook_mod_SOURCES): Likewise.
  1046. (datehook_mod_CFLAGS): Likewise.
  1047. (datehook_mod_LDFLAGS): Likewise.
  1048. * conf/sparc64-ieee1275.rmk: Likewise.
  1049. * lib/ieee1275/datetime.c: New file.
  1050. 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
  1051. * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
  1052. (ieee1275_fb_mod_SOURCES): New variable.
  1053. (ieee1275_fb_mod_CFLAGS): Likewise.
  1054. (ieee1275_fb_mod_LDFLAGS): Likewise.
  1055. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
  1056. New proto.
  1057. * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
  1058. (HEAP_MAX_ADDR): Likewise.
  1059. * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
  1060. type.
  1061. Correct stop condition.
  1062. (grub_ieee1275_devices_iterate): New function.
  1063. * video/ieee1275.c: New file.
  1064. 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
  1065. Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
  1066. * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
  1067. as scratch.
  1068. * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
  1069. SCRATCH_PAD_DISKBOOT as scratch.
  1070. (bootit): Pass Openfirmware pointer in %o4.
  1071. * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
  1072. of 0x200000.
  1073. (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
  1074. with util/grub-mkrawimage.c.
  1075. * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
  1076. * include/grub/aout.h (AOUT_MID_SUN): New definition.
  1077. (grub_aout_get_type) [GRUB_UTIL]: Removed.
  1078. (grub_aout_load) [GRUB_UTIL]: Likewise.
  1079. * include/grub/kernel.h (grub_modules_get_end): New proto.
  1080. * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
  1081. (SCRATCH_PAD_BOOT): New definition.
  1082. (SCRATCH_PAD_DISKBOOT): Likewise.
  1083. (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
  1084. * include/grub/sparc64/ieee1275/ieee1275.h
  1085. (grub_ieee1275_original_stack): New variable
  1086. * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
  1087. New definition
  1088. (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
  1089. (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
  1090. (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
  1091. (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
  1092. (GRUB_PLATFORM_IMAGE_RAW): Likewise.
  1093. (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
  1094. (grub_platform_image_format_t): New type.
  1095. * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
  1096. * kern/main.c (grub_modules_get_end)
  1097. [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
  1098. * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
  1099. (codestart): Switch stacks.
  1100. * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
  1101. variable.
  1102. (grub_heap_init): Use grub_modules_get_end.
  1103. * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
  1104. stack.
  1105. * util/grub-mkrawimage.c (generate_image): Support sparc64.
  1106. (main): Likewise.
  1107. * util/sparc64/ieee1275/grub-mkimage.c: Removed.
  1108. 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
  1109. * util/grub-mkrescue.in: Base ISO UUID on UTC.
  1110. 2010-03-08 Matt Kraai <kraai@ftbfs.org>
  1111. * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
  1112. bug #559005).
  1113. 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
  1114. * genmoddep.awk: Output all missing symbols and not only first.
  1115. 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
  1116. * NEWS: Put the date of 1.98 release.
  1117. 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
  1118. * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
  1119. ft2build.h.
  1120. 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
  1121. * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
  1122. completition in the middle of string.
  1123. 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
  1124. * util/grub-mkrescue.in: Use mktemp with explicit template.
  1125. 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
  1126. * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
  1127. 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
  1128. * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
  1129. right pointer.
  1130. 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
  1131. Fix FreeBSD compilation.
  1132. * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
  1133. * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
  1134. 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
  1135. * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
  1136. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1137. * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
  1138. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1139. * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
  1140. 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
  1141. Support relative image path in theme file.
  1142. * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
  1143. (image_set_property): Handle theme_dir and relative path.
  1144. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1145. * configure.ac: Alias amd64 to x86_64.
  1146. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1147. * NEWS: mention multiboot on EFI.
  1148. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1149. * kern/main.c (grub_load_modules): Handle errors from init functions of
  1150. embeded modules.
  1151. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1152. * normal/autofs.c (autoload_fs_module): Handle errors.
  1153. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1154. Disable linux.mod on qemu-mips since it's not functional and leads
  1155. to compilation failure.
  1156. * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
  1157. * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
  1158. * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
  1159. * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
  1160. * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
  1161. * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
  1162. * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
  1163. * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
  1164. * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
  1165. * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
  1166. Reported by: BVK Chaitanya
  1167. 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
  1168. * INSTALL: Add gettext as a dependency and add qemu to a new section
  1169. "Prerequisites for make-check".
  1170. 2010-03-04 Christian Franke <franke@computer.org>
  1171. * util/grub-pe2elf.c: Add missing include "progname.h".
  1172. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1173. * normal/crypto.c (read_crypto_list): Fix a typo.
  1174. Reported by: Seth Goldberg.
  1175. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1176. * Makefile.in (DISTCLEANFILES): Add stamp-h1.
  1177. Reported by: Seth Goldberg.
  1178. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1179. * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
  1180. ascii.bitmaps.
  1181. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1182. * genmk.rb: Remove terminal*.lst in make clean.
  1183. Reported by: Seth Goldberg.
  1184. 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
  1185. * util/i386/efi/grub-install.in: Copy gettext files.
  1186. 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
  1187. * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
  1188. 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
  1189. Wait for user entry basing on presence of output rather than on errors.
  1190. * include/grub/normal.h (grub_normal_get_line_counter): New proto.
  1191. (grub_install_newline_hook): Likewise.
  1192. * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
  1193. * normal/menu.c (show_menu): Check line_counter to determine presence
  1194. of output.
  1195. * normal/term.c (grub_normal_line_counter): New variable.
  1196. (grub_normal_get_line_counter): New function.
  1197. (grub_install_newline_hook): Likewise.
  1198. 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
  1199. * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
  1200. 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
  1201. * configure.ac: Update version to 1.98.
  1202. 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
  1203. * util/grub.d/10_linux.in (linux_entry): Don't default to
  1204. gfxpayload=keep if Linux doesn't support video handover.
  1205. 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
  1206. Don't compile video modules on yeeloong since video subsystem is part
  1207. of kernel.
  1208. * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
  1209. video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
  1210. * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
  1211. video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
  1212. * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
  1213. * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
  1214. * include/grub/bitmap_scale.h: Likewise.
  1215. * include/grub/bufio.h: Likewise.
  1216. * include/grub/font.h: Likewise.
  1217. * include/grub/gfxterm.h: Likewise.
  1218. * include/grub/video.h: Likewise.
  1219. * include/grub/vbe.h: Don't include video_fb.h.
  1220. * video/i386/pc/vbe.c: Include video_fb.h.
  1221. * commands/i386/pc/vbetest.c: Include video.h.
  1222. 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
  1223. * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
  1224. * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
  1225. default entry if GRUB_SAVEDEFAULT=true. This allows using
  1226. GRUB_DEFAULT=saved on its own to let grub-reboot work, without
  1227. saving a new default on every boot.
  1228. 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
  1229. * normal/crypto.c (read_crypto_list): Fix a memory leak.
  1230. * normal/term.c (read_terminal_list): Likewise.
  1231. * normal/main.c (grub_normal_init_page): Likewise.
  1232. (grub_normal_read_line_real): Likewise.
  1233. 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
  1234. * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
  1235. memory leak.
  1236. Reported by: Seth Goldberg.
  1237. 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
  1238. * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
  1239. duplicate declaration of `start'.
  1240. 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
  1241. * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
  1242. filename.
  1243. Reported by: Georgy Buranov
  1244. 2010-02-20 Carles Pina i Estany <carles@pina.cat>
  1245. * util/grub-mkrawimage.c (usage): Change string formatting to
  1246. improve gettext.
  1247. 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
  1248. * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
  1249. backspace keys.
  1250. 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
  1251. * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
  1252. Reported by: Michael Suchanek.
  1253. 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
  1254. * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
  1255. * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
  1256. 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
  1257. Remove any reference to non-free fonts.
  1258. * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
  1259. * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
  1260. uses non-free components.
  1261. * font/font.c (grub_font_get_name): Remove example name.
  1262. * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
  1263. * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
  1264. * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
  1265. * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
  1266. 2010-02-16 Georgy Buranov <gburanov@gmail.com>
  1267. * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
  1268. 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
  1269. * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
  1270. Double divisor.
  1271. (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
  1272. features.
  1273. (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
  1274. 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
  1275. * gensymlist.sh.in: Use TARGET_CC instead of CC.
  1276. 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
  1277. * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
  1278. * docs/grub.texi (Command-line and menu entry commands): Document play
  1279. command.
  1280. 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
  1281. * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
  1282. parse arguments as inline tempo and notes. Move code for playing notes
  1283. to...
  1284. (play): ... new function.
  1285. 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
  1286. * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
  1287. grub_uint16_t instead of short.
  1288. (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
  1289. disk from little endian to cpu endianness.
  1290. 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
  1291. * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
  1292. GRUB_TICKS_PER_SECOND instead of 120.
  1293. 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
  1294. * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
  1295. escape sequence after \e.
  1296. 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
  1297. * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
  1298. non-ASCII characters.
  1299. 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
  1300. * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
  1301. set root in single quotes to prevent \, from being unescaped.
  1302. 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
  1303. Prevent unknown commands from stopping menuentry execution.
  1304. * script/execute.c (grub_script_execute_cmdline): Print error after
  1305. unknown command.
  1306. 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
  1307. * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
  1308. Reported by: Pavel Pisa.
  1309. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1310. * io/gzio.c (grub_gzio_open): Use grub_zalloc.
  1311. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1312. Merge grub_ieee1275_map_physical into grub_map and rename to
  1313. grub_ieee1275_map
  1314. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
  1315. * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
  1316. Remove.
  1317. * kern/ieee1275/openfw.c (grub_map): Rename to ...
  1318. (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
  1319. necessary.
  1320. * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
  1321. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1322. * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
  1323. opening and not after.
  1324. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1325. * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
  1326. constants.
  1327. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1328. * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
  1329. (alloc_phys): Use ALIGN_UP instead of align_addr.
  1330. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1331. * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
  1332. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1333. * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
  1334. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1335. * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
  1336. verbose dprintf.
  1337. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1338. Fix over-4GiB seek on sparc64.
  1339. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
  1340. Replace pos_i and pos_lo with pos. All users updated.
  1341. * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
  1342. New constant.
  1343. * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
  1344. Likewise.
  1345. * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
  1346. and pos_lo.
  1347. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1348. * util/grub-mkrawimage.c (main): Call set_program_name.
  1349. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1350. Properly align 64-bit targets.
  1351. * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
  1352. (generate_image): Use ALIGN_ADDR.
  1353. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1354. Properly create cross-endian images.
  1355. * include/grub/types.h (grub_host_to_target_addr): New macro
  1356. * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
  1357. 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
  1358. * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
  1359. 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
  1360. Pass SIMPLE framebuffer size in bytes and not 64K blocks.
  1361. * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
  1362. * loader/i386/linux.c (grub_linux_setup_video): Likewise.
  1363. (grub_linux_boot): Divide by 64K when on VESA.
  1364. 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
  1365. Support GRUB_GFXPAYLOAD_LINUX.
  1366. * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
  1367. * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
  1368. 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
  1369. * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
  1370. to show messages instead of discarding them.
  1371. Process errors after executing command and not before. Keep old method
  1372. too as precaution.
  1373. 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
  1374. * configure.ac: Check for ft2build.h.
  1375. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1376. * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
  1377. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1378. * genkernsyms.sh.in: Use TARGET_CC.
  1379. 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
  1380. * NEWS: Update.
  1381. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1382. * include/grub/multiboot2.h: Remove leftover file.
  1383. * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
  1384. * include/grub/partition.h [GRUB_UTIL]: Likewise.
  1385. 2010-02-07 Yves Blusseau <blusseau@zetam.org>
  1386. * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
  1387. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1388. Fix warnings in grub-emu when compiling with maximum warning options.
  1389. * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
  1390. (grub_arch_modules_addr): Return 0 and not NULL.
  1391. * util/misc.c (ENABLE_RELOCATABLE): New definition.
  1392. (xstrdup): Use newstr instead of dup.
  1393. * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
  1394. of disk to dsk to avoid shadowing.
  1395. (find_free_slot): Fix prototype.
  1396. * util/getroot.c (grub_util_is_dmraid): Make static.
  1397. * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
  1398. Add missing prototype.
  1399. * util/sdl.c (grub_video_sdl_set_viewport): Remove.
  1400. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1401. * loader/i386/linux.c (grub_linux_setup_video): Handle error
  1402. appropriately.
  1403. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1404. * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
  1405. code out.
  1406. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1407. * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
  1408. * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
  1409. * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
  1410. * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
  1411. * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
  1412. * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
  1413. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1414. * include/grub/err.h (grub_err_printf): Don't export.
  1415. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1416. * include/grub/dl.h (grub_dl_register_symbol): Don't export.
  1417. 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
  1418. * include/grub/i18n.h (grub_gettext_dummy): Removed.
  1419. * kern/misc.c (grub_gettext_dummy): Make static.
  1420. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1421. * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
  1422. by non-valid ones.
  1423. * kern/term.c (grub_putchar): Likewise.
  1424. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1425. * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
  1426. buggy hook call and memory leak.
  1427. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1428. * commands/ls.c (grub_ls_list_files): Free pathname on exit.
  1429. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1430. * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
  1431. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1432. * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
  1433. modevar.
  1434. Return grub_errno on allocation error.
  1435. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1436. * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
  1437. 2010-02-06 Yves Blusseau <blusseau@zetam.org>
  1438. * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
  1439. (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
  1440. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1441. * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
  1442. non-pxe disk.
  1443. (grub_pxefs_open): Likewise.
  1444. 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
  1445. * util/grub.d/10_hurd.in: Add --class information to menuentries.
  1446. * util/grub.d/10_kfreebsd.in: Likewise.
  1447. * util/grub.d/10_linux.in: Likewise.
  1448. 2010-02-06 Colin D Bennett <colin@gibibit.com>
  1449. * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
  1450. (gfxmenu_mod_SOURCES): New variable.
  1451. (gfxmenu_mod_CFLAGS): Likewise.
  1452. (gfxmenu_mod_LDFLAGS): Likewise.
  1453. * include/grub/term.h (grub_term_set_current_output): Declare
  1454. argument as const.
  1455. * docs/gfxmenu-theme-example.txt: New file.
  1456. * gfxmenu/gfxmenu.c: Likewise.
  1457. * gfxmenu/gui_box.c: Likewise.
  1458. * gfxmenu/gui_canvas.c: Likewise.
  1459. * gfxmenu/gui_circular_progress.c: Likewise.
  1460. * gfxmenu/gui_image.c: Likewise.
  1461. * gfxmenu/gui_label.c: Likewise.
  1462. * gfxmenu/gui_list.c: Likewise.
  1463. * gfxmenu/gui_progress_bar.c: Likewise.
  1464. * gfxmenu/gui_string_util.c: Likewise.
  1465. * gfxmenu/gui_util.c: Likewise.
  1466. * gfxmenu/icon_manager.c: Likewise.
  1467. * gfxmenu/model.c: Likewise.
  1468. * gfxmenu/named_colors.c: Likewise.
  1469. * gfxmenu/theme_loader.c: Likewise.
  1470. * gfxmenu/view.c: Likewise.
  1471. * gfxmenu/widget-box.c: Likewise.
  1472. * include/grub/gfxmenu_model.h: Likewise.
  1473. * include/grub/gfxmenu_view.h: Likewise.
  1474. * include/grub/gfxwidgets.h: Likewise.
  1475. * include/grub/gui.h: Likewise.
  1476. * include/grub/gui_string_util.h: Likewise.
  1477. * include/grub/icon_manager.h: Likewise.
  1478. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1479. Agglomerate scrolling in gfxterm.
  1480. * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
  1481. (grub_virtual_screen_setup): Initialise 'total_screen'.
  1482. (write_char): Split to ...
  1483. (paint_char): ... this ...
  1484. (write_char): ... and this.
  1485. (paint_char): Handle delayed scrolling.
  1486. (draw_cursor): Likewise.
  1487. (scroll_up): Split to ...
  1488. (real_scroll): ... this ...
  1489. (scroll_up): ... and this.
  1490. (real_scroll): Handle multi-line scroll and draw below-the-bottom
  1491. characters.
  1492. (grub_gfxterm_refresh): Call real_scroll.
  1493. 2010-02-06 Colin D Bennett <colin@gibibit.com>
  1494. * include/grub/misc.h (grub_iscntrl): New inline function.
  1495. (grub_isalnum): Likewise.
  1496. (grub_strtol): Likewise.
  1497. 2010-02-06 Colin D Bennett <colin@gibibit.com>
  1498. * normal/menu_text.c (get_entry_number): Move from here ...
  1499. * normal/menu.c (get_entry_number): ... moved here.
  1500. * include/grub/menu.h (grub_menu_get_default_entry_index):
  1501. New prototype.
  1502. * normal/menu.c (grub_menu_get_default_entry_index): New function.
  1503. * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
  1504. * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
  1505. (grub_menu_viewer_should_return): Likewise.
  1506. * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
  1507. * normal/menu_text.c (run_menu): Enable menu switching.
  1508. * normal/menu_viewer.c (should_return): New variable.
  1509. (menu_viewer_changed): Likewise.
  1510. (grub_menu_viewer_show_menu): Handle menu viewer changes.
  1511. (grub_menu_viewer_should_return): New function.
  1512. (menuviewer_write_hook): Likewise.
  1513. (grub_menu_viewer_init): Likewise.
  1514. 2010-02-06 Colin D Bennet <colin@gibibit.com>
  1515. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1516. Support for gfxterm in a window.
  1517. * include/grub/gfxterm.h: New file.
  1518. * include/grub/video.h (struct grub_video_rect): New declaration.
  1519. (grub_video_rect_t): Likewise.
  1520. * term/gfxterm.c (struct grub_gfxterm_window): New type.
  1521. (refcount): New variable.
  1522. (render_target): Likewise.
  1523. (window): Likewise.
  1524. (repaint_callback): Likewise.
  1525. (grub_virtual_screen_setup): Use 'render_target'.
  1526. (init_window): New function.
  1527. (grub_gfxterm_init_window): Likewise.
  1528. (grub_gfxterm_init): Check reference counter.
  1529. Use init_window.
  1530. (destroy_window): New function.
  1531. (grub_gfxterm_destroy_window): Likewise.
  1532. (grub_gfxterm_fini): Check reference counter.
  1533. Use destroy_window.
  1534. (redraw_screen_rect): Restore viewport.
  1535. Use 'render_target' and 'window'.
  1536. Call 'repaint_callback'.
  1537. (write_char): Use 'render_target'.
  1538. (draw_cursor): Likewise.
  1539. (scroll_up): Restore viewport.
  1540. Use 'render_target' and 'window'.
  1541. Call 'repaint_callback'.
  1542. (grub_gfxterm_cls): Likewise.
  1543. (grub_gfxterm_refresh): Use 'window'.
  1544. (grub_gfxterm_set_repaint_callback): New function.
  1545. (grub_gfxterm_background_image_cmd): Use 'window'.
  1546. (grub_gfxterm_get_term): New function.
  1547. (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
  1548. 2010-02-06 Colin D Bennett <colin@gibibit.com>
  1549. Bitmap scaling support.
  1550. * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
  1551. (bitmap_scale_mod_SOURCES): New variable.
  1552. (bitmap_scale_mod_CFLAGS): Likewise.
  1553. (bitmap_scale_mod_LDFLAGS): Likewise.
  1554. * include/grub/bitmap_scale.h: New file.
  1555. * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
  1556. (background_image_cmd_options): New variable.
  1557. (grub_gfxterm_background_image_cmd): Support bitmap stretching.
  1558. (cmd): Rename and change type to ...
  1559. (background_image_cmd_handle): ... this. All users updated.
  1560. (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
  1561. * video/bitmap_scale.c: New file.
  1562. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1563. SDL support.
  1564. * Makefile.in (LIBSDL): New variable.
  1565. (enable_grub_emu_sdl): Likewise.
  1566. * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
  1567. (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
  1568. (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
  1569. * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
  1570. * util/sdl.c: New file.
  1571. 2010-02-06 Colin D Bennett <colin@gibibit.com>
  1572. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1573. Double buffering support.
  1574. * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
  1575. * include/grub/video.h: Update comment.
  1576. * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
  1577. New type.
  1578. (grub_video_fb_doublebuf_blit_init): New prototype.
  1579. * term/gfxterm.c (scroll_up): Support double buffering.
  1580. (grub_gfxterm_refresh): Likewise.
  1581. * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
  1582. (grub_video_fb_doublebuf_blit_init): Likewise.
  1583. * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
  1584. 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
  1585. 'displayed_page', 'render_page' and 'update_screen'.
  1586. (grub_video_vbe_fini): Free offscreen buffer.
  1587. (doublebuf_pageflipping_commit): New function.
  1588. (doublebuf_pageflipping_update_screen): Likewise.
  1589. (doublebuf_pageflipping_init): Likewise.
  1590. (double_buffering_init): Likewise.
  1591. (grub_video_vbe_setup): Enable doublebuffering.
  1592. (grub_video_vbe_swap_buffers): Implement.
  1593. (grub_video_vbe_set_active_render_target): Handle double buffering.
  1594. (grub_video_vbe_get_active_render_target): Likewise.
  1595. (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
  1596. (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
  1597. (grub_video_vbe_enable_double_buffering): Likewise.
  1598. (grub_video_vbe_swap_buffers): Use update_screen.
  1599. (grub_video_set_mode): Use double buffering.
  1600. 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
  1601. * maintainance/gentrigtables.py: Remove.
  1602. * lib/trig.c: Likewise.
  1603. * gentrigtables.c: New file. C rewrite of gentrigtables.py.
  1604. * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
  1605. `trigtables.c'.
  1606. (trigtables.c): New rule.
  1607. (gentrigtables): Likewise.
  1608. (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
  1609. 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
  1610. * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
  1611. integer constants.
  1612. 2010-02-06 Colin D Bennet <colin@gibibit.com>
  1613. Trigonometry support.
  1614. * include/grub/trig.h: New file.
  1615. * lib/trig.c: Likewise.
  1616. * maintainance/gentrigtables.py: Likewise.
  1617. * conf/common.rmk (pkglib_MODULES): Add trig.mod.
  1618. (trig_mod_SOURCES): New variable.
  1619. (trig_mod_CFLAGS): Likewise.
  1620. (trig_mod_LDFLAGS): Likewise.
  1621. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1622. * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
  1623. disk devices.
  1624. 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
  1625. * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
  1626. error.
  1627. 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
  1628. * util/hostdisk.c (open_device): Don't use partition device when reading
  1629. before the partition.
  1630. (grub_util_biosdisk_read): Don't read from partition and before the
  1631. partition in single operation.
  1632. (grub_util_biosdisk_write): Don't write to partition and before the
  1633. partition in single operation.
  1634. 2010-02-03 Torsten Landschoff <torsten@debian.org>
  1635. * kern/disk.c (grub_disk_read): Fix offset computation when reading
  1636. last sectors.
  1637. 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
  1638. * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
  1639. CDROM reads.
  1640. (grub_biosdisk_write): Refuse to write to CDROM.
  1641. 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
  1642. * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
  1643. 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
  1644. * font/font.c (find_glyph): Check that bmp_idx is available before
  1645. using it.
  1646. (grub_font_get_string_width): Never call grub_font_get_glyph_internal
  1647. with (font == NULL).
  1648. 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
  1649. * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
  1650. 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
  1651. * include/grub/script_sh.h (sourcecode): Add const qualifier.
  1652. * util/grub-script-check.c (getline): Fix empty lines case.
  1653. 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
  1654. * Makefile.in (check): Exit with fail status when one of the tests
  1655. fails.
  1656. * tests/example_functional_test.c (example_test): Fix reversed assert.
  1657. * tests/example_unit_test.c (example_test): Likewise.
  1658. 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
  1659. * util/grub.d/10_linux.in: This script does not use any of the
  1660. contents of gettext.sh, only the external command `gettext', so stop
  1661. sourcing it. (Moreover, gettext.sh isn't necessarily installed in
  1662. the same prefix as GRUB.)
  1663. * util/grub.d/10_kfreebsd.in: Likewise.
  1664. 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
  1665. * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
  1666. of the line.
  1667. 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
  1668. * kern/disk.c (grub_disk_read): Fix offset computation when reading
  1669. last sectors.
  1670. 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
  1671. * commands/hashsum.c (hash_file): Avoid possible stack overflow by
  1672. having a 4KiB and not 32KiB buffer size.
  1673. 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
  1674. * util/hostfs.c: Include `<errno.h>'.
  1675. (grub_hostfs_read): Handle errors from fseeko() and fread().
  1676. 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
  1677. * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
  1678. loop when using read hooks on files whose size isn't sector-aligned.
  1679. 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
  1680. Remove unused parameter.
  1681. * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
  1682. (grub_iso9660_open): Remove initialization of `data->length'.
  1683. 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
  1684. * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
  1685. memleak conditions.
  1686. 2010-01-27 Carles Pina i Estany <carles@pina.cat>
  1687. * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
  1688. (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
  1689. 2010-01-26 Carles Pina i Estany <carles@pina.cat>
  1690. * util/bin2h.c (usage): Fix warning (space after backslash).
  1691. 2010-01-26 Carles Pina i Estany <carles@pina.cat>
  1692. * font/font.c: Include `grub/fontformat.h.
  1693. Remove font file format constants.
  1694. (grub_font_load): Use the new macros.
  1695. * include/grub/fontformat.h: New file.
  1696. * util/grub-mkfont.c: Include `grub/fontformat.c'.
  1697. (write_font_pf2): Use the new macros.
  1698. 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
  1699. * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
  1700. does.
  1701. 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
  1702. * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
  1703. * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
  1704. (_start): Macroify `0x7F'.
  1705. * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
  1706. (make_install_device): Use "(pxe)" as fallback prefix when booting
  1707. via PXE.
  1708. 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
  1709. * configure.ac: Reset LIBS after check for libgcc symbols.
  1710. 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
  1711. * util/hostdisk.c (open_device): Add trailing newline to debug
  1712. message.
  1713. 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
  1714. * configure.ac: Check for `limits.h'.
  1715. * util/misc.c: Include `<limits.h>' (for PATH_MAX).
  1716. 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
  1717. * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
  1718. capitalize error strings.
  1719. 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
  1720. * util/grub.d/10_hurd.in: Add a recovery mode.
  1721. 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
  1722. * configure.ac: Check for libgcc symbols with -nostdlib.
  1723. 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
  1724. * acinclude.m4: Quote underquoted AC_DEFUN parameters.
  1725. 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
  1726. * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
  1727. stack since heap may be unavailable at that point.
  1728. (grub_ofconsole_gotoxy): Likewise.
  1729. 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
  1730. * configure.ac: Check for _restgpr_14_x.
  1731. * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
  1732. and _savegpr_* prototypes.
  1733. 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
  1734. Use generic grub_reboot() for i386-efi.
  1735. * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
  1736. * kern/i386/efi/startup.S: Include `"../realmode.S"'.
  1737. * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
  1738. 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
  1739. * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
  1740. presence of "prefix" variable as it breaks when normal.mod is
  1741. embedded.
  1742. 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
  1743. * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
  1744. stack since heap is unavailable at that point.
  1745. 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
  1746. * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
  1747. (grub_freebsd_bootinfo): Rewritten.
  1748. * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
  1749. 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
  1750. * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
  1751. 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
  1752. * po/POTFILES: Remove mkisofs-related files. They have their own TLP
  1753. domain now.
  1754. 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
  1755. * util/misc.c (make_system_path_relative_to_its_root): Change the work
  1756. around for handling "/" to the correct fix. Fix a memory leak. Use
  1757. xstrdup instead of strdup.
  1758. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1759. * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
  1760. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1761. Optimise glyph lookup by Basic Multilingual Plane lookup array.
  1762. * font/font.c (struct grub_font): New member 'bmp_idx'.
  1763. (font_init): Initialise 'bmp_idx'.
  1764. (load_font_index): Fill 'bmp_idx'.
  1765. (find_glyph): Make inline. Use bmp_idx for BMP characters.
  1766. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1767. * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
  1768. unnecessary calls.
  1769. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1770. Move context handling out of the kernel.
  1771. * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
  1772. * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
  1773. * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
  1774. * conf/i386-efi.rmk: Likewise.
  1775. * conf/i386-ieee1275.rmk: Likewise.
  1776. * conf/i386-pc.rmk: Likewise.
  1777. * conf/powerpc-ieee1275.rmk: Likewise.
  1778. * conf/sparc64-ieee1275.rmk: Likewise.
  1779. * conf/x86_64-efi.rmk: Likewise.
  1780. * include/grub/env.h: Include grub/menu.h.
  1781. (grub_env_var_type): Removed.
  1782. (grub_env_var): Replaced field 'type' with 'global'.
  1783. (grub_env_find): New prototype.
  1784. (grub_env_context_open): Remove EXPORT_FUNC.
  1785. (grub_env_context_close): Likewise.
  1786. (grub_env_export): Likewise.
  1787. (grub_env_set_data_slot): Removed.
  1788. (grub_env_get_data_slot): Likewise.
  1789. (grub_env_unset_data_slot): Likewise.
  1790. (grub_env_unset_menu): New prototype.
  1791. (grub_env_set_menu): Likewise.
  1792. (grub_env_get_menu): Likewise.
  1793. * include/grub/env_private.h: New file.
  1794. * include/grub/normal.h (grub_context_init): New prototype.
  1795. (grub_context_fini): Likewise.
  1796. * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
  1797. * normal/context.c (grub_cmd_export): ... to here.
  1798. * kern/env.c: Include env_private.h.
  1799. (HASHSZ): Moved to include/grub/env_private.h.
  1800. (grub_env_context): Likewise.
  1801. (grub_env_sorted_var): Likewise.
  1802. (current_context): Renamed from this ...
  1803. (grub_current_context): ...to this. 'static' removed. All users updated.
  1804. (grub_env_find): Removed 'static'.
  1805. (grub_env_context_open): Moved to normal/context.c.
  1806. (grub_env_context_close): Likewise.
  1807. (grub_env_export): Likewise.
  1808. (mangle_data_slot_name): Removed.
  1809. (grub_env_set_data_slot): Likewise.
  1810. (grub_env_get_data_slot): Likewise.
  1811. (grub_env_unset_data_slot): Likewise.
  1812. * kern/main.c (grub_set_root_dev): Don't export root.
  1813. It will be done later.
  1814. (grub_main): Don't export prefix.
  1815. It will be done later.
  1816. * normal/context.c: New file.
  1817. * normal/main.c (free_menu): Use grub_env_unset_menu.
  1818. (grub_normal_add_menu_entry): Use grub_env_get_menu.
  1819. (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
  1820. (GRUB_MOD_INIT(normal)): Call grub_context_init.
  1821. (GRUB_MOD_FINI(normal)): Call grub_context_fini.
  1822. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1823. setpci support.
  1824. * commands/setpci.c: New file.
  1825. * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
  1826. (setpci_mod_SOURCES): New variable.
  1827. (setpci_mod_CFLAGS): Likewise.
  1828. (setpci_mod_LDFLAGS): Likewise.
  1829. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1830. Byte-addressable PCI configuration space.
  1831. * bus/pci.c (grub_pci_make_address): Use byte address instead of
  1832. dword address.
  1833. (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
  1834. GRUB_PCI_REG_CACHELINE.
  1835. * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
  1836. GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
  1837. * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
  1838. GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
  1839. * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
  1840. * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
  1841. grub_pci_make_address.
  1842. (lock_rom_area): Likewise.
  1843. * commands/lspci.c (grub_lspci_iter): Use macroses
  1844. GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
  1845. of grub_pci_make_address.
  1846. * disk/ata.c (grub_ata_pciinit): Likewise.
  1847. * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
  1848. (GRUB_PCI_REG_VENDOR): Likewise.
  1849. (GRUB_PCI_REG_DEVICE): Likewise.
  1850. (GRUB_PCI_REG_COMMAND): Likewise.
  1851. (GRUB_PCI_REG_STATUS): Likewise.
  1852. (GRUB_PCI_REG_REVISION): Likewise.
  1853. (GRUB_PCI_REG_CLASS): Likewise.
  1854. (GRUB_PCI_REG_CACHELINE): Likewise.
  1855. (GRUB_PCI_REG_LAT_TIMER): Likewise.
  1856. (GRUB_PCI_REG_HEADER_TYPE): Likewise.
  1857. (GRUB_PCI_REG_BIST): Likewise.
  1858. (GRUB_PCI_REG_ADDRESSES): Likewise.
  1859. (GRUB_PCI_REG_ADDRESS_REG): Likewise.
  1860. (GRUB_PCI_REG_ADDRESS_REG): Likewise.
  1861. (GRUB_PCI_REG_ADDRESS_REG): Likewise.
  1862. (GRUB_PCI_REG_ADDRESS_REG): Likewise.
  1863. (GRUB_PCI_REG_ADDRESS_REG): Likewise.
  1864. (GRUB_PCI_REG_ADDRESS_REG): Likewise.
  1865. (GRUB_PCI_REG_CIS_POINTER): Likewise.
  1866. (GRUB_PCI_REG_SUBVENDOR): Likewise.
  1867. (GRUB_PCI_REG_SUBSYSTEM): Likewise.
  1868. (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
  1869. (GRUB_PCI_REG_CAP_POINTER): Likewise.
  1870. (GRUB_PCI_REG_IRQ_LINE): Likewise.
  1871. (GRUB_PCI_REG_IRQ_PIN): Likewise.
  1872. (GRUB_PCI_REG_MIN_GNT): Likewise.
  1873. (GRUB_PCI_REG_MAX_LAT): Likewise.
  1874. * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
  1875. * loader/i386/efi/xnu.c (find_framebuf): Likewise.
  1876. * video/efi_uga.c (find_framebuf): Likewise.
  1877. * video/sm712.c (grub_video_sm712_setup): Likewise.
  1878. * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
  1879. space.
  1880. 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
  1881. * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
  1882. can be reliably determined to be supported.
  1883. 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
  1884. * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
  1885. that VESA is supported.
  1886. (grub_linux_boot): Use generic framebuffer unless VESA is known to be
  1887. supported.
  1888. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1889. * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
  1890. 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
  1891. * util/misc.c (make_system_path_relative_to_its_root): Work around
  1892. special-casing of "/", as previous incarnation of this routine did.
  1893. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1894. Fix any-emu compilation.
  1895. * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
  1896. * grub_bin2h_SOURCES: New variable.
  1897. 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
  1898. * util/grub.d/00_header.in: Fix stupid mistake from last commit.
  1899. 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
  1900. * util/grub.d/00_header.in: Fix handling of locale_dir.
  1901. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1902. * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
  1903. as possible unifont location (Gentoo).
  1904. Reported by: Alexander Brüning
  1905. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1906. Don't try to generate lists for kernel.img.
  1907. * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
  1908. (pkglib_MODULES): Remove kernel.img.
  1909. (kernel_img_EXPORTS): Removed.
  1910. (kernel_img_RELOCATABLE): New variable.
  1911. * conf/x86_64-efi.rmk: Likewise.
  1912. * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
  1913. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1914. * include/grub/misc.h (grub_sprintf): Removed. All users switched to
  1915. grub_xasprintf or grub_snprintf.
  1916. (grub_vsprintf): Likewise.
  1917. (grub_snprintf): New proto.
  1918. (grub_vsnprintf): Likewise.
  1919. (grub_xasprintf): Likewise.
  1920. (grub_xvasprintf): Likewise.
  1921. * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
  1922. (grub_sprintf): Removed.
  1923. (grub_vsnprintf): New function.
  1924. (grub_snprintf): Likewise.
  1925. (grub_xvasprintf): Likewise.
  1926. (grub_xasprintf): Likewise.
  1927. (grub_vsprintf): Renamed to ...
  1928. (grub_vsnprintf_real): ...this. New argument max_len.
  1929. 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
  1930. * include/grub/script_sh.h (sourcecode): Remove const qualifier to
  1931. fix grub-script-check warning.
  1932. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1933. * include/grub/font.h (grub_font_load): Fix prototype.
  1934. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1935. * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
  1936. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1937. * include/grub/x86_64/at_keyboard.h: New file.
  1938. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  1939. * loader/mips/linux.c: Include missing grub/i18n.h.
  1940. 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
  1941. * normal/menu.c (notify_execution_failure): Clarify error message.
  1942. 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
  1943. * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
  1944. return value (and revert all return statements). Update users.
  1945. 2010-01-20 Dan Merillat <debian@dan.merillat.org>
  1946. * kern/device.c (grub_device_iterate): Allocate new part_ent
  1947. structure based on sizeof (*p) rather than sizeof (p->next), to
  1948. account for structure padding.
  1949. * util/grub-probe.c (probe_raid_level): Return -1 immediately if
  1950. disk is NULL, which might happen for LVM physical volumes with no
  1951. LVM signature.
  1952. 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
  1953. * loader/mips/linux.c (grub_cmd_initrd)
  1954. (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
  1955. 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
  1956. * kern/mips/yeeloong/init.c (grub_video_sm712_init)
  1957. (grub_video_video_init, grub_video_bitmap_init)
  1958. (grub_font_manager_init, grub_term_gfxterm_init)
  1959. (grub_at_keyboard_init): New extern declarations.
  1960. (grub_machine_init): Initialize gfxterm and at_keyboard.
  1961. * kern/main.c (grub_main): Revert grub_printf delay kludge.
  1962. * util/grub-install.in: Revert embed of `at_keyboard.mod' and
  1963. `gfxterm.mod' into core image.
  1964. * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
  1965. (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
  1966. (kernel_img_FORMAT): Copy to ...
  1967. * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
  1968. (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
  1969. (kernel_img_FORMAT): ... here, and ...
  1970. * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
  1971. (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
  1972. (kernel_img_FORMAT): ... here.
  1973. (kernel_img_SOURCES): Add files necessary for output (gfxterm)
  1974. and input (at_keyboard) terminals in kernel.
  1975. (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
  1976. (pkglib_MODULES): Remove `pci.mod'.
  1977. (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
  1978. (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
  1979. (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
  1980. (at_keyboard_mod_LDFLAGS): Remove variables.
  1981. 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
  1982. * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
  1983. 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
  1984. * include/grub/mips/libgcc.h: Only export symbols for functions
  1985. that libgcc provides.
  1986. 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
  1987. MIPS support.
  1988. * bus/bonito.c: New file.
  1989. * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
  1990. GRUB_PCI_NUM_DEVICES.
  1991. * term/i386/pc/serial.c: Move to ...
  1992. * term/serial.c: ... here. All users updated.
  1993. * util/i386/pc/grub-mkimage.c: Move to ...
  1994. * util/grub-mkrawimage.c: ... here. All users updated.
  1995. * term/i386/pc/at_keyboard.c: Move to ...
  1996. * term/at_keyboard.c: ... here. All users updated.
  1997. * conf/mips-qemu-mips.rmk: New file.
  1998. * conf/mips-yeeloong.rmk: Likewise.
  1999. * conf/mips.rmk: Likewise.
  2000. * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
  2001. mipsel-qemu-mips.
  2002. * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
  2003. to port addresses.
  2004. (grub_ata_pciinit): Support CS5536.
  2005. * font/font.c (grub_font_load): Use grub_file_t instead of filename.
  2006. * font/font_cmd.c (loadfont_command): Open file before passing it to
  2007. grub_font_load.
  2008. (pseudo_file_read): New function.
  2009. (pseudo_file_close): Likewise.
  2010. (pseudo_fs): New structure.
  2011. (load_font_module): New function.
  2012. (GRUB_MOD_INIT(font_manager)): Load embedded font.
  2013. * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
  2014. * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
  2015. * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
  2016. * include/grub/i386/at_keyboard.h: Split into ...
  2017. * include/grub/at_keyboard.h: ... this ...
  2018. * include/grub/i386/at_keyboard.h: ... and this.
  2019. * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
  2020. New prototype.
  2021. * include/grub/elfload.h (grub_elf32_size): New parameter. All users
  2022. updated.
  2023. (grub_elf64_size): Likewise.
  2024. * include/grub/font.h (grub_font_load): Use grub_file_t instead of
  2025. filename.
  2026. * include/grub/i386/io.h (grub_port_t): New type. All users updated.
  2027. * include/grub/i386/coreboot/serial.h: Rewritten.
  2028. * include/grub/i386/ieee1275/serial.h: Include
  2029. grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
  2030. * include/grub/i386/pc/serial.h: Moved from here ...
  2031. * include/grub/serial.h: ... to here. All users updated.
  2032. * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
  2033. (GRUB_PCI_NUM_BUS): Likewise.
  2034. (GRUB_PCI_NUM_DEVICES): Likewise.
  2035. (grub_pci_device_map_range): Add missing volatile keyword.
  2036. * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
  2037. * include/grub/mips/at_keyboard.h: New file.
  2038. * include/grub/mips/cache.h: Likewise.
  2039. * include/grub/mips/io.h: Likewise.
  2040. * include/grub/mips/kernel.h: Likewise.
  2041. * include/grub/mips/libgcc.h: Likewise.
  2042. * include/grub/mips/pci.h: Likewise.
  2043. * include/grub/mips/qemu-mips/boot.h: Likewise.
  2044. * include/grub/mips/qemu-mips/kernel.h: Likewise.
  2045. * include/grub/mips/qemu-mips/loader.h: Likewise.
  2046. * include/grub/mips/qemu-mips/memory.h: Likewise.
  2047. * include/grub/mips/qemu-mips/serial.h: Likewise.
  2048. * include/grub/mips/qemu-mips/time.h: Likewise.
  2049. * include/grub/mips/relocator.h: Likewise.
  2050. * include/grub/mips/time.h: Likewise.
  2051. * include/grub/mips/types.h: Likewise.
  2052. * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
  2053. * include/grub/mips/yeeloong/boot.h: Likewise.
  2054. * include/grub/mips/yeeloong/kernel.h: Likewise.
  2055. * include/grub/mips/yeeloong/loader.h: Likewise.
  2056. * include/grub/mips/yeeloong/memory.h: Likewise.
  2057. * include/grub/mips/yeeloong/pci.h: Likewise.
  2058. * include/grub/mips/yeeloong/serial.h: Likewise.
  2059. * include/grub/mips/yeeloong/time.h: Likewise.
  2060. * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
  2061. * kern/elf.c (grub_elf32_size): New parameter. All users
  2062. updated.
  2063. (grub_elf64_size): Likewise.
  2064. * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
  2065. Load modules before saying "Welcome to GRUB!".
  2066. Call grub_refresh after saying "Welcome to GRUB!".
  2067. * kern/mips/cache.S: New file.
  2068. * kern/mips/cache_flush.S: Likewise.
  2069. * kern/mips/dl.c: Likewise.
  2070. * kern/mips/init.c: Likewise.
  2071. * kern/mips/qemu-mips/init.c: Likewise.
  2072. * kern/mips/startup.S: Likewise.
  2073. * kern/mips/yeeloong/init.c: Likewise.
  2074. * kern/term.c (grub_putcode): Handle NULL terminal.
  2075. (grub_getcharwidth): Likewise.
  2076. (grub_getkey): Likewise.
  2077. (grub_checkkey): Likewise.
  2078. (grub_getkeystatus): Likewise.
  2079. (grub_getxy): Likewise.
  2080. (grub_getwh): Likewise.
  2081. (grub_gotoxy): Likewise.
  2082. (grub_cls): Likewise.
  2083. (grub_setcolorstate): Likewise.
  2084. (grub_setcolor): Likewise.
  2085. (grub_getcolor): Likewise.
  2086. (grub_refresh): Likewise.
  2087. * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
  2088. (write_jump): Add hatch nop.
  2089. * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
  2090. * lib/mips/setjmp.S: New file.
  2091. * loader/mips/linux.c: Likewise.
  2092. * term/i386/pc/at_keyboard.c: Move from here ...
  2093. * term/at_keyboard.c: ... to here.
  2094. * term/i386/pc/serial.c: Moved from here ...
  2095. * term/serial.c: ... to here. All users updated.
  2096. (TEXT_HEIGHT): Set to 24 to fit linux terminal.
  2097. (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
  2098. (serial_translate_key_sequence): Avoid deadlock.
  2099. (grub_serial_getkey): Handle backspace.
  2100. (grub_serial_putchar): Fix newline handling.
  2101. * util/i386/pc/grub-mkimage.c: Move from here ...
  2102. * util/grub-mkrawimage.c: ... to here. All users updated.
  2103. (generate_image): New parameters 'font_path' and 'format'.
  2104. Support embedding font.
  2105. Use grub_host_to_target* instead of grub_cpu_to_le*.
  2106. (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
  2107. (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
  2108. (options): New option "--font".
  2109. (usage): Likewise.
  2110. (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
  2111. (main): Handle "--font".
  2112. * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
  2113. (grub_virtual_screen_setup): Set bg_color_display.
  2114. (redraw_screen_rect): Use bg_color_display instead of incorrect
  2115. bg_color.
  2116. (grub_gfxterm_cls): Likewise.
  2117. * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
  2118. Support embedding config file.
  2119. (add_segments): Likewise.
  2120. (options): New option "--config".
  2121. (main): Handle "--config".
  2122. * video/sm712.c: New file.
  2123. 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
  2124. Fix parallel builds.
  2125. * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
  2126. font.c depend on ascii.h).
  2127. 2010-01-12 Carles Pina i Estany <carles@pina.cat>
  2128. * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
  2129. 2010-01-11 Carles Pina i Estany <carles@pina.cat>
  2130. * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
  2131. By default: disabled.
  2132. * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
  2133. parameter.
  2134. 2010-01-10 Carles Pina i Estany <carles@pina.cat>
  2135. * font/font.c: Update copyright years.
  2136. * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
  2137. 2010-01-10 Carles Pina i Estany <carles@pina.cat>
  2138. * font/font.c: Include `ascii.h'.
  2139. (ASCII_BITMAP_SIZE): New macro.
  2140. (ascii_font_glyph): Define.
  2141. (ascii_glyph_lookup): New function.
  2142. (grub_font_get_string_width): Change comment. If glyph not found, use
  2143. ascii_glyph_lookup.
  2144. (grub_font_get_glyph_with_fallback): If glyph not available returns
  2145. ascii_glyph_lookup.
  2146. * util/grub-mkfont.c (file_formats): New enum.
  2147. (options): Add `ascii-bitmaps' new option.
  2148. (usage): Add `asii-bitmaps' new option.
  2149. (write_font_ascii_bitmap): New function.
  2150. (write_font): Rename to ...
  2151. (write_font_p2): ... this. Remove print_glyphs call.
  2152. (main): Use file_format. Implement code for ranges if ascii-bitmaps is
  2153. used. Call print_glyphs.
  2154. * Makefile.in (pkgdata_DATA): Add `ascii.h'.
  2155. 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
  2156. * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
  2157. (grub_bin2h_SOURCES): New variable.
  2158. * util/bin2h.c: New file.
  2159. 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
  2160. * include/multiboot.h: Resynced with spec.
  2161. * include/multiboot2.h: Likewise.
  2162. * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
  2163. GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
  2164. 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
  2165. * include/grub/term.h (grub_term_register_input,
  2166. grub_term_register_output): Check return of terminal init()
  2167. routines, and abort if errors are raised.
  2168. * commands/terminal.c: Update copyright year.
  2169. 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
  2170. * commands/terminal.c (grub_cmd_terminal_input)
  2171. (grub_cmd_terminal_output): Check return of terminal init()
  2172. routines, and abort if errors are raised.
  2173. 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
  2174. * include/grub/i386/bsd.h: Fix include pathes.
  2175. 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
  2176. Add missing *BSD copyright headers.
  2177. * include/grub/aout.h: Add BSD licence.
  2178. * include/grub/i386/bsd.h: Parts under different licences moved to ...
  2179. * include/grub/i386/freebsd_linker.h: ... here,
  2180. * include/grub/i386/freebsd_reboot.h: ... here,
  2181. * include/grub/i386/netbsd_bootinfo.h: ... here,
  2182. * include/grub/i386/netbsd_reboot.h: ... here,
  2183. * include/grub/i386/openbsd_bootarg.h: ... here,
  2184. * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
  2185. licence to each file.
  2186. 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
  2187. * acinclude.m4: Remove `nop' assembly instruction; it's not
  2188. implemented by all architectures.
  2189. 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
  2190. * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
  2191. ELILO. This is no longer necessary.
  2192. 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
  2193. Added new tool, grub-scrit-check to verify grub.cfg syntax.
  2194. * util/grub-script-check.c: grub-script-check tool.
  2195. * conf/common.rmk: Make rules for grub-script-check.
  2196. 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
  2197. Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
  2198. spotting it back in 2008. Shame on me for forgetting he did.
  2199. * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
  2200. 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
  2201. * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
  2202. (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
  2203. (GRUB_VIDEO_TYPE_VLFB): Rename to ...
  2204. (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
  2205. (GRUB_VIDEO_TYPE_EFI): Rename to ...
  2206. (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
  2207. 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
  2208. * include/grub/test.h: Add license header.
  2209. * tests/example_functional_test.c: Likewise.
  2210. * tests/example_unit_test.c: Likewise.
  2211. * tests/lib/functional_test.c: Likewise.
  2212. * tests/lib/test.c: Likewise.
  2213. * tests/lib/unit_test.c: Likewise.
  2214. 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
  2215. Use flag-based instead of hook-based video mode selection and "auto"
  2216. keyword.
  2217. * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
  2218. (grub_video_set_mode): Changed prototype. All users updated.
  2219. (grub_video_check_mode_flag): New inline function.
  2220. * video/video.c (parse_modespec): New function.
  2221. (grub_video_set_mode): Parse flags and keywords.
  2222. 2010-01-17 Carles Pina i Estany <carles@pina.cat>
  2223. * util/misc.c (grub_util_info): Fix the order of the parameters in a
  2224. fprintf call.
  2225. 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
  2226. * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
  2227. 2010-01-16 Carles Pina i Estany <carles@pina.cat>
  2228. * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
  2229. string.
  2230. * util/grub-emu.c (usage): Likewise.
  2231. * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
  2232. * util/i386/efi/grub-mkimage.c (usage): Likewise.
  2233. * util/i386/pc/grub-mkimage.c (usage): Likewise.
  2234. * util/i386/pc/grub-setup.c (usage): Likewise.
  2235. 2010-01-16 Carles Pina i Estany <carles@pina.cat>
  2236. * util/misc.c (grub_util_warn): Gettextizze, print full stop after
  2237. the message.
  2238. (grub_util_info): Likewise.
  2239. (grub_util_error): Likewise.
  2240. * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
  2241. and/or new lines in `grub_util_warna', `grub_util_info',
  2242. `grub_util_error' calls.
  2243. * util/getroot.c: Likewise.
  2244. * util/grub-editenv.c: Likewise.
  2245. * util/grub-emu.c: Likewise.
  2246. * util/grub-fstest.c: Likewise.
  2247. * util/grub-mkdevicemap.c: Likewise.
  2248. * util/grub-mkfont.c: Likewise.
  2249. * util/grub-mkpasswd-pbkdf2.c: Likewise.
  2250. * util/grub-mkrelpath.c: Likewise.
  2251. * util/grub-pe2elf.c: Likewise.
  2252. * util/grub-probe.c: Likewise.
  2253. * util/hostdisk.c: Likewise.
  2254. * util/i386/efi/grub-mkimage.c: Likewise.
  2255. * util/i386/pc/grub-mkimage.c: Likewise.
  2256. * util/i386/pc/grub-setup.c: Likewise.
  2257. * util/ieee1275/ofpath.c: Likewise.
  2258. * util/mkisofs/eltorito.c: Likewise.
  2259. * util/mkisofs/rock.c: Likewise.
  2260. * util/mkisofs/write.c: Likewise.
  2261. * util/raid.c: Likewise.
  2262. * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
  2263. * util/sparc64/ieee1275/grub-setup.c: Likewise.
  2264. 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
  2265. Enable multiboot on non-pc.
  2266. * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
  2267. multiboot.mod and multiboot2.mod to ...
  2268. * conf/i386.rmk (pkglib_MODULES): ... here.
  2269. * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
  2270. Moved to ...
  2271. * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
  2272. * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
  2273. Moved to ...
  2274. * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
  2275. * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
  2276. Moved to ...
  2277. * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
  2278. * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
  2279. Moved to ...
  2280. * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
  2281. * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
  2282. relocator.mod.
  2283. (ata_mod_SOURCES): Removed.
  2284. (ata_mod_CFLAGS): Likewise.
  2285. (ata_mod_LDFLAGS): Likewise.
  2286. (relocator_mod_SOURCES): Removed.
  2287. (relocator_mod_CFLAGS): Likewise.
  2288. (relocator_mod_ASFLAGS): Likewise.
  2289. (relocator_mod_LDFLAGS): Likewise.
  2290. Include i386.mk.
  2291. * include/grub/x86_64/multiboot.h: New file.
  2292. * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
  2293. Terminate EFI.
  2294. 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
  2295. Video multiboot support.
  2296. * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
  2297. New prototype.
  2298. * include/multiboot.h: Resynced with multiboot specification.
  2299. * include/multiboot2.h: Likewise.
  2300. * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
  2301. (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
  2302. * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
  2303. (HAS_VGA_TEXT): Likewise.
  2304. (accepts_video): New variable.
  2305. (grub_multiboot_set_accepts_video): New function.
  2306. (grub_multiboot_get_mbi_size): Account for video structures.
  2307. (set_video_mode): New function.
  2308. (retrieve_video_parameters): Likewise.
  2309. (grub_multiboot_make_mbi): Fill video fields.
  2310. 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
  2311. Video driver ids.
  2312. * include/grub/video.h (grub_video_driver_id): New type.
  2313. (grub_video_adapter): New member 'id'. All users updated.
  2314. (grub_video_get_driver_id): New proto.
  2315. * video/video.c (grub_video_get_driver_id): New function.
  2316. 2010-01-14 Carles Pina i Estany <carles@pina.cat>
  2317. * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
  2318. `var=val'.
  2319. 2010-01-14 Carles Pina i Estany <carles@pina.cat>
  2320. * normal/cmdline.c (print_completion): Gettextizze.
  2321. 2001-01-14 Carles Pina i Estany <carles@pina.cat>
  2322. * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
  2323. 2010-01-14 Carles Pina i Estany <carles@pina.cat>
  2324. * gettext/gettext.c (grub_gettext_translate): Push and pop
  2325. grub_errno.
  2326. (grub_gettext_delete_list): Change comment style.
  2327. * kern/err.c (grub_error): Gettextizze.
  2328. (grub_fatal): Gettextizze.
  2329. 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
  2330. * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
  2331. (grub_linux16_real_boot): ... this.
  2332. * kern/i386/loader.S: Likewise.
  2333. * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
  2334. (grub_linux16_boot): New function. Switches to text mode and calls
  2335. grub_linux16_real_boot().
  2336. * loader/i386/bsd.c: Include `<grub/video.h>'.
  2337. (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
  2338. text mode before calling grub_unix_real_boot().
  2339. * loader/i386/multiboot.c: Include `<grub/video.h>'.
  2340. (grub_multiboot_boot): Switch to text mode before calling
  2341. grub_relocator32_boot().
  2342. * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
  2343. (grub_chainloader_boot): Switch to text mode before calling
  2344. grub_chainloader_real_boot().
  2345. 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
  2346. 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
  2347. * util/grub-reboot.in: Make sure prev_saved_entry always gets a
  2348. non-empty value.
  2349. 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
  2350. 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
  2351. * util/grub.d/00_header.in: Define a "savedefault" function for use
  2352. in menu entries.
  2353. * util/grub-mkconfig_lib.in (save_default_entry): Use it.
  2354. 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
  2355. 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
  2356. * util/grub-mkconfig_lib.in (save_default_entry): Only set
  2357. saved_entry if boot_once is unset.
  2358. * util/grub.d/00_header.in: Set boot_once to "true" if there was a
  2359. previous saved entry (i.e. grub-reboot).
  2360. 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
  2361. * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
  2362. 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
  2363. * util/grub.d/00_header.in: Use `set var=val' rather than plain
  2364. `var=val'.
  2365. * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
  2366. 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
  2367. * util/grub-reboot.in: Fix --version output.
  2368. * util/grub-set-default.in: Likewise.
  2369. 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
  2370. * util/grub.d/00_header.in: Silently ignore zero-sized environment
  2371. blocks.
  2372. 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
  2373. * util/grub.d/00_header.in: Quote the value assigned to `default',
  2374. in case it contains spaces.
  2375. 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
  2376. * util/grub.d/30_os-prober.in: Fix merge error that moved a
  2377. `save_default_entry' call from the macosx case to the linux case.
  2378. 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
  2379. 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
  2380. * normal/menu.c (grub_menu_execute_entry): Save selected entry title
  2381. in `chosen' environment variable.
  2382. * normal/menu_text.c (get_entry_number): Check if the variable
  2383. matches the title of a menu entry.
  2384. (run_menu): Pass menu to get_entry_number.
  2385. * util/grub-reboot.in: New file.
  2386. * util/grub-set-default.in: New file.
  2387. * conf/common.rmk (grub-reboot): New utility.
  2388. (grub-set-default): New utility.
  2389. * util/grub-mkconfig_lib.in (save_default_entry): New function.
  2390. * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
  2391. default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
  2392. move it to `saved_entry' for the next boot. Load environment on
  2393. initialisation.
  2394. * util/grub.d/10_kfreebsd.in: Call save_default_entry.
  2395. * util/grub.d/10_hurd.in: Likewise.
  2396. * util/grub.d/10_linux.in (linux_entry): Likewise.
  2397. * util/grub.d/10_windows.in: Likewise.
  2398. * util/grub.d/30_os-prober.in: Likewise.
  2399. * util/grub-install.in: Create environment block.
  2400. * util/i386/efi/grub-install.in: Likewise.
  2401. * util/ieee1275/grub-install.in: Likewise.
  2402. * util/sparc64/ieee1275/grub-install.in: Likewise.
  2403. 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
  2404. Unit testing framework for GRUB.
  2405. * Makefile.in: Test framework build rules for 'make check'.
  2406. * conf/tests.rmk: Build rules for individual tests and framework.
  2407. * include/grub/test.h: Header file for whitebox tests.
  2408. * tests/lib/functional_test.c: Framework support for whitebox
  2409. functional tests.
  2410. * tests/lib/test.c: Common whitebox testing code for unit and
  2411. functional tests.
  2412. * tests/lib/unit_test.c: Framework support for whitebox unit
  2413. tests.
  2414. * tests/util/grub-shell-tester.in: Support utility for grub-script
  2415. tests.
  2416. * tests/util/grub-shell.in: Utility to execute grub-script
  2417. commands in a Qemu instance.
  2418. * tests/example_functional_test.c: Example whitebox functional
  2419. test.
  2420. * tests/example_grub_script_test.in: Example grub-script test.
  2421. * tests/example_scripted_test.in: Example scripted test.
  2422. * tests/example_unit_test.c: Example whitebox unit test.
  2423. 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
  2424. * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
  2425. Add loader/i386/multiboot_mbi.c.
  2426. (multiboot2_mod_SOURCES): Likewise.
  2427. * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
  2428. (multiboot2_mod_SOURCES): Likewise.
  2429. * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
  2430. (grub_multiboot_make_mbi): Likewise.
  2431. (grub_multiboot_free_mbi): Likewise.
  2432. (grub_multiboot_init_mbi): Likewise.
  2433. (grub_multiboot_add_module): Likewise.
  2434. (grub_multiboot_set_bootdev): Likewise.
  2435. * loader/i386/multiboot.c (mbi): Removed.
  2436. (mbi_dest): Likewise.
  2437. (alloc_mbi): New variable.
  2438. (grub_multiboot_payload_size): Removed. All users updated.
  2439. (grub_multiboot_pure_size): New variable.
  2440. (grub_multiboot_boot): Use grub_multiboot_make_mbi.
  2441. (grub_multiboot_unload): Use grub_multiboot_free_mbi.
  2442. (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
  2443. (grub_fill_multiboot_mmap): Likewise.
  2444. (grub_multiboot_get_bootdev): Likewise.
  2445. (grub_multiboot): Use multiboot_mbi functions.
  2446. * loader/i386/multiboot_mbi.c: New file.
  2447. 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
  2448. * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
  2449. it would result in module crash.
  2450. 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
  2451. * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
  2452. (grub_ofconsole_getwh): Split to ...
  2453. (grub_ofconsole_getwh): ... this.
  2454. (grub_ofconsole_dimensions): ...and this.
  2455. (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
  2456. 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
  2457. * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
  2458. 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
  2459. * loader/i386/pc/multiboot2.c: Removed stalled file.
  2460. 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
  2461. * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
  2462. Reported by: Grégoire Sutre
  2463. 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
  2464. * util/misc.c (canonicalize_file_name): New function.
  2465. (make_system_path_relative_to_its_root): Use canonicalize_file_name()
  2466. instead of realpath().
  2467. 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
  2468. * util/grub-install.in (usage): Clarify meaning of --root-directory,
  2469. and make it clearer that it's optional. Based on confusion
  2470. witnessed on IRC.
  2471. 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
  2472. * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
  2473. in premature implicit newline.
  2474. 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
  2475. * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
  2476. which resulted in garbled command line at the end of screen.
  2477. 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
  2478. * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
  2479. initialization with similar approach as with other Linux loaders.
  2480. 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
  2481. Fix i386-ieee1275 build.
  2482. * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
  2483. and grub_term_height() for video_{width,height} initialization.
  2484. 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
  2485. Fix grub-emu build.
  2486. * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
  2487. 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
  2488. 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
  2489. Support for multiple terminals.
  2490. * Makefile.in (pkglib_DATA): terminal.lst.
  2491. (terminal.lst): New target.
  2492. * commands/handler.c (grub_cmd_handler): Don't handle terminals.
  2493. (GRUB_MOD_INIT(handler)): Likewise.
  2494. (GRUB_MOD_FINI(handler)): Likewise.
  2495. * commands/help.c (grub_cmd_help): Handle multiple terminals.
  2496. * commands/keystatus.c (grub_cmd_keystatus): Likewise.
  2497. * commands/sleep.c (do_print): Use grub_term_restore_pos.
  2498. (grub_cmd_sleep): Use grub_term_save_pos.
  2499. * commands/terminal.c: New file.
  2500. * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
  2501. commands/terminal.c and lib/charset.c.
  2502. * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
  2503. (pkglib_MODULES): Add terminal.mod.
  2504. (terminal_mod_SOURCES): New variable.
  2505. (terminal_mod_CFLAGS): Likewise.
  2506. (terminal_mod_LDFLAGS): Likewise.
  2507. * genhandlerlist.sh: Don't handle terminals.
  2508. * genmk.rb: Generate terminal-*.lst.
  2509. * genterminallist.sh: New file.
  2510. * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
  2511. (grub_is_valid_utf8): Likewise.
  2512. (grub_utf8_to_ucs4_alloc): Likewise.
  2513. * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
  2514. (grub_menu_register_viewer): Changed argument.
  2515. (grub_menu_try_text): New proto.
  2516. (grub_gfxmenu_try_hook): New declaration.
  2517. * include/grub/normal.h (grub_normal_exit_level): New declaration.
  2518. (grub_menu_init_page): Additional argument term.
  2519. (grub_normal_init_page): Likewise.
  2520. (grub_cmdline_get): Arguments simplified.
  2521. (grub_utf8_to_ucs4_alloc): Removed.
  2522. (grub_print_ucs4): Additional argument term.
  2523. (grub_getstringwidth): Likewise.
  2524. (grub_print_message_indented): Likewise.
  2525. (grub_menu_text_register_instances): New proto.
  2526. (grub_show_menu): Likewise.
  2527. (read_terminal_list): Likewise.
  2528. (grub_set_more): Likewise.
  2529. * include/grub/parser.h: Include handler.h.
  2530. * include/grub/reader.h: Rewritten.
  2531. * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
  2532. (GRUB_TERM_WIDTH): Changed to function.
  2533. (GRUB_TERM_HEIGHT): Likewise.
  2534. (GRUB_TERM_BORDER_WIDTH): Likewise.
  2535. (GRUB_TERM_BORDER_HEIGHT): Likewise.
  2536. (GRUB_TERM_NUM_ENTRIES): Likewise.
  2537. (GRUB_TERM_ENTRY_WIDTH): Likewise.
  2538. (GRUB_TERM_CURSOR_X): Likewise.
  2539. (grub_term_input_class): Likewise.
  2540. (grub_term_output_class): Likewise.
  2541. (grub_term_outputs_disabled): New declaration.
  2542. (grub_term_inputs_disabled): Likewise.
  2543. (grub_term_outputs): Likewise.
  2544. (grub_term_inputs): Likewise.
  2545. (grub_term_register_input): Rewritten.
  2546. (grub_term_register_output): Likewise.
  2547. (grub_term_unregister_input): Likewise.
  2548. (grub_term_unregister_output): Likewise.
  2549. (FOR_ACTIVE_TERM_INPUTS): New macro.
  2550. (FOR_DISABLED_TERM_INPUTS): Likewise.
  2551. (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
  2552. (FOR_DISABLED_TERM_OUTPUTS): Likewise.
  2553. * include/grub/terminfo.h: Add oterm argument to all protypes.
  2554. * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
  2555. Use grub_rescue_run.
  2556. * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
  2557. All users updated.
  2558. * kern/reader.c: Removed. All users updated.
  2559. * kern/rescue_reader.c (grub_rescue_init): Removed.
  2560. (grub_rescue_reader): Likewise.
  2561. (grub_register_rescue_reader): Likewise.
  2562. (grub_rescue_run): New function based on kern/reader.c.
  2563. * kern/term.c: Adapted for multiterm.
  2564. * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
  2565. (grub_is_valid_utf8): Likewise.
  2566. (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
  2567. * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
  2568. right terminal.
  2569. * loader/i386/linux.c (grub_linux_boot): Likewise.
  2570. * normal/auth.c (grub_username_get): New function.
  2571. (grub_auth_check_authentication): Use grub_username_get.
  2572. * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
  2573. * normal/color.c: Adapt for multiterm.
  2574. * normal/main.c (read_config_file): Don't use grub_reader_loop.
  2575. (grub_normal_init_page): Additional argument term.
  2576. (read_lists): Call read_terminal_lists.
  2577. (grub_enter_normal_mode): Call grub_cmdline_run.
  2578. Handle grub_normal_exit_level.
  2579. (grub_cmd_normal): Make reentrant.
  2580. (grub_cmd_normal_exit): New function.
  2581. (grub_normal_reader_init): Additional argument nested. Handle multiterm.
  2582. * normal/menu.c: Adapt for multiterm.
  2583. * normal/menu_entry.c: Likewise.
  2584. * normal/menu_text.c: Likewise.
  2585. * normal/menu_viewer.c: Removed. All users updated.
  2586. * normal/term.c: New file.
  2587. * util/console.c: Change order of includes to workaround a bug in
  2588. ncurses headers.
  2589. * term/terminfo.c: New argument oterm on all exported functions.
  2590. All users updated.
  2591. * util/grub-editenv.c (grub_term_input_class): Removed.
  2592. (grub_term_output_class): Likewise.
  2593. 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
  2594. Make loader output a bit more user-friendly.
  2595. * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
  2596. is being loaded. Likewise for the Hurd.
  2597. * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
  2598. that kernel of FreeBSD ${version} is being loaded.
  2599. * loader/i386/linux.c (grub_cmd_linux): Move debug info to
  2600. grub_dprintf().
  2601. (grub_cmd_initrd): Likewise.
  2602. * util/grub.d/10_linux.in (linux_entry): Print message indicating
  2603. that Linux ${version} is being loaded. Likewise for initrd.
  2604. 2010-01-09 Carles Pina i Estany <carles@pina.cat>
  2605. * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
  2606. 2010-01-08 Carles Pina i Estany <carles@pina.cat>
  2607. * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
  2608. (GRUB_MOD_INIT): Gettextizze.
  2609. * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
  2610. (GRUB_MOD_INIT): Gettextizze.
  2611. * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
  2612. (grub_cmd_linux): Capitalise Linux.
  2613. (GRUB_MOD_INIT): Gettextizze.
  2614. * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
  2615. (grub_cmd_linux): Capitalise Linux.
  2616. (GRUB_MOD_INIT): Gettextizze.
  2617. * loader/i386/linux.c: Include `<grub/i18n.h>'.
  2618. (grub_cmd_linux): Capitalise Linux.
  2619. (GRUB_MOD_INIT): Gettextizze.
  2620. * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
  2621. (GRUB_MOD_INIT): Gettextizze.
  2622. * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
  2623. (grub_cmd_linux): Capitalise Linux.
  2624. (GRUB_MOD_INIT): Gettextizze.
  2625. * loader/i386/xnu.c: Include `<grub/i18n.h>'.
  2626. (grub_cpu_xnu_init): Gettextizze.
  2627. * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
  2628. (GRUB_MOD_INIT): Gettextizze.
  2629. * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
  2630. (GRUB_MOD_INIT): Gettextizze.
  2631. * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
  2632. (grub_linux_load64): Capitalise Linux.
  2633. (GRUB_MOD_INIT): Gettextizze.
  2634. * loader/xnu.c: Include `<grub/i18n.h>'.
  2635. (GRUB_MOD_INIT): Gettextizze.
  2636. * po/POTFILES: Add `loader/efi/appleloader.c',
  2637. `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
  2638. `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
  2639. `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
  2640. `loader/i386/xnu.c', `loader/multiboot_loader.c',
  2641. `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
  2642. and `loader/xnu.c'.
  2643. 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
  2644. * src/mkisofs.c: Remove `ifdef linux' portability kludge.
  2645. 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
  2646. * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
  2647. (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
  2648. * util/mkisofs/mkisofs.c (main): Readjust --version output.
  2649. 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
  2650. Reset Multiboot 2 support. New loader implements the draft in
  2651. /branches/multiboot2 and shares as much code as possible with the
  2652. production Multiboot 1 implementation.
  2653. * loader/ieee1275/multiboot2.c: Remove file. Update all users.
  2654. * loader/multiboot2.c: Likewise.
  2655. * loader/i386/multiboot_helper.S: Likewise.
  2656. * include/multiboot2.h: Replace with latest version from the draft
  2657. in /branches/multiboot2.
  2658. * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
  2659. `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
  2660. and `loader/multiboot2.c'.
  2661. (pkglib_MODULES): Add `multiboot2.mod'.
  2662. (multiboot2_mod_SOURCES): New variable.
  2663. (multiboot2_mod_LDFLAGS): Likewise.
  2664. (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
  2665. * conf/i386-pc.rmk: Likewise.
  2666. * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
  2667. (multiboot_mod_SOURCES): Remove variable.
  2668. (multiboot_mod_LDFLAGS): Likewise.
  2669. (multiboot_mod_CFLAGS): Likewise.
  2670. * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
  2671. `<multiboot2.h>' instead of `<multiboot.h>'.
  2672. [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
  2673. (MULTIBOOT_HEADER_MAGIC): New macros.
  2674. * loader/multiboot_loader.c (module_version_status): Remove variable.
  2675. (find_multi_boot2_header): Remove function.
  2676. (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
  2677. logic. Always check for the Multiboot version we're compiling for.
  2678. (grub_cmd_module_loader): Likewise.
  2679. [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
  2680. command instead of `multiboot'.
  2681. 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
  2682. * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
  2683. * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
  2684. all users.
  2685. 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
  2686. 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
  2687. Fix breakage introduced with previous commit.
  2688. * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
  2689. commands.
  2690. * normal/handler.c (read_handler_list): Revert part of previous commit
  2691. affecting this file.
  2692. * normal/main.c (read_lists): Move read_handler_list() call back to ...
  2693. (grub_normal_execute): ... here.
  2694. 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
  2695. Merge prefix-redefinition-fix branch.
  2696. * normal/autofs.c (read_fs_list): Make function capable of being
  2697. run multiple times, gracefuly replacing the previous data
  2698. structures.
  2699. * normal/dyncmd.c (read_command_list): Likewise.
  2700. * normal/handler.c (read_handler_list): Likewise.
  2701. * normal/main.c (read_lists): New function. Calls all the
  2702. list reading functions.
  2703. (grub_normal_execute): Use read_lists() instead of calling all
  2704. list reading functions explicitly. Register read_lists() as a
  2705. variable hook attached to ${prefix}.
  2706. 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
  2707. Merge crypto branch.
  2708. * Makefile.in (pkglib_DATA): Add crypto.lst.
  2709. (crypto.lst): New target.
  2710. * commands/hashsum.c: New file.
  2711. * commands/password.c (check_password): Use grub_crypto_memcmp.
  2712. * commands/password_pbkdf2.c: New file.
  2713. * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
  2714. * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
  2715. normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
  2716. (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
  2717. -I$(srcdir)/lib/libgcrypt_wrap.
  2718. * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
  2719. (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
  2720. password_pbkdf2.mod.
  2721. (crypto_mod_SOURCES): New variable.
  2722. (crypto_mod_CFLAGS): Likewise.
  2723. (crypto_mod_LDFLAGS): Likewise.
  2724. (hashsum_mod_SOURCES): New variable.
  2725. (hashsum_mod_CFLAGS): Likewise.
  2726. (hashsum_mod_LDFLAGS): Likewise.
  2727. (pbkdf2_mod_SOURCES): New variable.
  2728. (pbkdf2_mod_CFLAGS): Likewise.
  2729. (pbkdf2_mod_LDFLAGS): Likewise.
  2730. (password_pbkdf2_mod_SOURCES): New variable.
  2731. (password_pbkdf2_mod_CFLAGS): Likewise.
  2732. (password_pbkdf2_mod_LDFLAGS): Likewise.
  2733. (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
  2734. (grub_mkpasswd_pbkdf2_SOURCES): New variable.
  2735. (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
  2736. Include conf/gcry.rmk.
  2737. * include/grub/auth.h: Rewritten.
  2738. * include/grub/crypto.h: New file.
  2739. * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
  2740. * include/grub/normal.h (read_crypto_list): New prototype.
  2741. * lib/crypto.c: New file.
  2742. * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
  2743. * lib/pbkdf2.c: Likewise.
  2744. * normal/auth.c (grub_auth_strcmp): Removed.
  2745. (grub_iswordseparator): Likewise.
  2746. (grub_auth_strword): Likewise.
  2747. (is_authenticated): Use grub_strword.
  2748. (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
  2749. and grub_strword. Pass entered password to authentication callback.
  2750. * normal/crypto.c: New file.
  2751. * normal/main.c: Call read_crypto_list.
  2752. * util/grub-mkpasswd-pbkdf2.c: New file.
  2753. * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
  2754. 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
  2755. Fix descent and ascent calculation.
  2756. * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
  2757. (options): New option "asce".
  2758. (usage): Likewise.
  2759. (add_char): Ignore invalid glyphs for descent calculation.
  2760. Calculate ascent from actual content.
  2761. (print_glyphs): Use 'asce'.
  2762. (write_font): Likewise. Allow ascent override.
  2763. (main): Handle "asce" option.
  2764. 2010-01-06 Carles Pina i Estany <carles@pina.cat>
  2765. * kern/err.c: Include `<grub/i18n.h>'.
  2766. (grub_print_error): Add full stop. Gettextizze.
  2767. * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
  2768. (grub_bsd_load_elf): Capitalise ELF.
  2769. (grub_cmd_freebsd_loadenv): Add `s' in error string.
  2770. (grub_cmd_freebsd_module): Likewise.
  2771. (grub_cmd_freebsd_module_elf): Likewise.
  2772. * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
  2773. 2010-01-06 Carles Pina i Estany <carles@pina.cat>
  2774. * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
  2775. * commands/search_file.c (HELP_MESSAGE): New macro.
  2776. * commands/search_label.c (HELP_MESSAGE): Likewise.
  2777. * commands/search_uuid.c (HELP_MESSAGE): Likewise.
  2778. * po/POTFILES: Add `commands/search_file.c',
  2779. `commands/search_label.c', `commands_uuid.c'. Remove duplicate
  2780. `commands/search.c'.
  2781. 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
  2782. * config.rpath: Update from Gnulib.
  2783. 2010-01-05 Yves Blusseau <blusseau@zetam.org>
  2784. * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
  2785. 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
  2786. * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
  2787. 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
  2788. * util/mkisofs/write.c (padblock_write): Switch size and nmemb
  2789. arguments to fread so that we get a return value in bytes, rather
  2790. than something that will normally be rounded down to 0.
  2791. Adjust error handling to avoid producing garbage when size_t is not
  2792. the same size as long long.
  2793. 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
  2794. * util/mkisofs/write.c (padblock_write): Check return value of
  2795. fread.
  2796. 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
  2797. Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
  2798. floppy images now.
  2799. * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
  2800. 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
  2801. * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
  2802. instead of manual alignment.
  2803. * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
  2804. verbose). Avoid attempts to read past end of the device
  2805. (grub_disk_adjust_range() guarantees that we can read `size' bytes,
  2806. but GRUB_DISK_CACHE_SIZE may exceed that).
  2807. 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
  2808. * commands/crc.c (grub_cmd_crc): Abort on read errors.
  2809. * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
  2810. it to upper layer.
  2811. 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
  2812. * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
  2813. New constant.
  2814. (grub_efi_piwg_device_path): New structure
  2815. (grub_efi_piwg_device_path_t): New type.
  2816. * loader/efi/appleloader.c (piwg_full_device_path): New structure.
  2817. (devpath_1): Transform to a structure. All users updated.
  2818. (devpath_2): Likewise.
  2819. (devpath_3): Likewise.
  2820. (devpath_4): Likewise.
  2821. (devpath_5): Likewise.
  2822. 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
  2823. * loader/efi/appleloader.c: Restored. Update all users.
  2824. 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
  2825. * boot/i386/pc/diskboot.S: Fix inaccurate comment.
  2826. * util/i386/pc/grub-setup.c: Include `<assert.h>'.
  2827. (struct boot_blocklist): Move from here ...
  2828. * include/grub/i386/pc/boot.h [ASM_FILE]
  2829. (struct grub_boot_blocklist): ... to here. Update all users.
  2830. (setup): Only initialize `start' member of `first_block'
  2831. structure. Add assert() calls to verify the other members.
  2832. * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
  2833. (generate_image): Fix broken blocklist length initialization.
  2834. Add assert() call to verify blocklist `segment' field.
  2835. 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
  2836. * loader/efi/appleloader.c: Remove. Update all users.
  2837. 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
  2838. * boot/i386/pc/boot.S: Update copyright year.
  2839. * boot/i386/pc/cdboot.S: Likewise.
  2840. * boot/i386/pc/diskboot.S: Likewise.
  2841. * boot/i386/pc/lnxboot.S: Likewise.
  2842. * boot/i386/pc/pxeboot.S: Likewise.
  2843. * bus/pci.c: Likewise.
  2844. * commands/cmp.c: Likewise.
  2845. * commands/help.c: Likewise.
  2846. * commands/hexdump.c: Likewise.
  2847. * commands/i386/pc/halt.c: Likewise.
  2848. * commands/i386/pc/play.c: Likewise.
  2849. * commands/i386/pc/vbeinfo.c: Likewise.
  2850. * commands/ls.c: Likewise.
  2851. * commands/test.c: Likewise.
  2852. * disk/dmraid_nvidia.c: Likewise.
  2853. * disk/i386/pc/biosdisk.c: Likewise.
  2854. * disk/ieee1275/nand.c: Likewise.
  2855. * disk/ieee1275/ofdisk.c: Likewise.
  2856. * disk/lvm.c: Likewise.
  2857. * disk/raid.c: Likewise.
  2858. * disk/raid6_recover.c: Likewise.
  2859. * disk/scsi.c: Likewise.
  2860. * fs/affs.c: Likewise.
  2861. * fs/cpio.c: Likewise.
  2862. * fs/ext2.c: Likewise.
  2863. * fs/hfs.c: Likewise.
  2864. * fs/iso9660.c: Likewise.
  2865. * fs/ntfs.c: Likewise.
  2866. * fs/sfs.c: Likewise.
  2867. * fs/udf.c: Likewise.
  2868. * fs/ufs.c: Likewise.
  2869. * fs/xfs.c: Likewise.
  2870. * gencmdlist.sh: Likewise.
  2871. * genmk.rb: Likewise.
  2872. * include/grub/disk.h: Likewise.
  2873. * include/grub/efi/api.h: Likewise.
  2874. * include/grub/efi/efi.h: Likewise.
  2875. * include/grub/efi/pe32.h: Likewise.
  2876. * include/grub/elf.h: Likewise.
  2877. * include/grub/fs.h: Likewise.
  2878. * include/grub/i386/at_keyboard.h: Likewise.
  2879. * include/grub/i386/pc/memory.h: Likewise.
  2880. * include/grub/i386/pc/vbe.h: Likewise.
  2881. * include/grub/i386/pci.h: Likewise.
  2882. * include/grub/i386/tsc.h: Likewise.
  2883. * include/grub/ieee1275/ieee1275.h: Likewise.
  2884. * include/grub/ntfs.h: Likewise.
  2885. * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
  2886. * include/grub/sparc64/libgcc.h: Likewise.
  2887. * include/grub/symbol.h: Likewise.
  2888. * include/grub/types.h: Likewise.
  2889. * include/multiboot2.h: Likewise.
  2890. * io/gzio.c: Likewise.
  2891. * kern/device.c: Likewise.
  2892. * kern/disk.c: Likewise.
  2893. * kern/efi/efi.c: Likewise.
  2894. * kern/efi/mm.c: Likewise.
  2895. * kern/elf.c: Likewise.
  2896. * kern/file.c: Likewise.
  2897. * kern/i386/dl.c: Likewise.
  2898. * kern/i386/pc/init.c: Likewise.
  2899. * kern/i386/pc/startup.S: Likewise.
  2900. * kern/ieee1275/ieee1275.c: Likewise.
  2901. * kern/ieee1275/init.c: Likewise.
  2902. * kern/main.c: Likewise.
  2903. * kern/mm.c: Likewise.
  2904. * kern/powerpc/dl.c: Likewise.
  2905. * kern/sparc64/dl.c: Likewise.
  2906. * kern/x86_64/dl.c: Likewise.
  2907. * lib/hexdump.c: Likewise.
  2908. * loader/efi/appleloader.c: Likewise.
  2909. * loader/i386/ieee1275/linux.c: Likewise.
  2910. * loader/i386/pc/chainloader.c: Likewise.
  2911. * loader/i386/pc/linux.c: Likewise.
  2912. * loader/i386/pc/multiboot2.c: Likewise.
  2913. * loader/ieee1275/multiboot2.c: Likewise.
  2914. * loader/multiboot2.c: Likewise.
  2915. * loader/multiboot_loader.c: Likewise.
  2916. * loader/powerpc/ieee1275/linux.c: Likewise.
  2917. * normal/completion.c: Likewise.
  2918. * normal/menu_entry.c: Likewise.
  2919. * partmap/apple.c: Likewise.
  2920. * util/grub.d/10_hurd.in: Likewise.
  2921. * util/hostfs.c: Likewise.
  2922. * video/readers/png.c: Likewise.
  2923. 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
  2924. * include/grub/misc.h (GNUC_PREREQ): New macro.
  2925. (ATTRIBUTE_ERROR): New macro.
  2926. * include/grub/list.h (grub_bad_type_cast_real): Use
  2927. ATTRIBUTE_ERROR.
  2928. 2010-01-03 Carles Pina i Estany <carles@pina.cat>
  2929. * normal/menu_text.c (print_message): Change messages.
  2930. 2010-01-03 Carles Pina i Estany <carles@pina.cat>
  2931. * normal/menu_entry.c (store_completion): Gettextizze.
  2932. 2010-01-03 Carles Pina i Estany <carles@pina.cat>
  2933. * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
  2934. 2010-01-03 Carles Pina i Estany <carles@pina.cat>
  2935. * po/POTFILES: Sort correctly.
  2936. 2010-01-03 Carles Pina i Estany <carles@pina.cat>
  2937. * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
  2938. * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
  2939. * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
  2940. full stop.
  2941. * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
  2942. summary. Gettextizze the strings.
  2943. * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
  2944. * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
  2945. * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
  2946. full stop.
  2947. (GRUB_MOD_INIT): Remove command name from summary.
  2948. * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
  2949. summary.
  2950. * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
  2951. * term/i386/pc/serial.c (options): Add full stops.
  2952. (GRUB_MOD_INIT): Remove command name from the summary.
  2953. 2010-01-03 Carles Pina i Estany <carles@pina.cat>
  2954. * commands/acpi.c: Gettextizze help strings and/or options. Include
  2955. `grub/i18n.h' if needed.
  2956. * commands/blocklist.c: Likewise.
  2957. * commands/boot.c: Likewise.
  2958. * commands/cat.c: Likewise.
  2959. * commands/cmp.c: Likewise.
  2960. * commands/configfile.c: Likewise.
  2961. * commands/crc.c: Likewise.
  2962. * commands/date.c: Likewise.
  2963. * commands/echo.c: Likewise.
  2964. * commands/efi/fixvideo.c: Likewise.
  2965. * commands/efi/loadbios.c: Likewise.
  2966. * commands/gptsync.c: Likewise.
  2967. * commands/halt.c: Likewise.
  2968. * commands/handler.c: Likewise.
  2969. * commands/hdparm.c: Likewise.
  2970. * commands/hexdump.c: Likewise.
  2971. * commands/i386/cpuid.c: Likewise.
  2972. * commands/i386/pc/drivemap.c: Likewise.
  2973. * commands/i386/pc/halt.c: Likewise.
  2974. * commands/i386/pc/pxecmd.c: Likewise.
  2975. * commands/i386/pc/vbeinfo.c: Likewise.
  2976. * commands/i386/pc/vbetest.c: Likewise.
  2977. * commands/ieee1275/suspend.c: Likewise.
  2978. * commands/keystatus.c: Likewise.
  2979. * commands/loadenv.c: Likewise.
  2980. * commands/ls.c: Likewise.
  2981. * commands/lsmmap.c: Likewise.
  2982. * commands/lspci.c: Likewise.
  2983. * commands/memrw.c: Likewise.
  2984. * commands/minicmd.c: Likewise.
  2985. * commands/parttool.c: Likewise.
  2986. * commands/password.c: Likewise.
  2987. * commands/probe.c: Likewise.
  2988. * commands/read.c: Likewise.
  2989. * commands/reboot.c: Likewise.
  2990. * commands/search.c: Likewise.
  2991. * commands/sleep.c: Likewise.
  2992. * commands/test.c: Likewise.
  2993. * commands/true.c: Likewise.
  2994. * commands/usbtest.c: Likewise.
  2995. * commands/videotest.c: Likewise.
  2996. * commands/xnu_uuid.c: Likewise.
  2997. * disk/loopback.c: Likewise.
  2998. * hello/hello.c: Likewise.
  2999. * loader/i386/bsd.c: Likewise.
  3000. * term/i386/pc/serial.c: Likewise.
  3001. * po/POTFILES: Add new files.
  3002. 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
  3003. * term/i386/pc/at_keyboard.c
  3004. (keyboard_controller_wait_untill_ready): Rename to ...
  3005. (keyboard_controller_wait_until_ready): ... this. Update all users.
  3006. 2010-01-01 Carles Pina i Estany <carles@pina.cat>
  3007. * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
  3008. (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
  3009. string using string width.
  3010. * normal/menu_text.c (grub_print_message_indented): Use
  3011. grub_print_spaces and not print_spaces.
  3012. (print_timeout): Likewise.
  3013. (print_spaces): Move to...
  3014. * include/grub/term.h: ... here. Change the name to grub_print_spaces.
  3015. 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
  3016. Import from Gnulib.
  3017. * gnulib/getdelim.c: New file.
  3018. * gnulib/getline.c: Likewise.
  3019. 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
  3020. * include/grub/list.h (grub_assert_fail): Removed.
  3021. (grub_bad_type_cast_real): New function.
  3022. (grub_bad_type_cast): New macro.
  3023. (GRUB_AS_LIST): Use grub_bad_type_cast.
  3024. (GRUB_AS_LIST_P): Likewise.
  3025. (GRUB_AS_NAMED_LIST): Likewise.
  3026. (GRUB_AS_NAMED_LIST_P): Likewise.
  3027. (GRUB_AS_PRIO_LIST): Likewise.
  3028. (GRUB_AS_PRIO_LIST_P): Likewise.
  3029. * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
  3030. 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
  3031. * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
  3032. Fix syntax error.
  3033. 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
  3034. * configure.ac: Check for TARGET_CFLAGS initialization before we
  3035. initialize it ourselves (sigh).
  3036. Move a few modifications to TARGET_CFLAGS to be unconditional
  3037. (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
  3038. eh_frame)
  3039. * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
  3040. * term/i386/pc/at_keyboard.c
  3041. (keyboard_controller_wait_untill_ready): Likewise.
  3042. (keyboard_controller_led): Rename `led_status' paramter to avoid
  3043. name conflict.
  3044. 2009-12-28 Carles Pina i Estany <carles@pina.cat>
  3045. * normal/misc.c (grub_normal_print_device_info): Add spaces and double
  3046. quotes.
  3047. 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
  3048. * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
  3049. 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
  3050. * normal/menu_text.c (grub_print_message_indented): Prevent
  3051. past-the-end-of-array dereference.
  3052. 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
  3053. * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
  3054. (GRUB_MOD_FINI (video_reader_jpeg)): ...this
  3055. 2009-12-27 Carles Pina i Estany <carles@pina.cat>
  3056. * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
  3057. * normal/main.c (grub_normal_read_line): Remove a space from the
  3058. default prompt.
  3059. 2009-12-27 Carles Pina i Estany <carles@pina.cat>
  3060. * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
  3061. * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
  3062. * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
  3063. * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
  3064. * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
  3065. * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
  3066. * loader/xnu.c (GRUB_MOD_INIT): Likewise.
  3067. 2009-12-26 Carles Pina i Estany <carles@pina.cat>
  3068. * video/readers/jpeg.c (cmd): Declare.
  3069. (grub_cmd_jpegtest): Use `grub_command_t' type.
  3070. (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
  3071. Assign to `cmd'.
  3072. (GRUB_MOD_FINI): Use `cmd' to unregister.
  3073. * video/readers/png.c (cmd): Declare.
  3074. (grub_cmd_pngtest): Use `grub_command_t' type.
  3075. (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
  3076. Assign to `cmd'.
  3077. (GRUB_MOD_FINI): Use `cmd' to unregister.
  3078. * video/readers/tga.c (cmd): Declare.
  3079. (grub_cmd_tgatest): Use `grub_command_t' type.
  3080. (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
  3081. Assign to `cmd'.
  3082. (GRUB_MOD_FINI): Use `cmd' to unregister.
  3083. 2009-12-26 Carles Pina i Estany <carles@pina.cat>
  3084. * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
  3085. stops.
  3086. * kern/corecmd.c (grub_register_core_commands): Likewise.
  3087. * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
  3088. * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
  3089. * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
  3090. * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
  3091. * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
  3092. * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
  3093. * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
  3094. * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
  3095. * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
  3096. * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
  3097. * loader/xnu.c (GRUB_MOD_INIT): Likewise.
  3098. * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
  3099. * normal/handler.c (insert_handler): Likewise.
  3100. * normal/main.c (GRUB_MOD_INIT): Likewise.
  3101. * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
  3102. 2009-12-26 Carles Pina i Estany <carles@pina.cat>
  3103. * commands/help.c (grub_cmd_help): Print the command name before the
  3104. summary.
  3105. (GRUB_MOD_INIT): Remove command name from the summary.
  3106. * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
  3107. string as summary.
  3108. * lib/arg.c (find_long): Print the command name before the summary.
  3109. * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
  3110. summary.
  3111. * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
  3112. * commands/cat.c (GRUB_MOD_INIT): Likewise.
  3113. * commands/cmp.c (GRUB_MOD_INIT): Likewise.
  3114. * commands/configfile.c (GRUB_MOD_INIT): Likewise.
  3115. * commands/crc.c (GRUB_MOD_INIT): Likewise.
  3116. * commands/date.c (GRUB_MOD_INIT): Likewise.
  3117. * commands/echo.c (GRUB_MOD_INIT): Likewise.
  3118. * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
  3119. * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
  3120. * commands/handler.c (GRUB_MOD_INIT): Likewise.
  3121. * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
  3122. * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
  3123. * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
  3124. * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
  3125. * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
  3126. * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
  3127. * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
  3128. * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
  3129. * commands/ls.c (GRUB_MOD_INIT): Likewise.
  3130. * commands/lspci.c (GRUB_MOD_INIT): Likewise.
  3131. * commands/memrw.c (GRUB_MOD_INIT): Likewise.
  3132. * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
  3133. * commands/parttool.c (GRUB_MOD_INIT): Likewise.
  3134. * commands/password.c (GRUB_MOD_INIT): Likewise.
  3135. * commands/probe.c (GRUB_MOD_INIT): Likewise.
  3136. * commands/read.c (GRUB_MOD_INIT): Likewise.
  3137. * commands/search.c (GRUB_MOD_INIT): Likewise.
  3138. * commands/sleep.c (GRUB_MOD_INIT): Likewise.
  3139. * commands/test.c (GRUB_MOD_INIT): Likewise.
  3140. * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
  3141. * efiemu/main.c (GRUB_MOD_INIT): Likewise.
  3142. * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
  3143. * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
  3144. * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
  3145. * lib/arg.c (GRUB_MOD_INIT): Likewise.
  3146. * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
  3147. * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
  3148. * loader/xnu.c (GRUB_MOD_INIT): Likewise.
  3149. * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
  3150. * term/terminfo.c (GRUB_MOD_INIT): Likewise.
  3151. * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
  3152. * video/readers/png.c (GRUB_MOD_INIT): Likewise.
  3153. * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
  3154. 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
  3155. Use search command for preliminar UUID search.
  3156. * commands/search.c: Split into ...
  3157. * commands/search_wrap.c: ...this
  3158. * commands/search.c: ...and this.
  3159. * commands/search_file.c: New file.
  3160. * commands/search_label.c: New file.
  3161. * commands/search_uuid.c: New file.
  3162. * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
  3163. Add commands/search_wrap.c, commands/search_file.c,
  3164. commands/search_label.c and commands/search_uuid.c.
  3165. * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
  3166. (search_mod_SOURCES): Set to commands/search_wrap.c.
  3167. (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
  3168. search_label.mod.
  3169. (search_fs_file_mod_SOURCES): New variable.
  3170. (search_fs_file_mod_CFLAGS): Likewise.
  3171. (search_fs_file_mod_LDFLAGS): Likewise.
  3172. (search_label_mod_SOURCES): Likewise.
  3173. (search_label_mod_CFLAGS): Likewise.
  3174. (search_label_mod_LDFLAGS): Likewise.
  3175. (search_fs_uuid_mod_SOURCES): New variable.
  3176. (search_fs_uuid_mod_CFLAGS): Likewise.
  3177. (search_fs_uuid_mod_LDFLAGS): Likewise.
  3178. (fs_file_mod_SOURCES): Removed.
  3179. (fs_file_mod_CFLAGS): Likewise.
  3180. (fs_file_mod_LDFLAGS): Likewise.
  3181. (fs_uuid_mod_SOURCES): Removed.
  3182. (fs_uuid_mod_CFLAGS): Likewise.
  3183. (fs_uuid_mod_LDFLAGS): Likewise.
  3184. * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
  3185. Set to util/grub-install.in.
  3186. * disk/fs_file.c: Removed.
  3187. * disk/fs_uuid.c: Likewise.
  3188. * include/grub/search.h: New file.
  3189. * util/grub-install.in: Handle sparc64.
  3190. Create and use load.cfg.
  3191. * util/sparc64/ieee1275/grub-install.in: Removed.
  3192. 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
  3193. * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
  3194. Ignore return status if CF is cleared.
  3195. (grub_biosdisk_get_diskinfo_standard): Likewise.
  3196. 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
  3197. * term/i386/pc/at_keyboard.c
  3198. (keyboard_controller_wait_untill_ready): New function.
  3199. (grub_keyboard_controller_write, grub_keyboard_controller_read)
  3200. (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
  3201. for keyboard polling, rather than duplicate the same loop. This
  3202. saves a few bytes in code size.
  3203. 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
  3204. Support for (pxe[:server[:gateway]]) syntax and
  3205. use environment variable for PXE.
  3206. * commands/i386/pc/pxecmd.c (options): Removed.
  3207. (print_ip): Removed.
  3208. (grub_cmd_pxe): Removed
  3209. (grub_cmd_pxe_unload): New function.
  3210. * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
  3211. (grub_pxe_your_ip): Made static.
  3212. (grub_pxe_default_server_ip): Likewise.
  3213. (grub_pxe_default_gateway_ip): Likewise.
  3214. (grub_pxe_blksize): Likewise.
  3215. (parse_ip): New function.
  3216. (grub_pxe_open): Support server and gateway specification.
  3217. (grub_pxe_close): Free disk->data.
  3218. (grub_pxefs_open): Use disk->data.
  3219. (grub_pxefs_read): Likewise.
  3220. (grub_env_write_readonly): New function.
  3221. (set_mac_env): Likewise.
  3222. (set_env_limn_ro): Likewise.
  3223. (parse_dhcp_vendor): Likewise.
  3224. (grub_pxe_detect): Set the environment variables.
  3225. (set_ip_env): New function.
  3226. (write_ip_env): Likewise.
  3227. (grub_env_write_pxe_default_server): Likewise.
  3228. (grub_env_write_pxe_default_gateway): Likewise.
  3229. (grub_env_write_pxe_blocksize): Likewise.
  3230. (GRUB_MOD_INIT(pxe)): Set environment variables.
  3231. * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
  3232. (grub_pxe_mac_addr_t): ... this. All users updated.
  3233. (grub_pxe_your_ip): Removed.
  3234. (grub_pxe_server_ip): Likewise.
  3235. (grub_pxe_gateway_ip): Likewise.
  3236. (grub_pxe_blksize): Likewise.
  3237. 2009-12-25 Carles Pina i Estany <carles@pina.cat>
  3238. * commands/help.c: Include `<grub/i18n.h>'.
  3239. (grub_cmd_help): Gettextizze.
  3240. (GRUB_MOD_INIT): Likewise.
  3241. * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
  3242. (GRUB_MOD_INIT): Gettextizze.
  3243. * commands/search.c: Include `<grub/i18n.h>'.
  3244. (options): Gettextizze.
  3245. (GRUB_MOD_INIT): Gettextizze.
  3246. * lib/arg.c: Include `<grub/i18n.h>'.
  3247. (help_options): Gettextizze.
  3248. (find_long): Likewise.
  3249. (grub_arg_show_help): Likewise.
  3250. * normal/dyncmd.c: Include `<grub/i18n.h>'.
  3251. (read_command_list): Gettextizze.
  3252. * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
  3253. `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
  3254. 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
  3255. * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
  3256. * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
  3257. (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
  3258. (led_status): New variable.
  3259. (keyboard_controller_led): New function.
  3260. (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
  3261. update led status for caps lock, num lock and scroll lock.
  3262. 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
  3263. * util/hostdisk.c (open_device): Fix a comment.
  3264. 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
  3265. * util/grub-install.in (host_os): New variable.
  3266. * util/i386/efi/grub-install.in (host_os): Likewise.
  3267. 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
  3268. * util/mkisofs/write.c (padblock_write): Abort when given an
  3269. excedingly large embed image, instead of silently truncating it.
  3270. 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
  3271. * include/multiboot.h: Indentation fixes.
  3272. 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
  3273. * include/multiboot.h (struct multiboot_aout_symbol_table)
  3274. (struct multiboot_elf_section_header_table): New structure
  3275. declarations (stolen from GRUB Legacy).
  3276. (struct multiboot_info): Replace opaque `syms' with a.out and ELF
  3277. table information.
  3278. (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
  3279. (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
  3280. type aliases.
  3281. 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
  3282. * include/multiboot.h: Make comments src2texi-friendly.
  3283. 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
  3284. For consistency with [multiboot]/docs/boot.S.
  3285. * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
  3286. (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
  3287. (MULTIBOOT_MAGIC2): Rename from this ...
  3288. (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
  3289. 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
  3290. * include/multiboot.h: Remove `<grub/types.h>'.
  3291. (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
  3292. types. Update all users.
  3293. 2009-12-25 Carles Pina i Estany <carles@pina.cat>
  3294. * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
  3295. `couldn't' and `can not' by `cannot'.
  3296. * commands/i386/pc/drivemap.c: Likewise.
  3297. * disk/ata.c: Likewise.
  3298. * disk/ieee1275/nand.c: Likewise.
  3299. * fs/affs.c: Likewise.
  3300. * fs/fat.c: Likewise.
  3301. * fs/hfs.c: Likewise.
  3302. * fs/hfsplus.c: Likewise.
  3303. * fs/iso9660.c: Likewise.
  3304. * fs/jfs.c: Likewise.
  3305. * fs/minix.c: Likewise.
  3306. * fs/reiserfs.c: Likewise.
  3307. * fs/sfs.c: Likewise.
  3308. * fs/udf.c: Likewise.
  3309. * fs/ufs.c: Likewise.
  3310. * fs/xfs.c: Likewise.
  3311. * loader/powerpc/ieee1275/linux.c: Likewise.
  3312. * loader/sparc64/ieee1275/linux.c: Likewise.
  3313. * util/grub-probe.c: Likewise.
  3314. * util/misc.c: Likewise.
  3315. 2009-12-24 Carles Pina i Estany <carles@pina.cat>
  3316. * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
  3317. grub_errno calls.
  3318. * commands/acpi.c: Likewise.
  3319. * commands/blocklist.c: Likewise.
  3320. * commands/efi/loadbios.c: Likewise.
  3321. * commands/i386/pc/drivemap.c: Likewise.
  3322. * commands/loadenv.c: Likewise.
  3323. * commands/memrw.c: Likewise.
  3324. * commands/password.c: Likewise.
  3325. * commands/videotest.c: Likewise.
  3326. * disk/ata.c: Likewise.
  3327. * disk/ata_pthru.c: Likewise.
  3328. * disk/dmraid_nvidia.c: Likewise.
  3329. * disk/ieee1275/nand.c: Likewise.
  3330. * disk/ieee1275/ofdisk.c: Likewise.
  3331. * disk/loopback.c: Likewise.
  3332. * disk/lvm.c: Likewise.
  3333. * disk/mdraid_linux.c: Likewise.
  3334. * disk/raid.c: Likewise.
  3335. * disk/raid6_recover.c: Likewise.
  3336. * disk/scsi.c: Likewise.
  3337. * efiemu/main.c: Likewise.
  3338. * efiemu/mm.c: Likewise.
  3339. * efiemu/pnvram.c: Likewise.
  3340. * efiemu/symbols.c: Likewise.
  3341. * font/font.c: Likewise.
  3342. * fs/cpio.c: Likewise.
  3343. * fs/hfsplus.c: Likewise.
  3344. * fs/iso9660.c: Likewise.
  3345. * fs/jfs.c: Likewise.
  3346. * fs/minix.c: Likewise.
  3347. * fs/ntfs.c: Likewise.
  3348. * fs/ntfscomp.c: Likewise.
  3349. * fs/reiserfs.c: Likewise.
  3350. * fs/ufs.c: Likewise.
  3351. * fs/xfs.c: Likewise.
  3352. * gettext/gettext.c: Likewise.
  3353. * include/grub/auth.h: Likewise.
  3354. * kern/elf.c: Likewise.
  3355. * kern/file.c: Likewise.
  3356. * kern/ieee1275/init.c: Likewise.
  3357. * kern/ieee1275/mmap.c: Likewise.
  3358. * kern/ieee1275/openfw.c: Likewise.
  3359. * kern/powerpc/dl.c: Likewise.
  3360. * kern/sparc64/dl.c: Likewise.
  3361. * lib/arg.c: Likewise.
  3362. * loader/i386/bsd.c: Likewise.
  3363. * loader/i386/bsdXX.c: Likewise.
  3364. * loader/i386/efi/linux.c: Likewise.
  3365. * loader/i386/efi/xnu.c: Likewise.
  3366. * loader/i386/ieee1275/linux.c: Likewise.
  3367. * loader/i386/linux.c: Likewise.
  3368. * loader/i386/multiboot.c: Likewise.
  3369. * loader/i386/pc/linux.c: Likewise.
  3370. * loader/i386/pc/multiboot2.c: Likewise.
  3371. * loader/i386/xnu.c: Likewise.
  3372. * loader/ieee1275/multiboot2.c: Likewise.
  3373. * loader/macho.c: Likewise.
  3374. * loader/machoXX.c: Likewise.
  3375. * loader/multiboot2.c: Likewise.
  3376. * loader/multiboot_loader.c: Likewise.
  3377. * loader/powerpc/ieee1275/linux.c: Likewise.
  3378. * loader/sparc64/ieee1275/linux.c: Likewise.
  3379. * loader/xnu.c: Likewise.
  3380. * loader/xnu_resume.c: Likewise.
  3381. * mmap/i386/pc/mmap.c: Likewise.
  3382. * normal/menu_viewer.c: Likewise.
  3383. * partmap/acorn.c: Likewise.
  3384. * partmap/amiga.c: Likewise.
  3385. * partmap/apple.c: Likewise.
  3386. * script/lexer.c: Likewise.
  3387. * term/gfxterm.c: Likewise.
  3388. * term/i386/pc/serial.c: Likewise.
  3389. * term/i386/pc/vga.c: Likewise.
  3390. * term/ieee1275/ofconsole.c: Likewise.
  3391. * term/terminfo.c: Likewise.
  3392. * video/bitmap.c: Likewise.
  3393. * video/efi_gop.c: Likewise.
  3394. * video/efi_uga.c: Likewise.
  3395. * video/fb/video_fb.c: Likewise.
  3396. * video/i386/pc/vbe.c: Likewise.
  3397. * video/readers/tga.c: Likewise.
  3398. * video/video.c: Likewise.
  3399. 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
  3400. * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
  3401. * commands/lspci.c: Likewise.
  3402. * commands/probe.c: Likewise.
  3403. * commands/xnu_uuid.c: Likewise.
  3404. * conf/i386-coreboot.rmk: Likewise.
  3405. * conf/i386-efi.rmk: Likewise.
  3406. * conf/i386-ieee1275.rmk: Likewise.
  3407. * conf/i386-pc.rmk: Likewise.
  3408. * conf/powerpc-ieee1275.rmk: Likewise.
  3409. * conf/sparc64-ieee1275.rmk: Likewise.
  3410. * conf/x86_64-efi.rmk: Likewise.
  3411. * fs/i386/pc/pxe.c: Likewise.
  3412. * gettext/gettext.c: Likewise.
  3413. * include/grub/efi/graphics_output.h: Likewise.
  3414. * include/grub/i386/pc/memory.h: Likewise.
  3415. * kern/env.c: Likewise.
  3416. * kern/i386/qemu/startup.S: Likewise.
  3417. * lib/i386/pc/biosnum.c: Likewise.
  3418. * lib/i386/relocator.c: Likewise.
  3419. * lib/i386/relocator_asm.S: Likewise.
  3420. * lib/relocator.c: Likewise.
  3421. * loader/i386/bsd.c: Likewise.
  3422. * loader/i386/multiboot.c: Likewise.
  3423. * loader/i386/pc/chainloader.c: Likewise.
  3424. * loader/i386/xnu.c: Likewise.
  3425. * loader/xnu.c: Likewise.
  3426. * normal/main.c: Likewise.
  3427. * normal/menu_text.c: Likewise.
  3428. * util/getroot.c: Likewise.
  3429. * util/grub-mkconfig_lib.in: Likewise.
  3430. * util/grub.d/00_header.in: Likewise.
  3431. * util/i386/pc/grub-mkimage.c: Likewise.
  3432. * util/mkisofs/eltorito.c: Likewise.
  3433. * util/mkisofs/exclude.h: Likewise.
  3434. * util/mkisofs/hash.c: Likewise.
  3435. * util/mkisofs/iso9660.h: Likewise.
  3436. * util/mkisofs/joliet.c: Likewise.
  3437. * util/mkisofs/mkisofs.c: Likewise.
  3438. * util/mkisofs/mkisofs.h: Likewise.
  3439. * util/mkisofs/multi.c: Likewise.
  3440. * util/mkisofs/name.c: Likewise.
  3441. * util/mkisofs/rock.c: Likewise.
  3442. * util/mkisofs/tree.c: Likewise.
  3443. * util/mkisofs/write.c: Likewise.
  3444. * video/efi_gop.c: Likewise.
  3445. 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
  3446. * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
  3447. size counting.
  3448. 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
  3449. * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
  3450. * genmk.rb (class SCRIPT): Modify the target file instead of source.
  3451. 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
  3452. * commands/memrw.c (grub_cmd_write): Support for mask parameter.
  3453. (GRUB_MOD_INIT(memrw)): Update help line.
  3454. 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
  3455. * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
  3456. Use grub_extcmd_t. All users updated.
  3457. (options): New variable.
  3458. (grub_cmd_read): Restructure for readability. Support "-v" option.
  3459. (grub_cmd_write): Restructure for readability.
  3460. 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
  3461. * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
  3462. 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
  3463. * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
  3464. with the actual contents of the correspondending make variable.
  3465. * util/grub-mkrescue.in (pkglib_DATA): New variable.
  3466. (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
  3467. specifying `*.lst' and `efiemu??.o'
  3468. 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
  3469. * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
  3470. after function name.
  3471. Noticed by Rene Engelhard <rene@debian.org>.
  3472. 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
  3473. * commands/lspci.c (grub_pci_classes): Add "USB Controller".
  3474. (options): New variable.
  3475. (iospace): Likewise.
  3476. (grub_lspci_iter): List IO spaces if "-i" was given.
  3477. (grub_cmd_lspci): Parse options.
  3478. (GRUB_MOD_INIT(lspci)): Use extcmd.
  3479. (GRUB_MOD_FINI(lspci)): Likewise.
  3480. 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
  3481. * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
  3482. `function' keyword.
  3483. Patch by Tony Mancill <tmancill@debian.org>.
  3484. 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
  3485. * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
  3486. (grub_uhci_portstatus): Likewise.
  3487. (grub_uhci_portstatus): Add necessary delay.
  3488. * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
  3489. 2009-12-21 Carles Pina i Estany <carles@pina.cat>
  3490. * commands/acpi.c (options): Fix capitalizations and/or full stops.
  3491. (GRUB_MOD_INIT): Likewise.
  3492. * commands/boot.c (GRUB_MOD_INIT): Likewise.
  3493. * commands/cmp.c (grub_cmd_cmp): Improve the help message.
  3494. * commands/echo.c (options): Fix capitalizations and/or full stops.
  3495. * commands/efi/loadbios.c (enable_rom_area): Likewise.
  3496. (enable_rom_area): Likewise.
  3497. (GRUB_MOD_INIT): Likewise.
  3498. * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
  3499. * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
  3500. * commands/handler.c (GRUB_MOD_INIT): Likewise.
  3501. * commands/hdparm.c (options): Fix capitalizations and/or full stops.
  3502. * commands/hexdump.c (options): Likewise.
  3503. * commands/i386/cpuid.c (options): Likewise.
  3504. (GRUB_MOD_INIT): Likewise.
  3505. * commands/i386/pc/drivemap.c (options): Likewise.
  3506. (GRUB_MOD_INIT): Likewise.
  3507. * commands/i386/pc/halt (options): Likewise.
  3508. (GRUB_MOD_INIT): Likewise.
  3509. * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
  3510. * commands/i386/pc/pxecmd.c (options): Likewise.
  3511. * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
  3512. * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
  3513. * commands/keystatus.c (options): Likewise.
  3514. (GRUB_MOD_INIT): Likewise.
  3515. * commands/loadenv.c (options): Likewise.
  3516. * commands/ls.c (options): Likewise.
  3517. * commands/lspci.c (GRUB_MOD_INIT): Likewise.
  3518. * commands/memrw.c (GRUB_MOD_INIT): Likewise.
  3519. * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
  3520. * commands/parttool.c (helpmsg): Likewise.
  3521. * commands/probe.c (options): Likewise.
  3522. * commands/read.c (GRUB_MOD_INIT): Likewise.
  3523. * commands/reboot.c (GRUB_MOD_INIT): Likewise.
  3524. * commands/search.c (options): Likewise.
  3525. * commands/sleep.c (options): Likewise.
  3526. * commands/test.c (GRUB_MOD_INIT): Likewise.
  3527. * commands/true.c (GRUB_MOD_INIT): Likewise.
  3528. * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
  3529. * commands/videotest.c (GRUB_MOD_INIT): Likewise.
  3530. * lib/arg.c (help_options): Likewise.
  3531. * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
  3532. `$(XGETTEXT)'.
  3533. * po/POTFILES: Add `commands/loadenv.c'.
  3534. 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
  3535. * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
  3536. instead of specifying them explicit.
  3537. 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
  3538. * NEWS: Add grub-probe support for GNU/Hurd.
  3539. 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
  3540. * NEWS: gettext was added after 1.97.
  3541. 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
  3542. * util/mkisofs/msdos_partition.h: New file (based on
  3543. include/grub/msdos_partition.h).
  3544. * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
  3545. (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
  3546. (ld_options, main): Recognize --protective-msdos-label.
  3547. * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
  3548. * util/mkisofs/write.c: Include `"msdos_partition.h"'.
  3549. (padblock_write): If `use_protective_msdos_label' is set, patch a
  3550. protective DOS-style label in the output image.
  3551. * util/grub-mkrescue.in: Use --protective-msdos-label.
  3552. 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
  3553. * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
  3554. boot.
  3555. 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
  3556. * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
  3557. variables.
  3558. (ld_options, main): Recognize `--embedded-boot'.
  3559. * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
  3560. declarations.
  3561. * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
  3562. (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
  3563. (padblock_write): Likewise. Rewrite to support embedded boot image.
  3564. * util/grub-mkrescue.in: When building i386-pc images, embed core.img
  3565. for BIOS-based disk boot instead of only ElTorito.
  3566. 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
  3567. * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
  3568. build (not needed for bootstrap).
  3569. 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
  3570. * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
  3571. from i386-pc build (not needed for bootstrap).
  3572. Rewrite a pair of strings.
  3573. 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
  3574. * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
  3575. 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
  3576. * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
  3577. 2009-12-21 Andreas Born <futur.andy@googlemail.com>
  3578. * kern/env.c (grub_env_context_open): Mark exported variable for
  3579. reexport.
  3580. 2009-12-21 Andreas Born <futur.andy@googlemail.com>
  3581. * kern/env.c (grub_env_export): Create nonexistent variables before
  3582. exporting.
  3583. 2009-12-20 Carles Pina i Estany <carles@pina.cat>
  3584. * include/grub/auth.h: Include `<grub/i18n.h>'.
  3585. (GRUB_GET_PASSWORD): Gettextizze string.
  3586. * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
  3587. menu_text.c.
  3588. (grub_utf8_to_ucs4_alloc): Fix indentation.
  3589. (grub_print_ucs4): Likewise.
  3590. (grub_getstringwidth): Likewise.
  3591. (print_message_indented): New declaration.
  3592. * normal/auth.c: Include `<grub/i18n.h>'.
  3593. (grub_auth_check_authentication): Gettexttize string.
  3594. * normal/cmdline.c: Include `<grub/i18n.h>'.
  3595. (grub_cmdline_get): Gettextizze.
  3596. * normal/color.c: Include `<grub/i18n.h>'.
  3597. (grub_parse_color_name_pair): Gettexttize strings.
  3598. * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
  3599. string (use `print_message_indented').
  3600. * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
  3601. `include/grub/normal.h'.
  3602. (print_message_indented): Renamed to ...
  3603. (grub_print_message_indented): ... this. Remove `static' qualifer (now
  3604. used in normal/main.c).
  3605. (print_message): Use `grub_print_message_indented' instead of
  3606. `print_message_indented'.
  3607. (print_timeout): Likewise.
  3608. * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
  3609. (grub_normal_print_device_info): Gettexttize strings.
  3610. * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
  3611. 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
  3612. * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
  3613. of arguments. Return number of tokens and not arguments. All users
  3614. updated.
  3615. 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
  3616. * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
  3617. non-MSDOS paritions.
  3618. 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
  3619. * include/grub/types.h (UNUSED): Removed since it conflicts with
  3620. NetBSD headers. All users changed to direct __attribute__ ((unused)).
  3621. Reported by Grégoire Sutre.
  3622. 2009-12-19 Carles Pina i Estany <carles@pina.cat>
  3623. * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
  3624. (grub_print_ucs4_alloc): Likewise.
  3625. (grub_getstringwidth): Likewise.
  3626. * normal/main.c (grub_normal_init_page): Gettextize version string.
  3627. * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
  3628. (getstringwidth): Renamed to ...
  3629. (grub_getstringwidth): ... this. Remove `static' qualifier (now used
  3630. in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
  3631. (grub_print_ucs4): Remove `static' qualifer (now used in
  3632. normal/main.c).
  3633. * po/POTFILES: Add normal/main.c.
  3634. 2009-12-19 Carles Pina i Estany <carles@pina.cat>
  3635. * normal/menu_text.c (STANDARD_MARGIN): New macro.
  3636. (print_message_indented): Add `margin_left' and `margin_right'
  3637. parameters.
  3638. (print_message): Update `print_message_indented' calls. Adds '\n' to the
  3639. strings.
  3640. (print_timeout): Use `print_message_indented' to print the message.
  3641. Deletes `second_stage' parameter.
  3642. (run_menu): Update `print_timeout' calls.
  3643. 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
  3644. Fix console palette on OpenFirmware.
  3645. * term/ieee1275/ofconsole.c (MAX): Removed.
  3646. (colors): Redone based on VGA palette.
  3647. (grub_ofconsole_setcolor): Discard brightness bit since only 8
  3648. colors are supported.
  3649. (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
  3650. 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
  3651. Fix potential EfiEmu double prepare.
  3652. * efiemu/main.c (prepared): New variable
  3653. (grub_efiemu_unload): Set prepare to '0'.
  3654. (grub_efiemu_prepare): Return if already prepared. Set prepared.
  3655. set_virtual_address_map support.
  3656. * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
  3657. prototype.
  3658. * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
  3659. prototype.
  3660. (grub_efiemu_crc32): Likewise.
  3661. (grub_efiemu_crc64): Likewise.
  3662. (grub_efiemu_set_virtual_address_map): Likewise.
  3663. * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
  3664. New definition.
  3665. (grub_autoefi_set_virtual_address_map): Likewise.
  3666. * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
  3667. * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
  3668. Restructure flow to accomodate it.
  3669. * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
  3670. (grub_efiemu_crc): Recompute CRC32.
  3671. * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
  3672. (efiemu_ptv_relocated): ... this. Made global. All users updated.
  3673. * efiemu/symbols.c (relocated_handle): New variable.
  3674. (grub_efiemu_free_syms): Free relocated_handle.
  3675. (grub_efiemu_alloc_syms): Allocate relocated_handle.
  3676. (grub_efiemu_write_sym_markers): New function.
  3677. (grub_efiemu_set_virtual_address_map): Likewise.
  3678. Newer XNU parameters.
  3679. * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
  3680. * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
  3681. (grub_xnu_fill_devicetree): New prototype.
  3682. (grub_xnu_heap_real_start): New variable.
  3683. * loader/xnu.c (get_name_ptr): New function.
  3684. (grub_xnu_load_driver): Fill namelen and name.
  3685. 64-bit xnu support.
  3686. * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
  3687. and 'loader/macho64.c'.
  3688. * conf/i386-pc.rmk: Likewise.
  3689. * conf/x86_64-efi.rmk: Likewise.
  3690. * include/grub/i386/macho.h (grub_macho_thread64): New structure.
  3691. * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
  3692. * include/grub/macho.h (grub_macho_segment64): New structure.
  3693. * include/grub/machoload.h (grub_macho32_size): Renamed from ...
  3694. (grub_macho_size32): ... to this.
  3695. (grub_macho32_get_entry_point): Renamed from ...
  3696. (grub_macho_get_entry_point32): ... to this.
  3697. (grub_macho_contains_macho64): New prototype.
  3698. (grub_macho_size64): Likewise.
  3699. (grub_macho_get_entry_point64): Likewise.
  3700. (grub_macho32_load): Renamed from ...
  3701. (grub_macho_load32): ... to this.
  3702. (grub_macho32_filesize): Renamed from ...
  3703. (grub_macho_filesize32): ... to this.
  3704. (grub_macho32_readfile): Renamed from ...
  3705. (grub_macho_readfile32): ... to this.
  3706. (grub_macho_filesize64): New prototype.
  3707. (grub_macho_readfile64): Likewise.
  3708. (grub_macho_parse32): Likewise.
  3709. (grub_macho_parse64): Likewise.
  3710. * loader/macho.c: Split into ...
  3711. * loader/machoXX.c: ... and this. Replace 32 with XX.
  3712. * loader/macho32.c: New file.
  3713. * loader/macho64.c: Likewise.
  3714. * loader/xnu.c (grub_xnu_is_64bit): New variable.
  3715. (grub_cmd_xnu_kernel): Make 32-bit only.
  3716. (grub_cmd_xnu_kernel64): New function.
  3717. (grub_xnu_load_driver): Support Mach-O 64.
  3718. (grub_cmd_xnu_mkext): Likewise.
  3719. * util/grub.d/30_os-prober.in (osx_entry): New function.
  3720. Generate entries for 64-bit boot too.
  3721. Eliminate ad-hoc tree format in XNU and EfiEmu.
  3722. * efiemu/main.c (grub_efiemu_prepare): Update comment.
  3723. * efiemu/pnvram.c: Rewritten to use environment variables.
  3724. All users updated.
  3725. Inline utf16_to_utf8.
  3726. * kern/misc.c (grub_utf16_to_utf8): Move from here ...
  3727. * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
  3728. All users updated.
  3729. * include/grub/misc.h (grub_utf16_to_utf8): Removed.
  3730. * bus/usb/usb.c (grub_usb_get_string): Move from here ...
  3731. * commands/usbtest.c (grub_usb_get_string): ... move here.
  3732. (usb_print_str): Fix error handling.
  3733. * include/grub/usb.h (grub_usb_get_string): Remove.
  3734. UTF-8 to UTF-16 transformation.
  3735. * conf/common.rmk (pkglib_MODULES): Add charset.mod
  3736. (charset_mod_SOURCES): New variable.
  3737. (charset_mod_CFLAGS): Likewise.
  3738. (charset_mod_LDFLAGS): Likewise.
  3739. * include/grub/utf.h: New file.
  3740. * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
  3741. Support for device properties.
  3742. * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
  3743. (grub_xnu_devprop_device_header): Likewise.
  3744. (grub_xnu_devprop_device_descriptor): Likewise.
  3745. (grub_xnu_devprop_add_device): New prototype.
  3746. (grub_xnu_devprop_remove_device): Likewise.
  3747. (grub_xnu_devprop_remove_property): Likewise.
  3748. (grub_xnu_devprop_add_property_utf8): Likewise.
  3749. (grub_xnu_devprop_add_property_utf16): Likewise.
  3750. (grub_cpu_xnu_init): Likewise.
  3751. (grub_cpu_xnu_fini): Likewise.
  3752. (grub_cpu_xnu_unload): Likewise.
  3753. * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
  3754. (property_descriptor): Likewise.
  3755. (devices): New variable.
  3756. (grub_xnu_devprop_remove_property): New function.
  3757. (grub_xnu_devprop_add_device): Likewise.
  3758. (grub_xnu_devprop_remove_device): Likewise.
  3759. (grub_xnu_devprop_add_property): Likewise.
  3760. (grub_xnu_devprop_add_property_utf8): Likewise.
  3761. (grub_xnu_devprop_add_property_utf16): Likewise.
  3762. (hextoval): Likewise.
  3763. (grub_cpu_xnu_fill_devprop): Likewise.
  3764. (grub_cmd_devprop_load): Likewise.
  3765. (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
  3766. grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
  3767. (cmd_devprop_load): New variable.
  3768. (grub_cpu_xnu_init): New function.
  3769. (grub_cpu_xnu_fini): Likewise.
  3770. * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
  3771. * loader/xnu.c (grub_xnu_parse_devtree): Remove.
  3772. (grub_cmd_xnu_devtree): Likewise.
  3773. (hextoval): New function.
  3774. (unescape): Likewise.
  3775. (grub_xnu_fill_devicetree): Likewise.
  3776. * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
  3777. * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
  3778. 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
  3779. Workaround for broken ATI VBE.
  3780. * video/i386/pc/vbe.c (last_set_mode): New variable.
  3781. (grub_vbe_set_video_mode): Set 'last_set_mode'.
  3782. (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
  3783. (grub_video_vbe_setup): Don't check for reserved flag.
  3784. 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
  3785. * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
  3786. the `find' command.
  3787. 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
  3788. UUID support for HFS.
  3789. * fs/hfs.c (grub_hfs_uuid): New function.
  3790. (grub_hfs_fs): New value .uuid.
  3791. * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
  3792. 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
  3793. Fix a segfault with parsing unknown long options.
  3794. * util/grub-mkrelpath.c (options): Zero terminate it.
  3795. 2009-12-13 Carles Pina i Estany <carles@pina.cat>
  3796. * include/grub/misc.h (grub_puts): New declaration.
  3797. (grub_puts_): Likewise.
  3798. * kern/misc.c (grub_puts): New definition.
  3799. (grub_puts_): Likewise.
  3800. 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
  3801. * util/grub-probe.c (probe): Improve error message.
  3802. 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
  3803. * loader/i386/multiboot_elfxx.c
  3804. (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
  3805. initialization.
  3806. 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
  3807. Relocator framework
  3808. * loader/i386/xnu_helper.S: Removed. All users updated.
  3809. * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
  3810. (relocator_mod_SOURCES): New variable.
  3811. (relocator_mod_CFLAGS): Likewise.
  3812. (relocator_mod_LDFLAGS): Likewise.
  3813. (relocator_mod_ASFLAGS): Likewise.
  3814. * conf/x86_64.rmk: Likewise.
  3815. * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
  3816. (grub_multiboot_payload_entry_offset): Likewise.
  3817. (grub_multiboot_forward_relocator): Likewise.
  3818. (grub_multiboot_forward_relocator_end): Likewise.
  3819. (grub_multiboot_backward_relocator): Likewise.
  3820. (grub_multiboot_backward_relocator_end): Likewise.
  3821. (grub_multiboot_payload_eip): New variable.
  3822. (grub_multiboot_payload_orig): Likewise.
  3823. * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
  3824. (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
  3825. * include/grub/i386/memory.h
  3826. (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
  3827. (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
  3828. (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
  3829. (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
  3830. (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
  3831. * include/grub/i386/relocator.h: New file.
  3832. * include/grub/x86_64/relocator.h: Likewise.
  3833. * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
  3834. (XNU_RELOCATOR): New macro.
  3835. (grub_xnu_launcher_start): Remove.
  3836. (grub_xnu_launcher_end): Likewise.
  3837. * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
  3838. (grub_xnu_heap_real_start): Remove.
  3839. (grub_xnu_heap_start): Change to void *. All users updated.
  3840. * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
  3841. * lib/i386/relocator.c: New file.
  3842. * lib/i386/relocator_asm.S: Likewise.
  3843. * lib/i386/relocator_backward.S: Likewise.
  3844. * lib/mips/relocator.c: Likewise.
  3845. * lib/mips/relocator_asm.S: Likewise.
  3846. * lib/relocator.c: Likewise.
  3847. * loader/i386/multiboot.c: Include grub/i386/relocator.h.
  3848. (entry): Removed.
  3849. (playground): Likewise.
  3850. (grub_multiboot_payload_orig): New variable.
  3851. (grub_multiboot_payload_dest): Likewise.
  3852. (grub_multiboot_payload_size): Likewise.
  3853. (grub_multiboot_payload_eip): Likewise.
  3854. (grub_multiboot_payload_esp): Likewise.
  3855. (grub_multiboot_boot): Use grub_relocator32_boot.
  3856. (grub_multiboot_unload): Free relocators.
  3857. (grub_multiboot): Setup stack. Use relocators.
  3858. * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
  3859. (grub_multiboot_load_elfXX): Use relocators.
  3860. * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
  3861. (grub_multiboot_payload_size): Likewise.
  3862. (grub_multiboot_payload_dest): Likewise.
  3863. (grub_multiboot_payload_entry_offset): Likewise.
  3864. (grub_multiboot_forward_relocator): Likewise.
  3865. (grub_multiboot_backward_relocator): Likewise.
  3866. (grub_multiboot_real_boot): Likewise.
  3867. * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
  3868. (grub_xnu_entry_point): Likewise.
  3869. (grub_xnu_arg1): Likewise.
  3870. (grub_xnu_stack): Likewise.
  3871. (grub_xnu_launch): Removed.
  3872. (grub_xnu_boot_resume): New function.
  3873. (grub_xnu_boot): Use relocators.
  3874. * loader/i386/xnu_helper.S: Removed.
  3875. * loader/xnu.c (grub_xnu_heap_start): New variable.
  3876. (grub_xnu_heap_size): Likewise.
  3877. (grub_xnu_heap_malloc): Use relocators.
  3878. * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
  3879. 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
  3880. * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
  3881. anything.
  3882. 2009-12-13 Carles Pina i Estany <carles@pina.cat>
  3883. * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
  3884. GRUB_ERR_NONE before calling grub_env_set.
  3885. 2009-12-12 Robert Millan <rmh@aybabtu.com>
  3886. * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
  3887. * genmk.rb (video): New variable.
  3888. (CLEANFILES, VIDEOFILES): Add #{video}.
  3889. (#{video}): New target rule.
  3890. * genvideolist.sh: New file.
  3891. * Makefile.in (pkglib_DATA): Add video.lst.
  3892. (video.lst): New target rule.
  3893. * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
  3894. `video.lst'.
  3895. * util/grub.d/30_os-prober.in: Replace `vbe' with
  3896. ${GRUB_VIDEO_BACKEND}.
  3897. 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
  3898. * THANKS: Add David Miller.
  3899. 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
  3900. libpciaccess support.
  3901. * Makefile.in (LIBPCIACCESS): New variable.
  3902. (enable_grub_emu_pci): Likewise.
  3903. * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
  3904. util/pci.c and commands/lspci.c.
  3905. (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
  3906. * configure.ac (grub-emu-pci): New option.
  3907. * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
  3908. (grub_pci_device_unmap_range): Likewise.
  3909. * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
  3910. (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
  3911. (grub_pci_address_t) [!GRUB_UTIL]: New type.
  3912. (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
  3913. (grub_pci_get_bus) [!GRUB_UTIL]: New function.
  3914. (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
  3915. (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
  3916. * include/grub/pciutils.h: New file.
  3917. * util/pci.c: Likewise.
  3918. 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
  3919. * util/misc.c: Don't include <errno.h> twice.
  3920. 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
  3921. * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
  3922. name in an error message.
  3923. (grub_biosdisk_rw): Likewise.
  3924. 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
  3925. Eliminate NTFS 4Gib barrier.
  3926. * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
  3927. (read_run_data): Likewise.
  3928. (grub_ntfs_read_run_list): Likewise.
  3929. (grub_ntfs_read_block): Likewise.
  3930. (grub_ntfs_iterate_dir): Likewise.
  3931. (read_mft): Likewise.
  3932. (read_data): Likewise.
  3933. Use COM_LOG_LEN.
  3934. * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
  3935. to avoid 64-bit division
  3936. * include/grub/ntfs.h (COM_LOG_LEN): New definition.
  3937. (grub_ntfs_rlst): Use grub_disk_addr_t.
  3938. 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
  3939. Eliminate grub-fstest 4Gib barrier.
  3940. * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
  3941. (read_file): Fix error reporting.
  3942. 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
  3943. Eliminate hexdump 4Gib barrier.
  3944. * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
  3945. * lib/arg.c (grub_arg_parse): Use grub_strtoull.
  3946. 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
  3947. * kern/device.c (grub_device_iterate): Ignore errors during first scan.
  3948. Fixes amarsh bug.
  3949. 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
  3950. Remove miscellaneous files in distclean target.
  3951. * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
  3952. 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
  3953. * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
  3954. if they're already set. This resolves the conflict between my
  3955. grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
  3956. fixing the --grub-probe option again.
  3957. * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
  3958. change on 2009-10-06, so that we now once again source
  3959. `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
  3960. 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
  3961. * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
  3962. `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
  3963. `util/devicemap.c'.
  3964. 2009-12-08 Carles Pina i Estany <carles@pina.cat>
  3965. * include/grub/misc.h (grub_printf_): New declaration.
  3966. * kern/misc.c (grub_printf_): New definition.
  3967. * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
  3968. instead of `grub_printf' and `_'.
  3969. * normal/menu_entry.c (store_completion): Likewise.
  3970. (run): Likewise.
  3971. (grub_menu_entry_run): Likewise.
  3972. * normal/menu_text.c (grub_wait_after_message): Likewise.
  3973. (notify_booting): Likewise.
  3974. (notify_fallback): Likewise.
  3975. (notify_execution_failure): Likewise.
  3976. 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
  3977. * configure.ac: Check for vasprintf.
  3978. * util/misc.c (asprintf): Move allocation from here ...
  3979. (vasprintf): ... to here. New function.
  3980. (xasprintf): New function.
  3981. * include/grub/util/misc.h (vasprintf, xasprintf): Add
  3982. prototypes.
  3983. * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
  3984. * util/grub-mkfont.c (write_font): Likewise.
  3985. * util/grub-probe.c (probe): Likewise.
  3986. * util/hostdisk.c (make_device_name): Likewise.
  3987. 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
  3988. * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
  3989. anything even prefixed with 'cdrom' as a cdrom.
  3990. 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
  3991. * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
  3992. mount points.
  3993. 2009-12-05 Carles Pina i Estany <carles@pina.cat>
  3994. * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
  3995. grub_gettext_msg_list.
  3996. (grub_gettext_gettranslation_from_position): Return const char *
  3997. and not char *.
  3998. (grub_gettext_translate): Add the translated strings into a list,
  3999. returns from the list if existing there.
  4000. (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
  4001. (grub_gettext_delete_list): Delete the list.
  4002. (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
  4003. lang environment variable is changed.
  4004. (GRUB_MOD_FINI): Call grub_gettext_delete_list.
  4005. 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
  4006. Rename kernel.mod to kernel.img.
  4007. * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
  4008. (kernel_mod_EXPORTS): Rename to ...
  4009. (kernel_img_EXPORTS): ... this.
  4010. (kernel_mod_SOURCES): Rename to ...
  4011. (kernel_img_SOURCES): ... this.
  4012. (kernel_mod_HEADERS): Rename to ...
  4013. (kernel_img_HEADERS): ... this. All users updated.
  4014. (kernel_mod_CFLAGS): Rename to ...
  4015. (kernel_img_CFLAGS): ... this.
  4016. (kernel_mod_ASFLAGS): Rename to ...
  4017. (kernel_img_ASFLAGS): ... this.
  4018. (kernel_mod_LDFLAGS): Rename to ...
  4019. (kernel_img_LDFLAGS): ... this.
  4020. * conf/x86_64-efi.rmk: Likewise.
  4021. * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
  4022. (read_kernel_image): ... this. All users updated.
  4023. (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
  4024. 2009-12-05 Carles Pina i Estany <carles@pina.cat>
  4025. * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
  4026. (print_spaces): New function.
  4027. (grub_print_ucs4): New function.
  4028. (getstringwidth): New function.
  4029. (print_message_indented): New function.
  4030. (print_message): Gettexttize strings using print_message_indented.
  4031. (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
  4032. width.
  4033. (get_entry_number): Gettextize and uses dynamic terminal width.
  4034. (notify_booting, notify_fallback, notify_execution_failure):
  4035. Gettextize.
  4036. * normal/menu_entry.c (store_completion): Cleanup the gettextized
  4037. string.
  4038. (run): Likewise.
  4039. (grub_menu_entry_run): Likewise.
  4040. * PO/POTFILES: Add normal/menu_entry.c.
  4041. 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
  4042. * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
  4043. 2009-12-05 Carles Pina i Estany <carles@pina.cat>
  4044. * util/grub-install.in: Install gettext .mo files.
  4045. * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
  4046. 2009-12-05 Carles Pina i Estany <carles@pina.cat>
  4047. * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
  4048. grub_dprintf.
  4049. 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
  4050. * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
  4051. non-firmware-dependant one in realmode.S takes precedence.
  4052. 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
  4053. * commands/halt.c: Replace misc arch-specific headers with
  4054. `<grub/misc.h>'.
  4055. * commands/reboot.c: Likewise.
  4056. * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
  4057. `<grub/misc.h>'.
  4058. * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
  4059. (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
  4060. (kernel_img_SOURCES): ... to here.
  4061. * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
  4062. * include/grub/i386/pc/init.h: Likewise.
  4063. * include/grub/powerpc/ieee1275/kernel.h: Likewise.
  4064. * include/grub/sparc64/ieee1275/kernel.h: Likewise.
  4065. * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
  4066. * include/grub/i386/halt.h: Remove.
  4067. * include/grub/i386/reboot.h: Likewise.
  4068. * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
  4069. 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
  4070. * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
  4071. grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
  4072. * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
  4073. "progname.h"
  4074. * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
  4075. * util/sparc64/ieee1275/grub-setup.c: Likewise.
  4076. (usage): Add missing comma in printf.
  4077. 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
  4078. Use the same reboot approach on i386 coreboot and qemu as we do on
  4079. BIOS.
  4080. * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
  4081. (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
  4082. * kern/i386/reboot.c: Remove.
  4083. * include/grub/i386/reboot.h (grub_reboot): Export function.
  4084. * kern/i386/pc/startup.S (grub_reboot): Move from here ...
  4085. * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
  4086. 0xf000:0xfff0 instead of 0xffff:0x0000.
  4087. [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
  4088. * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
  4089. 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
  4090. Fix $srcdir != $objdir build.
  4091. * Makefile.in (po/%.po): Rewrite as ...
  4092. ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
  4093. 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
  4094. Fix GNU/Hurd grub-install crash.
  4095. * util/grub-probe.c (probe): Try to access `path' only when it is not
  4096. NULL.
  4097. 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
  4098. Correct module naming.
  4099. * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
  4100. (GRUB_MOD_INIT(efi_uga)): ... to this
  4101. (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
  4102. (GRUB_MOD_FINI(efi_uga)): ... to this
  4103. * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
  4104. (GRUB_MOD_INIT(efi_gop)): ... to this
  4105. (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
  4106. (GRUB_MOD_FINI(efi_gop)): ... to this
  4107. 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
  4108. * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
  4109. translatable.
  4110. (usage): Translate `arg' strings using gettext().
  4111. Thanks to Jordi Mallach for the suggestion.
  4112. 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
  4113. GOP support. Based on patch from Bean
  4114. (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
  4115. * video/efi_gop.c: New file.
  4116. * include/grub/efi/graphics_output.h: Likewise.
  4117. * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
  4118. (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
  4119. variables.
  4120. * conf/x86_64-efi.rmk: Likewise.
  4121. 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
  4122. Rename efi_fb to efi_uga.
  4123. * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
  4124. 'efi_uga.mod'.
  4125. (efi_fb_mod_SOURCES): Rename this ...
  4126. (efi_uga_mod_SOURCES): ... to this.
  4127. (efi_fb_mod_CFLAGS): Rename this ...
  4128. (efi_uga_mod_CFLAGS): ... to this.
  4129. (efi_fb_mod_LDFLAGS): Rename this ...
  4130. (efi_uga_mod_LDFLAGS): ... to this.
  4131. * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
  4132. 'efi_uga.mod'.
  4133. (efi_fb_mod_SOURCES): Rename this ...
  4134. (efi_uga_mod_SOURCES): ... to this.
  4135. (efi_fb_mod_CFLAGS): Rename this ...
  4136. (efi_uga_mod_CFLAGS): ... to this.
  4137. (efi_fb_mod_LDFLAGS): Rename this ...
  4138. (efi_uga_mod_LDFLAGS): ... to this.
  4139. * video/efi_fb.c: Move this ...
  4140. * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
  4141. 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
  4142. * po/README: New file. Explain our PO file workflow.
  4143. 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
  4144. * po/ChangeLog: Remove. Move relevant entries back to ...
  4145. * ChangeLog: ... here.
  4146. * po/ca.po: Remove (now handled by TLP).
  4147. * po/id.po: Likewise.
  4148. * po/zh_CN.po: Likewise.
  4149. * Makefile.in (LINGUAS): Initialize in a way that supports
  4150. empty set.
  4151. 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
  4152. * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
  4153. reliing on po/LINGUAS.
  4154. ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
  4155. (po/%.po): ... this.
  4156. 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
  4157. * util/i386/efi/grub-mkimage.c: Include "progname.h".
  4158. (main): Use `program_name' instead of nonexistent `progname'.
  4159. 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
  4160. * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
  4161. * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
  4162. 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
  4163. * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
  4164. commit.
  4165. * conf/i386-efi.rmk: Likewise.
  4166. * conf/i386-ieee1275.rmk: Likewise.
  4167. * conf/powerpc-ieee1275.rmk: Likewise.
  4168. * conf/sparc64-ieee1275.rmk: Likewise.
  4169. * conf/x86_64-efi.rmk: Likewise.
  4170. 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
  4171. * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
  4172. 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
  4173. * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
  4174. 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
  4175. * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
  4176. (grub_mkdevicemap_SOURCES): New variable.
  4177. (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
  4178. (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
  4179. (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
  4180. * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
  4181. (grub_mkdevicemap_SOURCES): Remove.
  4182. * conf/i386-efi.rmk: Likewise.
  4183. * conf/i386-ieee1275.rmk: Likewise.
  4184. * conf/i386-pc.rmk: Likewise.
  4185. * conf/powerpc-ieee1275.rmk: Likewise.
  4186. * conf/sparc64-ieee1275.rmk: Likewise.
  4187. * conf/x86_64-efi.rmk: Likewise.
  4188. * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
  4189. (usage): Fix strings to use `program_name'.
  4190. (main): Initialize gettext.
  4191. * util/grub-editenv.c: Likewise.
  4192. * util/grub-emu.c: Likewise.
  4193. * util/grub-fstest.c: Likewise.
  4194. * util/grub-mkdevicemap.c: Likewise.
  4195. * util/grub-mkfont.c: Likewise.
  4196. * util/grub-mkrelpath.c: Likewise.
  4197. * util/grub-pe2elf.c: Likewise.
  4198. * util/grub-probe.c: Likewise.
  4199. * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
  4200. * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
  4201. * util/sparc64/ieee1275/grub-setup.c: Likewise.
  4202. * util/misc.c: Include `"progname.h"'.
  4203. (progname): Remove variable.
  4204. (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
  4205. 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
  4206. * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
  4207. printf and print a newline after the menuentry header line.
  4208. * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
  4209. 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
  4210. autoconf >= 2.60 support $(localedir).
  4211. * INSTALL: Note that autoconf 2.60 is required.
  4212. * configure.ac (AC_PREREQ): Bump to 2.60.
  4213. * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
  4214. * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
  4215. 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
  4216. * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
  4217. aclocal is run.
  4218. 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
  4219. * normal/main.c (grub_normal_read_line): Fix off-by-one
  4220. buffer overflow.
  4221. 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
  4222. * normal/main.c (grub_normal_execute): Replace "parser.sh" with
  4223. "parser.grub" in grub_command_execute() call.
  4224. 2009-11-24 Carles Pina i Estany <carles@pina.cat>
  4225. * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
  4226. * conf/i386-efi.rmk: Likewise.
  4227. * conf/i386-ieee1275.rmk: Likewise.
  4228. * conf/i386-pc.rmk: Likewise.
  4229. * conf/powerpc-ieee1275.rmk: Likewise.
  4230. * conf/sparc64-ieee1275.rmk: Likewise.
  4231. * conf/x86_64-efi.rmk: Likewise.
  4232. * gettext/gettex.c: Include <grub/i18n.h>.
  4233. * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
  4234. here ...
  4235. * include/grub/i18n.h: ... to here
  4236. * include/grub/i18n.h: ... to here.
  4237. * kern/misc.c: Include <grub/i18n.h>
  4238. (grub_gettext_dummy): Move above user.
  4239. 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
  4240. * util/Makefile.in (install-local): Convert a `for' into a normal
  4241. shell expansion.
  4242. 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
  4243. * autogen.sh: Add automake call.
  4244. * config.guess: Remove.
  4245. * config.sub: Likewise.
  4246. * install-sh: Likewise.
  4247. 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
  4248. * util/Makefile.in (install-local): Fix the use of $lang shell variable.
  4249. 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
  4250. * util/Makefile.in (install-local): Convert a make `$(foreach)'
  4251. function to a normal shell `for'.
  4252. 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
  4253. * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
  4254. 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
  4255. * util/grub-mkrelpath.c: New file.
  4256. * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
  4257. (grub_mkrelpath_SOURCES): New variable.
  4258. * include/grub/util/misc.h: New function prototype.
  4259. * util/misc.c (make_system_path_relative_to_its_root): New function.
  4260. * util/grub-mkconfig_lib.in (bindir): New variable.
  4261. (grub_mkrelpath): Likewise.
  4262. (make_system_path_relative_to_its_root): Use grub-mkrelpath.
  4263. * util/probe.c (probe): Make the file path relative to its root.
  4264. Change a info message to use the GRUB path. Enable again the
  4265. check if we can read the file with GRUB facilities.
  4266. * util/i386/pc/grub-setup.c (setup): Make core.img path relative
  4267. to its root.
  4268. 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
  4269. * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
  4270. platform.
  4271. 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
  4272. * util/getroot.c (grub_util_get_dev_abstraction): Properly use
  4273. strncmp().
  4274. 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
  4275. * util/getroot.c (grub_util_is_dmraid): New function.
  4276. (grub_util_get_dev_abstraction): Treat dmraid and multipath
  4277. devices as normal ones, not as LVM.
  4278. 2009-11-23 Carles Pina i Estany <carles@pina.cat>
  4279. * conf/common.rmk: Add grub-gettext_lib target and updates
  4280. lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
  4281. LDFLAGS.
  4282. * gettext/gettext.c: New file. (Reads mo files).
  4283. * include/grub/file.h (grub_file_pread): New prototype.
  4284. * include/grub/i18n.h (_): New prototype.
  4285. * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
  4286. prototypes.
  4287. * kern/misc.c (grub_gettext_dummy): New function.
  4288. * normal/menu_text.c: Include <grub/i18n.h>.
  4289. * normal/menu_text.c (print_timeout): Gettexttize string.
  4290. * normal/menu_text.c (print_message): Gettexttize string.
  4291. * po/POTFILES: Add `normal/menu_text.c'.
  4292. * po/ca.po: Add new translations.
  4293. * util/grub.d/00_header.in: Define locale_dir and lang. insmod
  4294. gettext module and defines locale_dir and lang in grub.cfg.
  4295. * NEWS: Add gettext support.
  4296. 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
  4297. * util/hostdisk.c: Include `<grub/i18n.h>'.
  4298. (find_grub_drive): Use ARRAY_SIZE for map size calculation.
  4299. (make_device_name): Rewrite using asprintf.
  4300. (convert_system_partition_to_system_disk): Replace 0 with NULL.
  4301. (find_system_device): If a device is not found, generate one just
  4302. by reusing the OS path name.
  4303. (read_device_map): Make it permissible for device.map not to exist.
  4304. 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
  4305. * script/sh/execute.c: Move from here ...
  4306. * script/execute.c: ... to here. Update all users.
  4307. * script/sh/function.c: Move from here ...
  4308. * script/function.c: ... to here. Update all users.
  4309. * script/sh/lexer.c: Move from here ...
  4310. * script/lexer.c: ... to here. Update all users.
  4311. * script/sh/main.c: Move from here ...
  4312. * script/main.c: ... to here. Update all users.
  4313. * script/sh/parser.y: Move from here ...
  4314. * script/parser.y: ... to here. Update all users.
  4315. * script/sh/script.c: Move from here ...
  4316. * script/script.c: ... to here. Update all users.
  4317. 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
  4318. * configure.ac: Detect all `emu' platforms. Define
  4319. GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
  4320. --enable-grub-emu logic. Disable include/grub/machine
  4321. symlink on `emu' platforms.
  4322. * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
  4323. * gensymlist.sh.in: Likewise.
  4324. * include/grub/i386/coreboot/machine.h: Remove file.
  4325. * include/grub/i386/efi/machine.h: Likewise.
  4326. * include/grub/i386/ieee1275/machine.h: Likewise.
  4327. * include/grub/i386/pc/machine.h: Likewise.
  4328. * include/grub/i386/qemu/machine.h: Likewise.
  4329. * include/grub/powerpc/ieee1275/machine.h: Likewise.
  4330. * include/grub/sparc64/ieee1275/machine.h: Likewise.
  4331. * include/grub/x86_64/efi/machine.h: Likewise.
  4332. * commands/acpi.c: Remove `<grub/machine/machine.h>'.
  4333. * commands/halt.c: Likewise.
  4334. * commands/reboot.c: Likewise.
  4335. * include/grub/autoefi.h: Likewise.
  4336. * include/grub/i386/at_keyboard.h: Likewise.
  4337. * include/grub/i386/kernel.h: Likewise.
  4338. * include/grub/i386/loader.h: Likewise.
  4339. * include/grub/i386/pc/memory.h: Likewise.
  4340. * kern/dl.c: Likewise.
  4341. * kern/i386/coreboot/init.c: Likewise.
  4342. * loader/i386/bsd.c: Likewise.
  4343. * loader/i386/linux.c: Likewise.
  4344. * loader/multiboot_loader.c: Likewise.
  4345. * term/i386/pc/serial.c: Likewise.
  4346. * term/usb_keyboard.c: Likewise.
  4347. * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
  4348. `<grub/machine/machine.h>'
  4349. [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
  4350. * util/misc.c: Remove `<grub/machine/machine.h>' and
  4351. `<grub/machine/time.h>'.
  4352. * Makefile.in (enable_grub_emu): Remove variable.
  4353. Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
  4354. * conf/any-emu.rmk: New file.
  4355. * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
  4356. (grub_emu_init.c): Move from here ...
  4357. * conf/any-emu.rmk: ... to here.
  4358. * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
  4359. (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
  4360. * conf/any-emu.rmk: ... to here.
  4361. 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
  4362. * include/grub/parser.h (grub_parser_register): Document need
  4363. of `name' parameter.
  4364. * normal/main.c (grub_normal_read_line): Simplify prompt string.
  4365. * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
  4366. "sh" to "grub".
  4367. 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
  4368. * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
  4369. `$(XGETTEXT)'.
  4370. * include/grub/i18n.h (N_): New macro.
  4371. * util/mkisofs/mkisofs.h: Likewise.
  4372. * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
  4373. around N_().
  4374. (usage): Use gettext() to translate help strings when printing them.
  4375. 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
  4376. Based on patch from Bean
  4377. (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
  4378. * video/efi_fb.c: New file.
  4379. * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
  4380. (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
  4381. variables.
  4382. * conf/x86_64-efi.rmk: Likewise.
  4383. 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
  4384. * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
  4385. * util/i386/pc/grub-setup.c: Likewise.
  4386. 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
  4387. * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
  4388. <hurd/fs.h>
  4389. [__GNU__] (grub_guess_root_device): Call file_name_lookup and
  4390. file_get_storage_info to implement grub_guess_root_device.
  4391. 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
  4392. * Makefile.in (target): Use make's builtin $(shell) function
  4393. instead of calling directly $(SHELL) to create the locale directories,
  4394. inside the $(foreach) function.
  4395. 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
  4396. * util/grub-mkrescue.in: Print an error and usage if output option
  4397. has not been given.
  4398. 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
  4399. Patch from Loïc Minier <loic.minier@ubuntu.com>.
  4400. * util/grub.d/30_os-prober.in: Cope with Linux entries where
  4401. root and /boot are on different devices.
  4402. 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
  4403. Fix build for srcdir != objdir.
  4404. * Makefile.in (po/$(PACKAGE).pot): Rename to ...
  4405. ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
  4406. $(srcdir).
  4407. ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
  4408. ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
  4409. reference for input.
  4410. 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
  4411. * util/grub-mkrescue.in: Use source directory direcly (without copiing
  4412. or hardlinking it). Remove -J option, Joliet is not compatible with
  4413. multiple source directories.
  4414. 2009-11-21 Carles Pina i Estany <carles@pina.cat>
  4415. 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
  4416. * util/grub-mkrescue.in: Recognize `--override-directory' option.
  4417. (process_input_dir): New function. Process an arbitrary input
  4418. directory.
  4419. Misc adjustments to support both "override mode" and system-wide mode.
  4420. 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
  4421. * configure.ac (UNIFONT_BDF): Rename to ...
  4422. (FONT_SOURCE): ... this. Update all users.
  4423. 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
  4424. * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
  4425. to the list of unifont files to look for.
  4426. 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
  4427. Patch from Joe Auricchio <jauricchio@gmail.com>
  4428. * commands/minicmd.c (grub_mini_cmd_clear): New function.
  4429. (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
  4430. (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
  4431. 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
  4432. * Makefile.in (install-local): Add a missing backslash.
  4433. 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
  4434. * include/grub/x86_64/io.h: New file.
  4435. 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
  4436. * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
  4437. * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
  4438. Include `"progname.h"'.
  4439. (main): Initialize gettext.
  4440. * util/i386/pc/grub-setup.c: Gettexttize.
  4441. * util/i386/pc/grub-mkimage.c: Likewise.
  4442. * Makefile.in (po/*.po): Redefine as ...
  4443. ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
  4444. * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
  4445. 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
  4446. * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
  4447. * util/mkisofs/mkisofs.c: Include `"progname.h"'.
  4448. (program_name): Remove.
  4449. (main): Initialize gettext support.
  4450. * util/mkisofs/mkisofs.h: Include `<locale.h>'.
  4451. Include `<libintl.h>'.
  4452. (_): New macro.
  4453. * util/mkisofs/eltorito.c: Gettexttize.
  4454. * util/mkisofs/joliet.c: Likewise.
  4455. * util/mkisofs/mkisofs.c: Likewise.
  4456. * util/mkisofs/multi.c: Likewise.
  4457. * util/mkisofs/rock.c: Likewise.
  4458. * util/mkisofs/tree.c: Likewise.
  4459. * util/mkisofs/write.c: Likewise.
  4460. * po/POTFILES: Update with new files.
  4461. 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
  4462. * util/mkisofs/eltorito.c: Fix minor mistake in license text.
  4463. * util/mkisofs/iso9660.h: Likewise.
  4464. * util/mkisofs/joliet.c: Likewise.
  4465. * util/mkisofs/mkisofs.c: Likewise.
  4466. * util/mkisofs/mkisofs.h: Likewise.
  4467. * util/mkisofs/rock.c: Likewise.
  4468. * util/mkisofs/tree.c: Likewise.
  4469. * util/mkisofs/write.c: Likewise.
  4470. * util/mkisofs/eltorito.c (rcsid): Remove.
  4471. * util/mkisofs/hash.c: Likewise.
  4472. * util/mkisofs/joliet.c: Likewise.
  4473. * util/mkisofs/name.c: Likewise.
  4474. * util/mkisofs/rock.c: Likewise.
  4475. * util/mkisofs/tree.c: Likewise.
  4476. * util/mkisofs/write.c: Likewise.
  4477. 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
  4478. * util/mkisofs/match.c: Rewrite from scratch, using a linked list
  4479. instead of static allocation.
  4480. * util/mkisofs/match.h: Likewise.
  4481. 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
  4482. * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
  4483. and `util/grub.d/10_linux.in'.
  4484. * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
  4485. translatable Shell files.
  4486. 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
  4487. * Makefile.in ($(srcdir)/aclocal.m4): New target.
  4488. 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
  4489. * INSTALL: Document Automake is needed for bootstrap.
  4490. * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
  4491. * util/grub.d/10_kfreebsd.in (bindir): New variable.
  4492. Add gettext initialization.
  4493. (kfreebsd_entry): Make menuentry output translatable.
  4494. 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
  4495. * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
  4496. (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
  4497. (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
  4498. (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
  4499. (LINGUAS): Auto-generate using `po/LINGUAS'.
  4500. * po/LINGUAS: New file.
  4501. 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
  4502. * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
  4503. other things).
  4504. * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
  4505. * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
  4506. bindtextdomain() calls for gettext initialization.
  4507. 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
  4508. * gnulib/progname.c: New file (imported from Gnulib).
  4509. * gnulib/progname.h: Likewise.
  4510. * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
  4511. * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
  4512. (usage): Replace `progname' with `program_name'.
  4513. (main): Use set_program_name() for program name initialization.
  4514. 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
  4515. * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
  4516. from here ...
  4517. * Makefile.in (CPPFLAGS): ... to here.
  4518. 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
  4519. * aclocal.m4: Move from here ...
  4520. * acinclude.m4: ... to here.
  4521. * autogen.sh: Add call to `aclocal'.
  4522. * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
  4523. 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
  4524. * Makefile.in (CLEANFILES): Add `po/*.mo'.
  4525. (LINGUAS): New variable.
  4526. (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
  4527. (install-local): Install MO files.
  4528. (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
  4529. * include/grub/i18n.h: New file.
  4530. * po/POTFILES: New file.
  4531. * po/ca.po: New file.
  4532. * util/grub.d/10_linux.in (bindir): New variable.
  4533. Add gettext initialization.
  4534. (linux_entry): Make menuentry output translatable.
  4535. * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
  4536. (usage): Make --help output translatable.
  4537. (main): Initialize gettext.
  4538. 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
  4539. * import_gcry.py: New file (written by Vladimir with minor
  4540. adjustments).
  4541. * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
  4542. ciphers.
  4543. * INSTALL: Document that Python is required for bootstrap.
  4544. 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
  4545. Import ciphers from libgcrypt 1.4.4.
  4546. * lib/libgcrypt/cipher/ChangeLog
  4547. * lib/libgcrypt/cipher/ac.c
  4548. * lib/libgcrypt/cipher/arcfour.c
  4549. * lib/libgcrypt/cipher/bithelp.h
  4550. * lib/libgcrypt/cipher/blowfish.c
  4551. * lib/libgcrypt/cipher/camellia-glue.c
  4552. * lib/libgcrypt/cipher/camellia.c
  4553. * lib/libgcrypt/cipher/camellia.h
  4554. * lib/libgcrypt/cipher/cast5.c
  4555. * lib/libgcrypt/cipher/cipher.c
  4556. * lib/libgcrypt/cipher/crc.c
  4557. * lib/libgcrypt/cipher/des.c
  4558. * lib/libgcrypt/cipher/dsa.c
  4559. * lib/libgcrypt/cipher/ecc.c
  4560. * lib/libgcrypt/cipher/elgamal.c
  4561. * lib/libgcrypt/cipher/hash-common.c
  4562. * lib/libgcrypt/cipher/hash-common.h
  4563. * lib/libgcrypt/cipher/hmac-tests.c
  4564. * lib/libgcrypt/cipher/md.c
  4565. * lib/libgcrypt/cipher/md4.c
  4566. * lib/libgcrypt/cipher/md5.c
  4567. * lib/libgcrypt/cipher/primegen.c
  4568. * lib/libgcrypt/cipher/pubkey.c
  4569. * lib/libgcrypt/cipher/rfc2268.c
  4570. * lib/libgcrypt/cipher/rijndael-tables.h
  4571. * lib/libgcrypt/cipher/rijndael.c
  4572. * lib/libgcrypt/cipher/rmd.h
  4573. * lib/libgcrypt/cipher/rmd160.c
  4574. * lib/libgcrypt/cipher/rsa.c
  4575. * lib/libgcrypt/cipher/seed.c
  4576. * lib/libgcrypt/cipher/serpent.c
  4577. * lib/libgcrypt/cipher/sha1.c
  4578. * lib/libgcrypt/cipher/sha256.c
  4579. * lib/libgcrypt/cipher/sha512.c
  4580. * lib/libgcrypt/cipher/tiger.c
  4581. * lib/libgcrypt/cipher/twofish.c
  4582. * lib/libgcrypt/cipher/whirlpool.c
  4583. 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
  4584. Fix build for systems without error().
  4585. * gnulib/error.c: New file (imported from Gnulib).
  4586. * gnulib/error.h: Likewise.
  4587. * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
  4588. * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
  4589. (this variable is now used by error()).
  4590. 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
  4591. * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
  4592. instead of relying that char is signed.
  4593. 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
  4594. * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
  4595. blocksize different from specified.
  4596. (grub_pxefs_read): Likewise.
  4597. 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
  4598. Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
  4599. * disk/ata.c (grub_ata_dumpinfo): Add a cast.
  4600. (grub_ata_readwrite): Likewise. Update 2 format strings.
  4601. (grub_atapi_read): Likewise.
  4602. * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
  4603. * conf/i386.rmk (pkglib_MODULES): ... to here ...
  4604. * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
  4605. * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
  4606. (ata_mod_LDFLAGS): Move from here ...
  4607. * conf/i386.rmk: ... to here ...
  4608. * conf/x86_64-efi.rmk: ... and here.
  4609. * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
  4610. (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
  4611. 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
  4612. Relicense multiboot.h, with RMS' blessing.
  4613. * include/multiboot.h: Change to X11 license.
  4614. 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
  4615. Support --version in grub-mkisofs.
  4616. * util/mkisofs/mkisofs.c (rcsid): Remove variable.
  4617. (OPTION_VERSION): New macro.
  4618. (ld_options): Recognize --version.
  4619. (usage): Move `program_name' from here ...
  4620. (program_name): ... to here. Add `static' qualifier.
  4621. (main): Recognize `OPTION_VERSION'.
  4622. 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
  4623. * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
  4624. with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
  4625. 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
  4626. Fix help2man generation for mkisofs.
  4627. * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
  4628. (usage): Send output to stdout (rather than stderr).
  4629. 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
  4630. * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
  4631. `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
  4632. * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
  4633. `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
  4634. (bin_SCRIPTS): Add `grub-mkfloppy'.
  4635. (grub_mkfloppy_SOURCES): New variable.
  4636. * util/grub-mkrescue.in: New file.
  4637. * util/i386/pc/grub-mkfloppy.in: New file.
  4638. * util/i386/coreboot/grub-mkrescue.in: Remove.
  4639. * util/i386/pc/grub-mkrescue.in: Remove.
  4640. 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
  4641. * include/grub/multiboot.h (struct grub_multiboot_header): Move
  4642. from here ...
  4643. * include/multiboot.h (struct multiboot_header): ... to here. Update
  4644. all users.
  4645. * include/grub/multiboot.h (struct grub_multiboot_info): Move
  4646. from here ...
  4647. * include/multiboot.h (struct multiboot_info): ... to here. Update
  4648. all users.
  4649. * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
  4650. from here ...
  4651. * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
  4652. Update all users.
  4653. * include/grub/multiboot.h (struct grub_mod_list): Move
  4654. from here ...
  4655. * include/multiboot.h (struct multiboot_mod_list): ... to here.
  4656. Update all users.
  4657. 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
  4658. * include/multiboot2.h (multiboot_word): Rename from this ...
  4659. (multiboot2_word): ... to this. Update all users.
  4660. (multiboot_header): Rename from this ...
  4661. (multiboot2_header): ... to this. Update all users.
  4662. (multiboot_tag_header): Rename from this ...
  4663. (multiboot2_tag_header): ... to this. Update all users.
  4664. (multiboot_tag_start): Rename from this ...
  4665. (multiboot2_tag_start): ... to this. Update all users.
  4666. (multiboot_tag_name): Rename from this ...
  4667. (multiboot2_tag_name): ... to this. Update all users.
  4668. (multiboot_tag_module): Rename from this ...
  4669. (multiboot2_tag_module): ... to this. Update all users.
  4670. (multiboot_tag_memory): Rename from this ...
  4671. (multiboot2_tag_memory): ... to this. Update all users.
  4672. (multiboot_tag_unused): Rename from this ...
  4673. (multiboot2_tag_unused): ... to this. Update all users.
  4674. (multiboot_tag_end): Rename from this ...
  4675. (multiboot2_tag_end): ... to this. Update all users.
  4676. 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
  4677. Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
  4678. this platform we should support Multiboot1 first.
  4679. * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
  4680. (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
  4681. (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
  4682. 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
  4683. * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
  4684. of write calls (converting them to fwrite() if they aren't already).
  4685. (get_torito_desc): Likewise.
  4686. * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
  4687. 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
  4688. * util/i386/pc/grub-install.in: Move from here ...
  4689. * util/grub-install.in: ... to here. Update all users.
  4690. 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
  4691. * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
  4692. 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
  4693. Support for El Torito without floppy emulation.
  4694. * util/mkisofs/eltorito.c: Include `<errno.h>'.
  4695. (init_boot_catalog): Improve error handling.
  4696. (get_torito_desc): Don't use floppy emulation unless requested by
  4697. user. Patch boot information table when requested via
  4698. `-boot-info-table'.
  4699. * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
  4700. * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
  4701. (use_boot_info_table): New variables.
  4702. (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
  4703. (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
  4704. (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
  4705. `--eltorito-emul-floppy'.
  4706. (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
  4707. and `OPTION_ELTORITO_EMUL_FLOPPY'.
  4708. * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
  4709. (use_boot_info_table, get_731): New prototypes.
  4710. * util/mkisofs/write.c (get_731): New function.
  4711. 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
  4712. Fix the generation of the man page.
  4713. * util/pc/i386/grub-install.in: Source
  4714. `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
  4715. 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
  4716. Large file support for grub-mkisofs.
  4717. * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
  4718. * util/mkisofs/mkisofs.c (next_extent, last_extent)
  4719. (session_start): Upgrade type to `uint64_t'. Update all users.
  4720. * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
  4721. (struct directory_entry): Upgrade type of `starting_block' and
  4722. `size' to `uint64_t'. Update all users.
  4723. (struct deferred): Remove unused structure.
  4724. (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
  4725. Update all users.
  4726. * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
  4727. file is larger than `UINT32_MAX'.
  4728. * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
  4729. `size' to `uint64_t'. Update all users. Fix handling of fwrite()
  4730. return value.
  4731. (struct deferred_write): Upgrade type of `extent' and `size' to
  4732. `uint64_t'. Update all users.
  4733. (last_extent_written): Upgrade type to `uint64_t'. Update all
  4734. users.
  4735. (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
  4736. Update all users. Upgrade type of `remain' to `int64_t' and
  4737. `use' to `size_t'. Use error() to handle fread() errors.
  4738. (write_files): Rely on write_one_file() rather than calling
  4739. xfwrite() directly.
  4740. 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
  4741. * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
  4742. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4743. * util/mkisofs/fnmatch.c: Remove.
  4744. * util/mkisofs/getopt1.c: Likewise.
  4745. * util/mkisofs/getopt.c: Likewise.
  4746. * conf/common.rmk (grub_mkisofs_SOURCES): Replace
  4747. `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
  4748. `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
  4749. `gnulib/getopt1.c' and `gnulib/getopt.c'.
  4750. (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
  4751. * configure.ac: Detect `mingw32msvc' host_os.
  4752. Check for lstat(), getuid() and getgid().
  4753. * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
  4754. instances of `u_char' with `uint8_t'.
  4755. * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
  4756. [!HAVE_GETUID] (getuid): New function (stub).
  4757. [!HAVE_GETGID] (getgid): Likewise.
  4758. [!HAVE_LSTAT] (lstat): Likewise.
  4759. [!S_IROTH] (S_IROTH): New macro (dummy).
  4760. [!S_IRGRP] (S_IRGRP): Likewise.
  4761. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4762. * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
  4763. conditional expression).
  4764. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4765. Import from Gnulib.
  4766. * gnulib/fnmatch.c: New file.
  4767. * gnulib/fnmatch.h: Likewise.
  4768. * gnulib/fnmatch_loop.c: Likewise.
  4769. * gnulib/getopt.c: Likewise.
  4770. * gnulib/getopt.h: Likewise.
  4771. * gnulib/getopt1.c: Likewise.
  4772. * gnulib/getopt_int.h: Likewise.
  4773. * gnulib/gettext.h: Likewise.
  4774. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4775. * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
  4776. * normal/handler.c (read_handler_list): Likewise.
  4777. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4778. Misc cleanup.
  4779. * kern/command.c (grub_register_command_prio): Use
  4780. grub_zalloc() instead of explicitly zeroing data.
  4781. * kern/list.c: Include `<grub/mm.h>'.
  4782. (grub_named_list_find): Replace `0' with `NULL'.
  4783. * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
  4784. (fs_module_list): Change type to `grub_named_list_t'. Update all
  4785. users.
  4786. * normal/dyncmd.c (read_command_list): Add space between function
  4787. call and parenthesis.
  4788. * normal/handler.c (read_handler_list): Likewise.
  4789. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4790. * normal/auth.c (punishment_delay): Moved from here ...
  4791. (grub_auth_strcmp): ... to here (inside function).
  4792. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4793. * include/grub/list.h (struct grub_named_list): Remove `const'
  4794. qualifier from `name'.
  4795. (struct grub_prio_list): Likewise.
  4796. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4797. * normal/auth.c: Include `<grub/time.h>'.
  4798. (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
  4799. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4800. * normal/auth.c (punishment_delay): New variable.
  4801. (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
  4802. (grub_auth_check_authentication): Punish failed login attempts with
  4803. an incremental (2^N) delay.
  4804. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4805. * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
  4806. path with $(srcdir).
  4807. 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
  4808. * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
  4809. 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
  4810. * util/i386/coreboot/grub-mkrescue.in: New file.
  4811. * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
  4812. variables.
  4813. * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
  4814. (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
  4815. * configure.ac: Add header and function checks to satisfy grub-mkisofs
  4816. requirements.
  4817. * util/mkisofs/defaults.h: New file.
  4818. * util/mkisofs/eltorito.c: Likewise.
  4819. * util/mkisofs/exclude.h: Likewise.
  4820. * util/mkisofs/fnmatch.c: Likewise.
  4821. * util/mkisofs/getopt.c: Likewise.
  4822. * util/mkisofs/getopt1.c: Likewise.
  4823. * util/mkisofs/hash.c: Likewise.
  4824. * util/mkisofs/include/fctldefs.h: Likewise.
  4825. * util/mkisofs/include/mconfig.h: Likewise.
  4826. * util/mkisofs/include/prototyp.h: Likewise.
  4827. * util/mkisofs/include/statdefs.h: Likewise.
  4828. * util/mkisofs/iso9660.h: Likewise.
  4829. * util/mkisofs/joliet.c: Likewise.
  4830. * util/mkisofs/match.c: Likewise.
  4831. * util/mkisofs/match.h: Likewise.
  4832. * util/mkisofs/mkisofs.c: Likewise.
  4833. * util/mkisofs/mkisofs.h: Likewise.
  4834. * util/mkisofs/multi.c: Likewise.
  4835. * util/mkisofs/name.c: Likewise.
  4836. * util/mkisofs/rock.c: Likewise.
  4837. * util/mkisofs/tree.c: Likewise.
  4838. * util/mkisofs/write.c: Likewise.
  4839. 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
  4840. * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
  4841. being insecure.
  4842. 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
  4843. * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
  4844. `grub-mkimage' (and use $0 when possible).
  4845. 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
  4846. * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
  4847. error message for excessively large memory map.
  4848. 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
  4849. * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
  4850. executable bit.
  4851. 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
  4852. * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
  4853. message for coreboot users.
  4854. 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
  4855. Fix build with GNU gold.
  4856. * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
  4857. (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
  4858. (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
  4859. link addresses.
  4860. * aclocal.m4: Likewise.
  4861. 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
  4862. * configure.ac (AC_PREREQ): Bump to 2.59d.
  4863. * INSTALL: Make it more clear when Autoconf and Ruby are
  4864. needed and when to run `./autogen.sh'.
  4865. 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
  4866. * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
  4867. OSes.
  4868. 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
  4869. * util/grub.d/30_os-prober.in: Add GNU/Hurd support
  4870. 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
  4871. * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
  4872. giving it to GNU Mach.
  4873. 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
  4874. * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
  4875. GNU partition number to get internal GRUB partition number.
  4876. 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
  4877. * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
  4878. ${GRUB_DEVICE_BOOT} before loading /boot kernel.
  4879. 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
  4880. Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
  4881. * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
  4882. case.
  4883. 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
  4884. * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
  4885. 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
  4886. Fix build problem.
  4887. * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
  4888. `-isystem=$(srcdir)/include'.
  4889. 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
  4890. * util/i386/pc/grub-install.in: Remove hint that device.map should be
  4891. checked (grub-install doesn't currently rely on it).
  4892. 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
  4893. Revert SVN r2660.
  4894. * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
  4895. * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
  4896. * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
  4897. * conf/i386-ieee1275.rmk: Likewise.
  4898. * conf/i386-pc.rmk: Likewise.
  4899. * conf/powerpc-ieee1275.rmk: Likewise.
  4900. * conf/sparc64-ieee1275.rmk: Likewise.
  4901. * conf/x86_64-efi.rmk: Likewise.
  4902. 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
  4903. * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
  4904. 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
  4905. * include/grub/misc.h: Stop checking for APPLE_CC.
  4906. 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
  4907. * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
  4908. doesn't cause an infinite call loop.
  4909. 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
  4910. * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
  4911. strings.
  4912. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4913. * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
  4914. variable.
  4915. * Makefile.in: Likewise.
  4916. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4917. * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
  4918. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4919. * Makefile.in (RMKFILES): Rewrite using $(wildcard).
  4920. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4921. * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
  4922. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4923. * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
  4924. from here ...
  4925. * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
  4926. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4927. * Makefile.in (docs/grub.info): Use make syntax to ignore errors
  4928. in $(MAKEINFO) invocation. This makes it clear in output that
  4929. errors are being ignored.
  4930. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4931. * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
  4932. from here ...
  4933. * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
  4934. * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
  4935. * conf/i386-ieee1275.rmk: Likewise.
  4936. * conf/i386-pc.rmk: Likewise.
  4937. * conf/powerpc-ieee1275.rmk: Likewise.
  4938. * conf/sparc64-ieee1275.rmk: Likewise.
  4939. * conf/x86_64-efi.rmk: Likewise.
  4940. 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
  4941. * util/grub-editenv.c (main): If only a command is given, use
  4942. DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
  4943. (usage): FILENAME is now optional and has a default.
  4944. 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
  4945. Improve grub-mkconfig performance when there are several menu
  4946. entries on a single filesystem.
  4947. * util/grub.d/10_linux.in (linux_entry): Cache the output of
  4948. prepare_grub_to_access_device.
  4949. * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
  4950. * util/grub.d/30_os-prober.in: Likewise.
  4951. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4952. * util/grub.d/10_freebsd.in: Remove.
  4953. * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
  4954. * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
  4955. 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
  4956. * docs/grub.cfg: Fix example usage of *BSD loaders.
  4957. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4958. * util/i386/pc/grub-setup.c (setup): Add missing parameter to
  4959. grub_util_error() call.
  4960. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4961. * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
  4962. `reserved_first_sector' member.
  4963. * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
  4964. `reserved_first_sector' to 1.
  4965. * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
  4966. * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
  4967. * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
  4968. * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
  4969. filesystems which begin at first sector.
  4970. (options): New option --skip-fs-probe.
  4971. (main): Handle --skip-fs-probe and pass it to setup().
  4972. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4973. * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
  4974. (memset): Fix function prototype.
  4975. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4976. 2009-10-25 Vasily Averin <vvs@parallels.com>
  4977. * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
  4978. `dirent.direntlen == 0'.
  4979. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4980. * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
  4981. `cpio'.
  4982. [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
  4983. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4984. * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
  4985. `__trampoline_setup' and `__ucmpdi2'.
  4986. * include/grub/powerpc/libgcc.h: Only export symbols for functions
  4987. that libgcc provides.
  4988. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4989. * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
  4990. * include/grub/sparc64/libgcc.h (memset): Likewise.
  4991. * include/grub/misc.h (memset, memcmp): New function prototypes.
  4992. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4993. * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
  4994. `cpio'.
  4995. [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
  4996. 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
  4997. Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
  4998. * docs/grub.cfg: Compensate for recent change in multiboot
  4999. loader (since 2009-08-14 it won't pass filename to payload).
  5000. * util/grub.d/10_hurd.in: Likewise.
  5001. 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
  5002. * config.guess: Update to latest version from config git
  5003. repository.
  5004. * config.sub: Likewise.
  5005. 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
  5006. Fix build on sparc64.
  5007. * configure.ac: Perform checks for libgcc symbols before
  5008. adding `-nostdlib' to LDFLAGS.
  5009. 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
  5010. Let user specify OpenBSD root device.
  5011. * loader/i386/bsd.c (openbsd_root): New variable.
  5012. (openbsd_opts): New option 'root'.
  5013. (OPENBSD_ROOT_ARG): New macro.
  5014. (grub_openbsd_boot): Use 'openbsd_root'.
  5015. (grub_cmd_openbsd): Fill 'openbsd_root'.
  5016. 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
  5017. * NEWS: Misc adjustments.
  5018. 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
  5019. * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
  5020. 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
  5021. * configure.ac: Bump version to 1.97.
  5022. 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
  5023. * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
  5024. -mno-3dnow on x86 architectures. Some toolchains enable these
  5025. features by default, but they rely on registers that aren't enabled
  5026. in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
  5027. 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
  5028. Make entry text a bit more readable.
  5029. * util/grub.d/10_linux.in: Add `with' before `Linux'.
  5030. 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
  5031. * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
  5032. 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
  5033. * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
  5034. operations.
  5035. 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
  5036. * configure.ac: Add missing dollar.
  5037. 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
  5038. Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
  5039. * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
  5040. * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
  5041. exports.
  5042. * include/grub/sparc64/libgcc.h: Likewise. Use
  5043. preprocessor conditionals.
  5044. 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
  5045. * conf/common.rmk (grub-dumpbios): Remove rule.
  5046. (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
  5047. * util/grub-dumpbios.in: Remove file.
  5048. 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
  5049. Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
  5050. the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
  5051. * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
  5052. from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
  5053. users.
  5054. (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
  5055. "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
  5056. to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
  5057. and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
  5058. users.
  5059. 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
  5060. * term/tparm.c: Switch to GPLv3.
  5061. 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
  5062. * include/grub/i386/cpuid.h: Add header protection.
  5063. 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
  5064. Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
  5065. * include/grub/i386/cpuid.h: New file.
  5066. * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
  5067. (has_longmode): Rename to ...
  5068. (grub_cpuid_has_longmode): ... this. Update all users. Remove
  5069. `static' attribute.
  5070. * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
  5071. (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
  5072. on a CPU that doesn't implement AMD64 instruction set.
  5073. 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
  5074. * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
  5075. that version.texi is rebuilt on version number changes.
  5076. 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
  5077. * Makefile.in: Don't set info_INFOS unless makeinfo was found.
  5078. Fixes bug #27602.
  5079. 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
  5080. * util/i386/pc/grub-install.in: Source
  5081. ${libdir}/grub/grub-mkconfig_lib before option processing, in order
  5082. that the --grub-probe option will work.
  5083. * util/sparc64/ieee1275/grub-install.in: Likewise.
  5084. 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
  5085. * configure.ac: Bump version to 1.97~beta4.
  5086. 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
  5087. Resync grub-mkdevicemap in x86_64-efi.
  5088. * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
  5089. (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
  5090. `util/devicemap.c'.
  5091. 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
  5092. * util/grub-editenv.c (create_envblk_file): Write new block with a
  5093. .new suffix and then rename it into place, to ensure atomic
  5094. creation.
  5095. 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
  5096. Do not automatically install headers.
  5097. * Makefile.in (include_DATA): Remove. Update all users.
  5098. 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
  5099. * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
  5100. (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
  5101. * util/osdetect.lua: Remove.
  5102. * script/lua/lauxlib.c: Likewise.
  5103. * script/lua/ldebug.c: Likewise.
  5104. * script/lua/grub_main.c: Likewise.
  5105. * script/lua/lauxlib.h: Likewise.
  5106. * script/lua/ldebug.h: Likewise.
  5107. * script/lua/ltablib.c: Likewise.
  5108. * script/lua/liolib.c: Likewise.
  5109. * script/lua/lstrlib.c: Likewise.
  5110. * script/lua/lualib.h: Likewise.
  5111. * script/lua/ldo.c: Likewise.
  5112. * script/lua/ldump.c: Likewise.
  5113. * script/lua/ldo.h: Likewise.
  5114. * script/lua/loslib.c: Likewise.
  5115. * script/lua/lundump.c: Likewise.
  5116. * script/lua/grub_lib.c: Likewise.
  5117. * script/lua/ldblib.c: Likewise.
  5118. * script/lua/lundump.h: Likewise.
  5119. * script/lua/lmem.c: Likewise.
  5120. * script/lua/grub_lib.h: Likewise.
  5121. * script/lua/lmathlib.c: Likewise.
  5122. * script/lua/lstate.c: Likewise.
  5123. * script/lua/ltm.c: Likewise.
  5124. * script/lua/lvm.c: Likewise.
  5125. * script/lua/lmem.h: Likewise.
  5126. * script/lua/lstate.h: Likewise.
  5127. * script/lua/ltm.h: Likewise.
  5128. * script/lua/ltable.c: Likewise.
  5129. * script/lua/lvm.h: Likewise.
  5130. * script/lua/llex.c: Likewise.
  5131. * script/lua/lgc.c: Likewise.
  5132. * script/lua/grub_lua.h: Likewise.
  5133. * script/lua/loadlib.c: Likewise.
  5134. * script/lua/lfunc.c: Likewise.
  5135. * script/lua/lopcodes.c: Likewise.
  5136. * script/lua/lparser.c: Likewise.
  5137. * script/lua/ltable.h: Likewise.
  5138. * script/lua/llex.h: Likewise.
  5139. * script/lua/lgc.h: Likewise.
  5140. * script/lua/lfunc.h: Likewise.
  5141. * script/lua/lbaselib.c: Likewise.
  5142. * script/lua/lopcodes.h: Likewise.
  5143. * script/lua/lparser.h: Likewise.
  5144. * script/lua/lzio.c: Likewise.
  5145. * script/lua/linit.c: Likewise.
  5146. * script/lua/lobject.c: Likewise.
  5147. * script/lua/llimits.h: Likewise.
  5148. * script/lua/lstring.c: Likewise.
  5149. * script/lua/lzio.h: Likewise.
  5150. * script/lua/lapi.c: Likewise.
  5151. * script/lua/lcode.c: Likewise.
  5152. * script/lua/lua.h: Likewise.
  5153. * script/lua/lobject.h: Likewise.
  5154. * script/lua/lstring.h: Likewise.
  5155. * script/lua/lapi.h: Likewise.
  5156. * script/lua/lcode.h: Likewise.
  5157. * script/lua/luaconf.h: Likewise.
  5158. 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
  5159. * docs/grub.texi (Command-line and menu entry commands): Document
  5160. date and echo commands.
  5161. 2009-09-24 Pavel Roskin <proski@gnu.org>
  5162. * include/grub/kernel.h (struct grub_module_header): Remove
  5163. `grub_module_header_types'. Make `type' unsigned. Make `size'
  5164. 32-bit on all platforms.
  5165. * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
  5166. 8-bit field. Use grub_host_to_target32() for `size'.
  5167. * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
  5168. * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
  5169. * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
  5170. 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
  5171. Fix "lost keypress" bug in at_keyboard.
  5172. * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
  5173. Checks for readyness of input buffer (without flushing it).
  5174. (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
  5175. than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
  5176. 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
  5177. * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
  5178. size check within GRUB_MACHINE_PCBIOS section.
  5179. 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
  5180. * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
  5181. return value.
  5182. * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
  5183. KEYBOARD_ISREADY check.
  5184. (grub_at_keyboard_checkkey): Rename to ...
  5185. (grub_at_keyboard_getkey_noblock): ... this. Update all users.
  5186. Remove gratuitous cast.
  5187. 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
  5188. * configure.ac: Call AC_PROG_MKDIR_P.
  5189. * Makefile.in (docs/stamp-vti): Create docs directory. Create
  5190. version.texi in $(builddir) rather than $(srcdir).
  5191. (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
  5192. to makeinfo's @include search path.
  5193. 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
  5194. * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
  5195. 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
  5196. * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
  5197. for `*.dpkg-new'.
  5198. 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
  5199. Build info documentation. Some code borrowed from Automake.
  5200. * configure.ac: Check for makeinfo.
  5201. * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
  5202. (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
  5203. docs/version.texi.
  5204. (MOSTLYCLEANFILES): Add vti.tmp.
  5205. (docs/version.texi, docs/stamp-vti): Update automatically.
  5206. (docs/grub.info): Build info documentation. Use --force and ignore
  5207. errors for now.
  5208. (all-local): Add $(INFOS).
  5209. (install-local): Install info files.
  5210. (uninstall): Uninstall info files.
  5211. * docs/version.texi: Remove from revision control. This file is
  5212. automatically generated on build now.
  5213. * gendistlist.sh: Add `*.info'.
  5214. 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
  5215. * kern/term.c: Fix indentation.
  5216. 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
  5217. * util/hostdisk.c: Fix a comment.
  5218. 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
  5219. Fix regression introduced in r2539.
  5220. * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
  5221. to 0xA1.
  5222. 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
  5223. * util/grub.d/30_os-prober.in: Don't throw away stderr from
  5224. os-prober. Under normal operation, it does not print anything to
  5225. stderr; if it does, we need to debug it, and throwing away stderr
  5226. makes that excessively difficult.
  5227. 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
  5228. * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
  5229. 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
  5230. * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
  5231. AC_LANG_PROGRAM from autoconf.
  5232. (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
  5233. prototypes (fixes warning).
  5234. * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
  5235. `--disable-werror' was used.
  5236. 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
  5237. * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
  5238. uninitialized `lastaddr'.
  5239. 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
  5240. * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
  5241. 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
  5242. * commands/test.c (get_fileinfo): Return immediately if
  5243. grub_fs_probe fails.
  5244. 2009-09-14 José Martínez <xosemp@gmail.com>
  5245. * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
  5246. 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
  5247. * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
  5248. output.
  5249. 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
  5250. * configure.ac: Remove --enable-grub-pe2elf. Only build
  5251. grub-pe2elf when needed by the build system itself.
  5252. * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
  5253. 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
  5254. * configure.ac: Bump version to 1.97~beta3.
  5255. * docs/version.texi: Likewise.
  5256. 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
  5257. * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
  5258. mode special handling (grub_vbe_bios_set_dac_palette_width() call)
  5259. from here ...
  5260. * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
  5261. (grub_linux_setup_video): ... to here (with some adjustments).
  5262. 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
  5263. Fix memory corruption issue (spotted by Colin Watson).
  5264. * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
  5265. causing returned size to be stored in an incorrect memory location.
  5266. Fix use of uninitialized value when storing the returned size.
  5267. 2009-09-12 Yves Blusseau <blusseau@zetam.org>
  5268. Change clean rules to properly remove files
  5269. * genmk.rb: add new clean rules
  5270. * Makefile.in (clean): add the new targets
  5271. (mostlyclean): likewise
  5272. 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
  5273. * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
  5274. to grub_uint64_t.
  5275. * fs/ntfs.c (init_file): Understand 64-bit sizes for
  5276. non-resident files.
  5277. 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
  5278. * configure.ac: Don't look for help2man when cross-compiling. Fixes
  5279. part of bug #27349.
  5280. 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
  5281. * util/grub-mkconfig.in: Make the created config mode 400 and
  5282. print a warning if it fails.
  5283. 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
  5284. * util/grub.d/40_custom.in: Ask user to type custom entries below
  5285. comment, rather than below 'exec tail' line.
  5286. 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
  5287. * util/grub.d/40_custom.in: Make sure that the explanatory text is
  5288. visible in grub.cfg.
  5289. 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
  5290. * util/grub.d/40_custom.in: Make it a little clearer how to use this
  5291. file.
  5292. 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
  5293. * docs/grub.cfg: Add an example menu entry for memtest86+.
  5294. 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
  5295. * config.guess: Update to latest version from config git.
  5296. * config.sub: Likewise.
  5297. 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
  5298. * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
  5299. unknown-command case. Fixes bug #27320.
  5300. 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
  5301. * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
  5302. `help' if the command exists.
  5303. 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
  5304. * INSTALL: Require GCC 4.1.3 or later.
  5305. 2009-09-06 Yves Blusseau <blusseau@zetam.org>
  5306. * Makefile.in (RMKFILES): add i386-qemu.rmk
  5307. (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
  5308. $(srcdir)/stamp-h.in
  5309. 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
  5310. * util/grub-probe.c (probe): Comment out buggy codepath, which
  5311. was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
  5312. should be re-enabled after 1.97.
  5313. 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
  5314. * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
  5315. find searches for.
  5316. 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
  5317. * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
  5318. unnecessary calls to grub_error.
  5319. 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
  5320. * NEWS: Mention `keystatus' and Unicode fonts.
  5321. 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
  5322. * configure.ac: Bump version to 1.97~beta2.
  5323. * docs/version.texi: Likewise.
  5324. 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
  5325. * configure.ac: By default, GCC 4.4 generates .eh_frame sections
  5326. containing unwind information in some cases where it previously did
  5327. not. Use -fno-dwarf2-cfi-asm if available to restore the old
  5328. behaviour. See http://patchwork.kernel.org/patch/8555/ for related
  5329. discussion.
  5330. 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
  5331. Embedding loadenv module into grub-emu
  5332. * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
  5333. commands/loadenv.c
  5334. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
  5335. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
  5336. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
  5337. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
  5338. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
  5339. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
  5340. 2009-09-03 Magnus Granberg <zorry@ume.nu>
  5341. * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
  5342. include -fPIE in the default specs.
  5343. * configure.ac: Check if pie_possible is yes and add -fno-PIE
  5344. to TARGET_CFLAGS.
  5345. 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
  5346. * INSTALL: Note that GNU Bison 2.3 or later is required.
  5347. 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
  5348. * kern/i386/pc/startup.S: Fix typo.
  5349. 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
  5350. * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
  5351. according to GCS.
  5352. 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
  5353. * docs/grub.texi (Naming convention): Describe one-based partition
  5354. numbering.
  5355. (Device syntax): Likewise.
  5356. (File name syntax): Likewise.
  5357. (Block list syntax): Likewise.
  5358. (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
  5359. menu.lst.
  5360. (File name syntax): Likewise.
  5361. (Command-line and menu entry commands): Document acpi, blocklist,
  5362. crc, export, insmod, keystatus, ls, set, and unset commands.
  5363. 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
  5364. * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
  5365. to avoid implying that only one of --shift, --ctrl, or --alt may be
  5366. used.
  5367. 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
  5368. * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
  5369. rather than comparing against S_IFREG, which will almost never work.
  5370. 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
  5371. * commands/loadenv.c (check_blocklists): Fix off-by-one error.
  5372. (write_blocklists): Likewise.
  5373. 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
  5374. * script/lua/grub_lua.h (fputs): Supply a format string as the first
  5375. argument to grub_printf.
  5376. 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
  5377. * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
  5378. non GNU test.
  5379. 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
  5380. * kern/file.c (grub_file_read): Spelling fix
  5381. 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
  5382. * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
  5383. loading of headers in some cases.
  5384. 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
  5385. * configure.ac: Bump version to 1.97~beta1.
  5386. * docs/version.texi: Likewise.
  5387. 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
  5388. * include/grub/i386/xnu.h: Add license header.
  5389. include grub/err.h explicitly.
  5390. 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
  5391. * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
  5392. to `ufs' in the vfs.root.mountfrom kernel parameter.
  5393. 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
  5394. * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
  5395. [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
  5396. value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
  5397. [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
  5398. `ARRAY_SIZE' macro.
  5399. 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
  5400. * kern/file.c (grub_file_read): Check offset.
  5401. * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
  5402. * fs/jfs.c (grub_jfs_read_file): Likewise.
  5403. * fs/ntfs.c (grub_ntfs_read): Likewise.
  5404. * fs/reiserfs.c (grub_reiserfs_read): Likewise.
  5405. * fs/minix.c (grub_minix_read_file): Correct offset check.
  5406. * fs/ufs.c (grub_ufs_read_file): Likewise.
  5407. 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
  5408. * term/i386/pc/console.c (bios_data_area): Cast
  5409. GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
  5410. 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
  5411. 1-bit optimised blitters.
  5412. * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
  5413. prototype.
  5414. (grub_video_fbblit_replace_24bit_1bit): Likewise.
  5415. (grub_video_fbblit_replace_16bit_1bit): Likewise.
  5416. (grub_video_fbblit_replace_8bit_1bit): Likewise.
  5417. (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
  5418. (grub_video_fbblit_blend_XXX888_1bit): Likewise.
  5419. (grub_video_fbblit_blend_XXX565_1bit): Likewise.
  5420. * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
  5421. function.
  5422. (grub_video_fbblit_replace_24bit_1bit): Likewise.
  5423. (grub_video_fbblit_replace_16bit_1bit): Likewise.
  5424. (grub_video_fbblit_replace_8bit_1bit): Likewise.
  5425. (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
  5426. (grub_video_fbblit_blend_XXX888_1bit): Likewise.
  5427. (grub_video_fbblit_blend_XXX565_1bit): Likewise.
  5428. * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
  5429. when possible.
  5430. * video/video.c (grub_video_get_blit_format): Return
  5431. GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
  5432. 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
  5433. * normal/cmdline.c (grub_cmdline_get): Supply a format string as
  5434. the first argument to grub_printf.
  5435. 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
  5436. 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
  5437. Add `getkeystatus' terminal method. Add a new `keystatus' command
  5438. to query it.
  5439. * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
  5440. GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
  5441. modifier key bitmasks.
  5442. (struct grub_term_input): Add `getkeystatus' member.
  5443. (grub_getkeystatus): Add prototype.
  5444. * kern/term.c (grub_getkeystatus): New function.
  5445. * include/grub/i386/pc/memory.h
  5446. (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
  5447. (struct grub_machine_bios_data_area): Define necessary parts of BIOS
  5448. Data Area layout.
  5449. * term/i386/pc/console.c (grub_console_getkeystatus): New function.
  5450. (grub_console_term_input): Set `getkeystatus' member.
  5451. * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
  5452. constants.
  5453. (grub_usb_keyboard_getreport): Likewise.
  5454. (grub_usb_keyboard_checkkey): Likewise.
  5455. (grub_usb_keyboard_getkeystatus): New function.
  5456. (grub_usb_keyboard_term): Set `getkeystatus' member.
  5457. * commands/keystatus.c: New file.
  5458. * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
  5459. (keystatus_mod_SOURCES): New variable.
  5460. (keystatus_mod_CFLAGS): Likewise.
  5461. (keystatus_mod_LDFLAGS): Likewise.
  5462. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
  5463. commands/keystatus.c.
  5464. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  5465. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5466. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  5467. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5468. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5469. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  5470. 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
  5471. Split befs.mod and afs.mod into *_be.mod and *.mod
  5472. * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
  5473. (grub_fstest_SOURCES): Likewise.
  5474. (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
  5475. (afs_be_mod_SOURCES): New variable.
  5476. (afs_be_mod_CFLAGS): Likewise.
  5477. (afs_be_mod_LDFLAGS): Likewise.
  5478. (befs_be_mod_SOURCES): Likewise.
  5479. (befs_be_mod_CFLAGS): Likewise.
  5480. (befs_be_mod_LDFLAGS): Likewise.
  5481. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
  5482. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  5483. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5484. * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
  5485. (grub_emu_SOURCES): Likewise.
  5486. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5487. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5488. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  5489. * fs/afs_be.c: New file.
  5490. * fs/befs_be.c: New file.
  5491. * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
  5492. (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
  5493. (U16): Replaced with ...
  5494. (grub_afs_to_cpu16): ...this. All users updated.
  5495. (U32): Replaced with ...
  5496. (grub_afs_to_cpu32): ...this. All users updated.
  5497. (U64): Replaced with ...
  5498. (grub_afs_to_cpu64): ...this. All users updated.
  5499. (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
  5500. (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
  5501. (grub_afs_validate_sblock): Check only one endianness.
  5502. (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
  5503. (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
  5504. (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
  5505. (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
  5506. (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
  5507. (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
  5508. (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
  5509. (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
  5510. 2009-08-26 Bean <bean123ch@gmail.com>
  5511. * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
  5512. 64-bit number.
  5513. (GRUB_XFS_FSB_TO_BLOCK): Likewise.
  5514. (grub_xfs_inode_block): Change return type to grub_uint64_t.
  5515. (grub_xfs_read_inode): Change type of block to grub_uint64_t.
  5516. 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
  5517. NetBSD memory map support.
  5518. * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
  5519. (grub_netbsd_btinfo_mmap_header): New structure.
  5520. (grub_netbsd_btinfo_mmap_entry): Likewise.
  5521. * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
  5522. 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
  5523. Enable bsd.mod on coreboot.
  5524. * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
  5525. (bsd_mod_SOURCES): New variable.
  5526. (bsd_mod_CFLAGS): Likewise.
  5527. (bsd_mod_LDFLAGS): Likewise.
  5528. (bsd_mod_ASFLAGS): Likewise.
  5529. * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
  5530. (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
  5531. 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
  5532. Cleanup NetBSD root support.
  5533. * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
  5534. grub_bsd_get_device.
  5535. Fix typo.
  5536. 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
  5537. * util/grub.d/00_header.in: Move check for the video backend of
  5538. gfxterm from here ...
  5539. * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
  5540. a suitable video backend.
  5541. 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
  5542. Fix breakage in grub-setup.
  5543. * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
  5544. "msdos_partition_map".
  5545. 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
  5546. Fix breakage in normal/auth.c.
  5547. * normal/auth.c (grub_iswordseparator): New function.
  5548. 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
  5549. Authentication support.
  5550. * commands/password.c: New file.
  5551. * conf/common.rmk (pkglib_MODULES): Add password.mod.
  5552. (password_mod_SOURCES): New variable.
  5553. (password_mod_CFLAGS): Likewise.
  5554. (password_mod_LDFLAGS): Likewise.
  5555. (normal_mod_SOURCES): Add normal/auth.c.
  5556. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
  5557. normal/auth.c.
  5558. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  5559. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5560. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  5561. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5562. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5563. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  5564. * include/grub/auth.h: New file.
  5565. * include/grub/err.h (grub_err_t): New enum value
  5566. GRUB_ERR_ACCESS_DENIED.
  5567. * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
  5568. 'users'.
  5569. * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
  5570. * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
  5571. users updated.
  5572. * normal/auth.c: New file.
  5573. * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
  5574. (grub_cmdline_run): Don't allow to go to command line without
  5575. authentication.
  5576. * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
  5577. * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
  5578. menuentry without superuser rights.
  5579. * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
  5580. user isn't a superuser.
  5581. 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
  5582. Save space by inlining misc.c functions.
  5583. * kern/misc.c (grub_iswordseparator): Made static.
  5584. * kern/misc.c (grub_strcat): Moved from here ...
  5585. * include/grub/misc.h (grub_strcat): ... here. Inlined.
  5586. * kern/misc.c (grub_strncat): Moved from here ...
  5587. * include/grub/misc.h (grub_strncat): ... here. Inlined.
  5588. * kern/misc.c (grub_strcasecmp): Moved from here ...
  5589. * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
  5590. * kern/misc.c (grub_strncasecmp): Moved from here ...
  5591. * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
  5592. * kern/misc.c (grub_isalpha): Moved from here ...
  5593. * include/grub/misc.h (grub_isalpha): ... here. Inlined.
  5594. * kern/misc.c (grub_isdigit): Moved from here ...
  5595. * include/grub/misc.h (grub_isdigit): ... here. Inlined.
  5596. * kern/misc.c (grub_isgraph): Moved from here ...
  5597. * include/grub/misc.h (grub_isgraph): ... here. Inlined.
  5598. * kern/misc.c (grub_tolower): Moved from here ...
  5599. * include/grub/misc.h (grub_tolower): ... here. Inlined.
  5600. 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
  5601. * script/sh/function.c (grub_script_function_find): Cut error message
  5602. not to flood terminal.
  5603. * script/sh/lexer.c (grub_script_yylex): Remove command line length
  5604. limit.
  5605. * script/sh/script.c (grub_script_arg_add): Duplicate string.
  5606. 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
  5607. * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
  5608. `report' grub_uint8_t *.
  5609. (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
  5610. Use a 50-millisecond timeout rather than just repeating
  5611. grub_usb_keyboard_getreport 50 times.
  5612. (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
  5613. 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
  5614. Rename *_partition_map to part_*
  5615. * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
  5616. * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
  5617. * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
  5618. * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
  5619. All users updated.
  5620. * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
  5621. All users updated.
  5622. * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
  5623. * util/grub-probe.c (probe_partmap): Don't transform partition name
  5624. to get module name.
  5625. 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
  5626. Fix OpenBSD and NetBSD support.
  5627. * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
  5628. memory address conflict.
  5629. (OPENBSD_MMAP_ACPI): New definition.
  5630. (OPENBSD_MMAP_NVS): Likewise.
  5631. * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
  5632. and OPENBSD_MMAP_NVS.
  5633. Add memory map terminator
  5634. Explicit cast when calling grub_unix_real_boot.
  5635. (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
  5636. 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
  5637. Let user specify NetBSD root device.
  5638. * loader/i386/bsd.c (netbsd_root): New variable.
  5639. (netbsd_opts): New option 'root'.
  5640. (NETBSD_ROOT_ARG): New macro.
  5641. (grub_netbsd_boot): Use 'netbsd_root'.
  5642. (grub_bsd_unload): Free 'netbsd_root'.
  5643. (grub_cmd_netbsd): Fill 'netbsd_root'.
  5644. 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
  5645. Support for 64-bit NetBSD.
  5646. * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
  5647. point when booting non-FreeBSD.
  5648. 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
  5649. Support --no-smp and --no-acpi for NetBSD.
  5650. * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
  5651. (NETBSD_AB_NOACPI): Likewise.
  5652. * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
  5653. (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
  5654. 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
  5655. * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
  5656. errors.
  5657. (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
  5658. errors. Call grub_error when needed.
  5659. 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
  5660. * commands/search.c (search_fs): Try searching without autoload first.
  5661. * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
  5662. filesystem module explicitly for faster booting.
  5663. 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
  5664. * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
  5665. 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
  5666. * util/grub.d/30_os-prober.in: Disable os-prober if
  5667. `GRUB_DISABLE_OS_PROBER' was set to true.
  5668. 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
  5669. * partmap/pc.c: Rename to ...
  5670. * partmap/msdos.c: ... this. Update all users.
  5671. (grub_pc_partition_map): Rename to ...
  5672. (grub_msdos_partition_map): ... this. Update all users.
  5673. * parttool/pcpart.c: Rename to ...
  5674. * parttool/msdospart.c: ... this. Update all users.
  5675. * include/grub/pc_partition.h: Rename to ...
  5676. * include/grub/msdos_partition.h: ... this. Update all users.
  5677. (grub_pc_partition_bsd_entry): Rename to ...
  5678. (grub_msdos_partition_bsd_entry): ... this. Update all users.
  5679. (grub_pc_partition_disk_label): Rename to ...
  5680. (grub_msdos_partition_disk_label): ... this. Update all users.
  5681. (grub_pc_partition_entry): Rename to ...
  5682. (grub_msdos_partition_entry): ... this. Update all users.
  5683. (grub_pc_partition_mbr): Rename to ...
  5684. (grub_msdos_partition_mbr): ... this. Update all users.
  5685. (grub_pc_partition): Rename to ...
  5686. (grub_msdos_partition): ... this. Update all users.
  5687. (grub_pc_partition_is_empty): Rename to ...
  5688. (grub_msdos_partition_is_empty): ... this. Update all users.
  5689. (grub_pc_partition_is_extended): Rename to ...
  5690. (grub_msdos_partition_is_extended): ... this. Update all users.
  5691. (grub_pc_partition_is_bsd): Rename to ...
  5692. (grub_msdos_partition_is_bsd): ... this. Update all users.
  5693. * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
  5694. (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
  5695. (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
  5696. (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
  5697. (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
  5698. (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
  5699. (gpt_mod_LDFLAGS): Rename to ...
  5700. (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
  5701. (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
  5702. (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
  5703. (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
  5704. (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
  5705. (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
  5706. (part_gpt_mod_LDFLAGS): ... this.
  5707. (pkglib_MODULES): Prefix partition modules with `part_'. Rename
  5708. `pcpart.mod' to `msdospart.mod'.
  5709. (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
  5710. to ...
  5711. (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
  5712. (msdospart_mod_LDFLAGS): ... this.
  5713. 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
  5714. * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
  5715. (openbsd_opts): Likewise.
  5716. (netbsd_opts): Likewise.
  5717. (freebsd_flags): Added 0 terminator.
  5718. (openbsd_flags): Likewise.
  5719. (netbsd_flags): Likewise.
  5720. (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
  5721. (grub_cmd_freebsd): Transformed into extended command.
  5722. (grub_cmd_openbsd): Likewise.
  5723. (grub_cmd_netbsd): Likewise.
  5724. (cmd_freebsd): Changed type to grub_extcmd_t.
  5725. (cmd_openbsd): Likewise.
  5726. (cmd_netbsd): Likewise.
  5727. (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
  5728. grub_cmd_openbsd as extended commands.
  5729. (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
  5730. cmd_netbsd and cmd_openbsd
  5731. 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
  5732. * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
  5733. 2009-08-21 Pavel Roskin <proski@gnu.org>
  5734. * Makefile.in (install-local): When checking if a file is in the
  5735. build directory, use "test -e" to detect symlinks.
  5736. * Makefile.in (install-local): Remove all files in
  5737. $(DESTDIR)$(pkglibdir) before installing new files there.
  5738. 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
  5739. * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
  5740. grub-mkelfimage.
  5741. 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
  5742. * util/grub-mkconfig.in: Don't use gfxterm by default if not
  5743. explicitly specified by the user.
  5744. 2009-08-18 Pavel Roskin <proski@gnu.org>
  5745. * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
  5746. grub_uint8_t pointer for data.
  5747. * include/grub/fbutil.h (struct grub_video_fbblit_info):
  5748. Likewise.
  5749. * video/fb/fbutil.c: Remove unnecessary casts.
  5750. 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
  5751. VBE cleanup.
  5752. * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
  5753. (grub_vbe_set_video_mode): Save active mode info
  5754. only after setting the mode.
  5755. (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
  5756. second argument.
  5757. 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
  5758. Rename variables for clarity.
  5759. * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
  5760. (active_vbe_mode_info): ... this. All users updated.
  5761. (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
  5762. All users updated.
  5763. (initial_mode): Rename to ...
  5764. (initial_vbe_mode): ... this. All users updated.
  5765. (mode_in_use): Rename to ..
  5766. (vbe_mode_in_use): ... this. All users updated.
  5767. (mode_list): Rename to ..
  5768. (vbe_mode_list): ... this. All users updated.
  5769. (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
  5770. 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
  5771. (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
  5772. 'mode_list_size' to 'vbe_mode_list_size'.
  5773. (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
  5774. 'best_mode_info' to 'best_vbe_mode_info' and
  5775. 'best_mode' to 'best_vbe_mode'
  5776. 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
  5777. Remove duplicate grub_video_fb_get_video_ptr.
  5778. * include/grub/fbutil.h (get_data_ptr): Rename to ...
  5779. (grub_video_fb_get_video_ptr): ... this.
  5780. * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
  5781. * video/fb/fbutil.c: Add comment about addressing.
  5782. (get_data_ptr): Rename to ...
  5783. (grub_video_fb_get_video_ptr): ... this. All users updated.
  5784. * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
  5785. 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
  5786. * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
  5787. grub_dprintf() that was just added.
  5788. 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
  5789. * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
  5790. (DEFAULT_VIDEO_MODE): Remove macros.
  5791. (grub_linux_boot): Remove assumption that Linux has FB support,
  5792. and use "text" as default video mode.
  5793. 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
  5794. * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
  5795. grub_dprintf.
  5796. * fs/fat.c (grub_fat_read_data): Likewise.
  5797. 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
  5798. * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
  5799. payload.
  5800. (grub_module): Likewise.
  5801. 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
  5802. * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
  5803. mbi->cmdline but free playground.
  5804. 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
  5805. Handle group offset on UFS1.
  5806. * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
  5807. (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
  5808. 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
  5809. Split ufs.mod into ufs1.mod and ufs2.mod.
  5810. * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
  5811. (grub_fstest_SOURCES): Likewise.
  5812. (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
  5813. (ufs_mod_SOURCES): Remove.
  5814. (ufs_mod_CFLAGS): Likewise.
  5815. (ufs_mod_LDFLAGS): Likewise.
  5816. (ufs1_mod_SOURCES): New variable.
  5817. (ufs1_mod_CFLAGS): Likewise.
  5818. (ufs1_mod_LDFLAGS): Likewise.
  5819. (ufs2_mod_SOURCES): New variable.
  5820. (ufs2_mod_CFLAGS): Likewise.
  5821. (ufs2_mod_LDFLAGS): Likewise.
  5822. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
  5823. * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
  5824. Likewise.
  5825. (grub_emu_SOURCES): Likewise.
  5826. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5827. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  5828. (grub_setup_SOURCES): Likewise.
  5829. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  5830. * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
  5831. (grub_setup_SOURCES): Likewise.
  5832. * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
  5833. Likewise.
  5834. * fs/ufs2.c: New file.
  5835. * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
  5836. 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
  5837. Framebuffer split.
  5838. * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
  5839. subsystem at the end.
  5840. * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
  5841. (video_fb_mod_SOURCES): New variable.
  5842. (video_fb_mod_CFLAGS): Likewise.
  5843. (video_fb_mod_LDFLAGS): Likewise.
  5844. * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
  5845. video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
  5846. * video/i386/pc/vbeblit.c: Moved from here ...
  5847. * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
  5848. * video/i386/pc/vbefill.c: Moved from here ...
  5849. * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
  5850. * video/i386/pc/vbeutil.c: Moved from here ...
  5851. * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
  5852. * include/grub/i386/pc/vbeblit.h: Moved from here ...
  5853. * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
  5854. * include/grub/i386/pc/vbefill.h: Moved from here ...
  5855. * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
  5856. * include/grub/i386/pc/vbeutil.h: Moved from here ...
  5857. * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
  5858. * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
  5859. * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
  5860. * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
  5861. (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
  5862. (grub_video_adapter): Added 'get_info_and_fini'.
  5863. (grub_video_get_info_and_fini): New prototype.
  5864. (grub_video_set_mode): make modestring const char *.
  5865. * loader/i386/linux.c (grub_linux_setup_video): Use
  5866. grub_video_get_info_and_fini.
  5867. (grub_linux_boot): Move modesetting just before booting.
  5868. * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
  5869. grub_video_get_info_and_fini.
  5870. * video/i386/pc/vbe.c: Moved framebuffer part ...
  5871. * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
  5872. * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
  5873. grub_video_fbstd_colors and grub_video_fb_set_palette.
  5874. (grub_video_vbe_init): Clear 'framebuffer' variable and use
  5875. grub_video_fb_init.
  5876. (grub_video_vbe_fini): Use grub_video_fb_fini.
  5877. (grub_video_vbe_setup): Use framebuffer.render_target instead of
  5878. render_target and use grub_video_fb_set_active_render_target and
  5879. grub_video_fb_set_palette.
  5880. (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
  5881. (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
  5882. (grub_video_vbe_adapter): Use framebuffer.
  5883. * video/video.c (grub_video_get_info_and_fini): New function.
  5884. (grub_video_set_mode): Make modestring const char *.
  5885. (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
  5886. values are already initialised.
  5887. 2009-08-14 Pavel Roskin <proski@gnu.org>
  5888. * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
  5889. ABS and APPLE_CC.
  5890. * boot/i386/pc/diskboot.S: Likewise.
  5891. * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
  5892. sectors allow compilation on MacOSX.
  5893. * conf/i386-pc.rmk: Enable unconditional compilation of
  5894. lnxboot.img.
  5895. 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
  5896. * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
  5897. * util/grub.d/00_header.in: Enter interruptible sleep if
  5898. GRUB_HIDDEN_TIMEOUT is set.
  5899. 2009-08-13 Yves Blusseau <blusseau@zetam.org>
  5900. * include/grub/symbol.h: Add the LOCAL macro.
  5901. * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
  5902. starting with "L_".
  5903. 2009-08-13 Pavel Roskin <proski@gnu.org>
  5904. * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
  5905. any modern compilers we support.
  5906. * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
  5907. Use local labels starting with "L_" so that Apple assembler
  5908. knows they are local.
  5909. 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
  5910. * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
  5911. (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
  5912. (bsd_kernel_types): ... this enum.
  5913. * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
  5914. (grub_cmd_freebsd_module_elf): Abort with "You need to load the
  5915. kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
  5916. (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
  5917. (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
  5918. (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
  5919. messages.
  5920. 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
  5921. * util/grub-dumpdevtree: Moved from here ...
  5922. * util/i386/efi/grub-dumpdevtree: ... to here.
  5923. (hexify): New function. Converts a string to its hex version.
  5924. Generate hex versions of "efi" and "device-properties" by calling
  5925. hexify() on the ASCII strings rather than by hardcoding numbers.
  5926. 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
  5927. * fs/jfs.c: Update copyright year.
  5928. 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
  5929. * util/grub.d/00_header.in: Fix a comment.
  5930. * util/grub.d/10_linux.in: Likewise.
  5931. * util/grub.d/10_windows.in: Likewise.
  5932. * util/grub.d/10_hurd.in: Likewise.
  5933. 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
  5934. * util/grub-mkconfig.in: Allow the user to specify the used font
  5935. with GRUB_FONT.
  5936. 2009-08-08 Pavel Roskin <proski@gnu.org>
  5937. * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
  5938. available, xfs.mod needs it now.
  5939. * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
  5940. the "g" modifier in sed when the intention is to strip something
  5941. once. This fixes comparison of kernels with multiple dashes.
  5942. * util/grub-mkconfig.in: Define datarootdir, datadir may depend
  5943. on it. Add missing space before closing bracket. Fix
  5944. misleading formatting.
  5945. 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
  5946. * docs/grub.texi: Major overhaul. Remove all sections that are
  5947. specific to GRUB Legacy, or mostly composed of Legacy-specific
  5948. information.
  5949. 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
  5950. * docs/version.texi: New file. Provides version information for
  5951. grub.texi.
  5952. 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
  5953. * docs/grub.texi: Update CVS information to SVN.
  5954. Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
  5955. 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
  5956. * util/grub-mkconfig.in: Remove a wrong `fi'.
  5957. 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
  5958. * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
  5959. (grub_jfs_uuid): New function.
  5960. (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
  5961. 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
  5962. * util/grub-mkconfig_lib.in (font_path): Move the functionality
  5963. of it to ...
  5964. * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
  5965. unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
  5966. 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
  5967. * util/grub.d/10_linux.in (test_numeric): Moved from here ...
  5968. * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
  5969. Update all users.
  5970. * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
  5971. not just "vmlinu[zx]".
  5972. Moved from here ...
  5973. * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
  5974. all users.
  5975. * util/grub.d/10_linux.in (find_latest): Moved from here ...
  5976. * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
  5977. all users.
  5978. 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
  5979. * util/grub.d/10_freebsd.in: Use an absolute device path for
  5980. `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
  5981. 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
  5982. * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
  5983. handling of multiple abstraction modules.
  5984. 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
  5985. Fix a bug resulting in black screen when loading Linux using a
  5986. packed video mode.
  5987. * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
  5988. function.
  5989. * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
  5990. (grub_vbe_bios_getset_dac_palette_width): New function.
  5991. (grub_vbe_bios_get_dac_palette_width)
  5992. (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
  5993. grub_vbe_bios_getset_dac_palette_width()).
  5994. * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
  5995. check for return status.
  5996. (grub_vbe_get_video_mode_info): When getting information for a packed
  5997. mode (<= 8 bpp), obtain DAC palette width using
  5998. grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
  5999. {red,green,blue}_mark_size.
  6000. 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
  6001. * commands/search.c (options): Fix help output to match actual code.
  6002. 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
  6003. * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
  6004. of homegrown code.
  6005. 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
  6006. * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
  6007. on XFS or ReiserFS.
  6008. 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
  6009. Support Apple partition map with sector size different from 512 bytes.
  6010. * partmap/apple.c (grub_apple_header): New field 'blocksize'.
  6011. (apple_partition_map_iterate): Respect 'aheader.blocksize'
  6012. and 'apart.partmap_size'.
  6013. 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
  6014. 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
  6015. Fix cpuid command.
  6016. * commands/i386/cpuid.c (options): New variable.
  6017. (grub_cmd_cpuid): Return real error.
  6018. (GRUB_MOD_INIT(cpuid)): Declare options.
  6019. 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
  6020. * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
  6021. valid.
  6022. 2009-07-31 Bean <bean123ch@gmail.com>
  6023. * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
  6024. log2_inode.
  6025. (grub_fshelp_node): Move inode field to the end.
  6026. (grub_xfs_data): Remove inode field.
  6027. (grub_xfs_inode_block): Calculate inode size using sblock.
  6028. (grub_xfs_inode_offset): Likewise.
  6029. (grub_xfs_read_inode): Calculate inode size using sblock.
  6030. (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
  6031. (grub_xfs_iterate_dir): Calculate inode size using sblock.
  6032. (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
  6033. to match inode size.
  6034. (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
  6035. not accessible when data is null.
  6036. (grub_xfs_open): Likewise.
  6037. 2009-07-31 Bean <bean123ch@gmail.com>
  6038. * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
  6039. Don't change pv->disk if it's already set.
  6040. * disk/raid.c (grub_raid_scan_device): Merge this function into ...
  6041. (grub_raid_register): ... here.
  6042. (grub_raid_rescan): Removed.
  6043. * include/grub/raid.h (grub_raid_rescan): Removed.
  6044. * util/grub-fstest.c: Remove include file <grub/raid.h>.
  6045. (fstest): Replace grub_raid_rescan with module fini function followed
  6046. by init function.
  6047. * util/grub-probe.c: Add include file <grub/raid.h>.
  6048. (probe_raid_level): New function.
  6049. (probe): Detect abstraction by walking the disk device, support two
  6050. level of abstraction (LVM on RAID) when detecting partition map.
  6051. 2009-07-31 Pavel Roskin <proski@gnu.org>
  6052. * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
  6053. to grub_zalloc(), it was erroneous.
  6054. Reported by Bean <bean123ch@gmail.com>
  6055. 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
  6056. * util/i386/pc/grub-setup.c (setup): Check that no partition is in
  6057. embedding zone, not only the first one.
  6058. 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
  6059. * term/gfxterm.c (clear_char): New function.
  6060. (grub_virtual_screen_setup): Use clear_char.
  6061. (scroll_up): Likewise.
  6062. (grub_virtual_screen_cls): Likewise.
  6063. 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
  6064. * util/deviceiter.c (get_acceleraid_disk_name): New static
  6065. function.
  6066. (grub_util_iterate_devices): Handle Accelraid devices.
  6067. * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
  6068. 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
  6069. * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
  6070. separator for the suggested gfxpayload string (';' collides with the
  6071. parser and needs escaping).
  6072. 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
  6073. * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
  6074. Clear direction flag before jumping to OS.
  6075. (grub_multiboot2_real_boot): Likewise.
  6076. 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
  6077. * util/i386/pc/grub-install: Fix parsing of --disk-module
  6078. option.
  6079. 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
  6080. * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
  6081. when embedding.
  6082. 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
  6083. * util/grub-mkconfig.in (package_version): New variable.
  6084. Use it do display the version.
  6085. 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
  6086. * kern/file.c (grub_file_open): Revert to previous check with
  6087. grub_errno.
  6088. 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
  6089. * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
  6090. from help line. It's out of sync with code.
  6091. 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
  6092. * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
  6093. entries on failed boot.
  6094. 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
  6095. * kern/file.c (grub_file_open): Fix an error check.
  6096. 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
  6097. * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
  6098. partition map couldn't be identified.
  6099. 2009-07-23 Pavel Roskin <proski@gnu.org>
  6100. * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
  6101. instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
  6102. case of little endian words becomes just an optimization.
  6103. Respect const modifier.
  6104. (md5_final): Use code that doesn't depend on endianness.
  6105. * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
  6106. to avoid loss of upper bits if align is unsigned and shorter
  6107. than addr.
  6108. 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
  6109. UUID support for UFS
  6110. * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
  6111. (grub_ufs_uuid): New function.
  6112. (grub_ufs_fs): add .uuid
  6113. 2009-07-21 Pavel Roskin <proski@gnu.org>
  6114. * kern/dl.c (grub_dl_check_header): Make static.
  6115. 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
  6116. * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
  6117. add drivemap for Vista. It breaks Windows 7.
  6118. 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
  6119. * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
  6120. 128 bytes
  6121. 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
  6122. Add BFS support
  6123. * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
  6124. (grub_fstest_SOURCES): Likewise.
  6125. (pkglib_MODULES): Add befs.mod.
  6126. (befs_mod_SOURCES): New variable.
  6127. (befs_mod_CFLAGS): Likewise.
  6128. (befs_mod_LDFLAGS): Likewise.
  6129. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
  6130. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  6131. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  6132. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  6133. (grub_setup_SOURCES): Likewise.
  6134. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  6135. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  6136. (grub_setup_SOURCES): Likewise.
  6137. * fs/befs.c: New file.
  6138. * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
  6139. (GRUB_AFS_SBLOCK_SECTOR): Likewise.
  6140. (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
  6141. (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
  6142. (B_KEY_INDEX_ALIGN): New declaration.
  6143. (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
  6144. (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
  6145. (grub_afs_btree) [MODE_BFS]: New conditional declaration.
  6146. (grub_afs_sblock) [MODE_BFS]: Remove link_count.
  6147. (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
  6148. (grub_afs_mount) [MODE_BFS]: Likewise.
  6149. (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
  6150. (grub_afs_fs): Use GRUB_AFS_FSNAME
  6151. (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
  6152. (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
  6153. (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
  6154. (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
  6155. 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
  6156. * util/getroot.c (find_root_device): Add support for MacOSX.
  6157. * util/hostdisk.c: Likewise.
  6158. 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
  6159. * font/font.c (find_glyph): Check whether a font is present to avoid
  6160. segmentation fault.
  6161. 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
  6162. * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
  6163. 2009-07-20 Pavel Roskin <proski@gnu.org>
  6164. * configure.ac: Trim excessively wordy excuses.
  6165. 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
  6166. Add symlink, mtime and label support to AtheFS.
  6167. * fs/afs.c (grub_afs_sblock): Declare `name' as char.
  6168. (grub_afs_iterate_dir): Handle symlinks.
  6169. (grub_afs_open): Use grub_afs_read_symlink.
  6170. (grub_afs_dir): Likewise.
  6171. Pass mtime.
  6172. (grub_afs_label): New function.
  6173. (grub_afs_fs): Add grub_afs_label.
  6174. (grub_afs_read_symlink): New function.
  6175. 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
  6176. Fix AtheFS support.
  6177. * fs/afs.c: Fix comments style.
  6178. (grub_afs_blockrun): Declare as packed.
  6179. (grub_afs_datastream): Likewise.
  6180. (grub_afs_bnode): Likewise.
  6181. (grub_afs_btree): Likewise.
  6182. (grub_afs_sblock): Likewise.
  6183. Declare `name' as char.
  6184. (grub_afs_inode): Declare as packed.
  6185. Change void *vnode to grub_uint32_t unused.
  6186. (grub_afs_iterate_dir): Check that key_size is positive.
  6187. (grub_afs_mount): Don't read superblock twice.
  6188. (grub_afs_dir): Don't free node in case of error,
  6189. grub_fshelp_find_file already handles this.
  6190. (grub_afs_open): Likewise.
  6191. 2009-07-19 Pavel Roskin <proski@gnu.org>
  6192. * Makefile.in: Remove LIBLZO and enable_lzo.
  6193. * conf/i386-pc.rmk: Remove lzo support.
  6194. * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
  6195. * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
  6196. support.
  6197. * kern/i386/pc/lzo1x.S: Remove.
  6198. * kern/i386/pc/startup.S: Remove lzo support.
  6199. * util/i386/pc/grub-mkimage.c: Likewise.
  6200. 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
  6201. * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
  6202. * fs/xfs.c (grub_xfs_dir): Likewise.
  6203. * fs/afs.c (grub_afs_dir): Likewise.
  6204. * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
  6205. (grub_iso9660_open): Likewise.
  6206. * fs/jfs.c (grub_jfs_open): Likewise.
  6207. * fs/ext2.c (grub_ext2_dir): Likewise.
  6208. * include/grub/macho.h (grub_macho_fat_arch): Likewise.
  6209. * script/sh/lexer.c (grub_script_yylex): Likewise.
  6210. 2009-07-16 Pavel Roskin <proski@gnu.org>
  6211. * configure.ac: Never add "-c" to CFLAGS.
  6212. * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
  6213. * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
  6214. grub_cv_cc_efiemu should be used.
  6215. * configure.ac: Typo fixes.
  6216. * kern/mm.c (grub_zalloc): New function.
  6217. (grub_debug_zalloc): Likewise.
  6218. * include/grub/mm.h: Declare grub_zalloc() and
  6219. grub_debug_zalloc().
  6220. * util/misc.c (grub_zalloc): New function.
  6221. * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
  6222. instead of grub_malloc(), remove unneeded initializations.
  6223. * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
  6224. * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
  6225. * commands/parttool.c (grub_cmd_parttool): Likewise.
  6226. * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
  6227. * disk/raid5_recover.c (grub_raid5_recover): Likewise.
  6228. * disk/raid6_recover.c (grub_raid6_recover): Likewise.
  6229. * disk/usbms.c (grub_usbms_finddevs): Likewise.
  6230. * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
  6231. * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
  6232. (grub_cmd_efiemu_pnvram): Likewise.
  6233. * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
  6234. * fs/iso9660.c (grub_iso9660_mount): Likewise.
  6235. (grub_iso9660_iterate_dir): Likewise.
  6236. * fs/jfs.c (grub_jfs_opendir): Likewise.
  6237. * fs/ntfs.c (list_file): Likewise.
  6238. (grub_ntfs_mount): Likewise.
  6239. * kern/disk.c (grub_disk_open): Likewise.
  6240. * kern/dl.c (grub_dl_load_core): Likewise.
  6241. * kern/elf.c (grub_elf_file): Likewise.
  6242. * kern/env.c (grub_env_context_open): Likewise.
  6243. (grub_env_set): Likewise.
  6244. (grub_env_set_data_slot): Likewise.
  6245. * kern/file.c (grub_file_open): Likewise.
  6246. * kern/fs.c (grub_fs_blocklist_open): Likewise.
  6247. * loader/i386/multiboot.c (grub_module): Likewise.
  6248. * loader/xnu.c (grub_xnu_create_key): Likewise.
  6249. (grub_xnu_create_value): Likewise.
  6250. * normal/main.c (grub_normal_add_menu_entry): Likewise.
  6251. (read_config_file): Likewise.
  6252. * normal/menu_entry.c (make_screen): Likewise.
  6253. * partmap/sun.c (sun_partition_map_iterate): Likewise.
  6254. * script/sh/lexer.c (grub_script_lexer_init): Likewise.
  6255. * script/sh/script.c (grub_script_parse): Likewise.
  6256. * video/bitmap.c (grub_video_bitmap_create): Likewise.
  6257. * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
  6258. * video/readers/png.c (grub_png_output_byte): Likewise.
  6259. (grub_video_reader_png): Likewise.
  6260. 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
  6261. Enable all targets that can be built by default
  6262. * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
  6263. grub-mkfont and grub-fstest if they can be built
  6264. 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
  6265. Fix hang and segmentation fault in grub-emu-usb
  6266. * disk/scsi.c (grub_scsi_open): return err and not grub_errno
  6267. * util/usb.c (grub_libusb_devices): likewise
  6268. (grub_libusb_init): rename to ...
  6269. (GRUB_MOD_INIT (libusb)):...this
  6270. (grub_libusb_fini): rename to ..
  6271. (GRUB_MOD_FINI (libusb)):...this
  6272. * disk/usbms.c (grub_usbms_transfer): fix retry logic
  6273. * include/grub/disk.h (grub_raid_init): removed, it's useless
  6274. (grub_raid_fini): likewise
  6275. (grub_lvm_init): likewise
  6276. (grub_lvm_fini): likewise
  6277. * util/grub-emu.c (main): don't call grub_libusb_init, it's done
  6278. by grub_init_all
  6279. 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
  6280. Fix libusb
  6281. * Makefile.in (LIBUSB): new macro
  6282. * genmk.rb (Utility/print_tail): new method
  6283. (Utility/rule): use intermediary variable #{prefix}_OBJECTS
  6284. (top level): call util.print_tail at the end.
  6285. 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
  6286. Make FreeBSD accept zpool.cache
  6287. * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
  6288. type is /boot/zfs/zpool.cache
  6289. 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
  6290. Fix 64-bit efiemu
  6291. * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
  6292. correct wrong typedef
  6293. * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
  6294. 2009-07-15 Pavel Roskin <proski@gnu.org>
  6295. * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
  6296. * kern/disk.c (struct grub_disk_cache): Likewise.
  6297. * commands/probe.c (options): Typo fix.
  6298. * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
  6299. Increase to 0x5a to accommodate FAT32. Adjust other offsets
  6300. accordingly.
  6301. Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
  6302. * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
  6303. the end of "Error" to make the message more readable.
  6304. * boot/i386/pc/boot.S (kernel_segment): Remove.
  6305. (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
  6306. for destination.
  6307. * boot/i386/pc/boot.S (boot_version): Remove.
  6308. * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
  6309. Remove.
  6310. * include/grub/i386/pc/boot.h: Sort all offsets.
  6311. (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
  6312. (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
  6313. * boot/i386/pc/boot.S: Assert location of every offset listed in
  6314. include/grub/i386/pc/boot.h.
  6315. 2009-07-13 Pavel Roskin <proski@gnu.org>
  6316. * include/grub/i386/coreboot/machine.h: Rename
  6317. GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
  6318. * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
  6319. multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
  6320. * kern/dl.c: Force native word size to suppress warnings when
  6321. compiling grub-emu.
  6322. * kern/device.c (grub_device_iterate): Change struct part_ent to
  6323. hold the name, not a pointer to it. Use one grub_malloc() per
  6324. partition, not two. Free partition_name if grub_malloc() fails.
  6325. Set ents to NULL only before grub_partition_iterate() is called.
  6326. 2009-07-11 Bean <bean123ch@gmail.com>
  6327. * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
  6328. childname.
  6329. 2009-07-10 Bean <bean123ch@gmail.com>
  6330. 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
  6331. * kern/ieee1275/openfw.c (grub_children_iterate)
  6332. (grub_devalias_iterate): Fix size evaluation for property or path
  6333. strings, which was broken since r2132.
  6334. 2009-07-07 Pavel Roskin <proski@gnu.org>
  6335. * commands/search.c (search_file): Merge into ...
  6336. (search_fs): ... this. Accept search type as argument.
  6337. (grub_cmd_search): Pass search type to search_fs().
  6338. * include/grub/util/console.h: New file.
  6339. * util/console.c: Use it instead of grub/machine/console.h.
  6340. * util/grub-emu.c: Likewise.
  6341. * lib/arg.c (find_long_option): Remove.
  6342. (find_long): Add `len' argument, make `s' const char *.
  6343. (grub_arg_parse): Parse long options in place, not in a
  6344. temporary buffer.
  6345. 2009-07-06 Pavel Roskin <proski@gnu.org>
  6346. * commands/search.c (search_fs): Fix potential NULL pointer
  6347. dereference.
  6348. * commands/search.c (search_fs): Replace QUID macro with quid_fn
  6349. function pointer.
  6350. 2009-07-06 Daniel Mierswa <impulze@impulze.org>
  6351. * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
  6352. comparison.
  6353. 2009-07-05 Pavel Roskin <proski@gnu.org>
  6354. * include/grub/i386/linux.h (struct linux_kernel_params):
  6355. Restore padding3, it's still needed.
  6356. * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
  6357. FreeBSD.
  6358. * util/osdetect.lua: Likewise.
  6359. 2009-07-05 Bean <bean123ch@gmail.com>
  6360. * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
  6361. * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
  6362. (grub_lua_getenv): Likewise.
  6363. (grub_lua_setenv): Likewise.
  6364. (save_errno): New function.
  6365. (push_result): Likewise.
  6366. (grub_lua_enum_device): Likewise.
  6367. (grub_lua_enum_file): Likewise.
  6368. (grub_lua_file_open): Likewise.
  6369. (grub_lua_file_close): Likewise.
  6370. (grub_lua_file_seek): Likewise.
  6371. (grub_lua_file_read): Likewise.
  6372. (grub_lua_file_getline): Likewise.
  6373. (grub_lua_file_getsize): Likewise.
  6374. (grub_lua_file_getpos): Likewise.
  6375. (grub_lua_file_eof): Likewise.
  6376. (grub_lua_file_exist): Likewise.
  6377. (grub_lua_add_menu): Likewise.
  6378. * script/lua/grub_lua.h (isupper): New inline function.
  6379. (islower): Likewise.
  6380. (ispunct): Likewise.
  6381. (isxdigit): Likewise.
  6382. (strcspn): Change to normal function.
  6383. (strpbkr): New function declaration.
  6384. (memchr): Likewise.
  6385. * script/lua/grub_main.c (scan_str): New function.
  6386. (strcspn): Likewise.
  6387. (strpbrk): Likewise.
  6388. (memchr): Likewise.
  6389. * script/lua/linit.c (lualibs): Enable the string library.
  6390. * util/osdetect.lua: New file.
  6391. 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
  6392. * include/grub/i386/linux.h (struct linux_kernel_params): Add
  6393. `capabilities' member.
  6394. 2009-07-02 Pavel Roskin <proski@gnu.org>
  6395. * genparttoollist.sh: Add missing newline at the end.
  6396. 2009-07-01 Pavel Roskin <proski@gnu.org>
  6397. * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
  6398. * util/hostdisk.c (open_device): Remove `const' from
  6399. `sysctl_size', as sysctlbyname() can change it (in this case it
  6400. doesn't actually happen).
  6401. * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
  6402. using signed long int constants.
  6403. * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
  6404. constant to avoid a warning on FreeBSD.
  6405. * util/hostdisk.c (device_is_wholedisk): Compile only on systems
  6406. where it's needed.
  6407. * Makefile.in: Install include/grub/machine symlink.
  6408. * Makefile.in: When installing symlinks, use "cp -fR", which
  6409. works on FreeBSD and MacOSX.
  6410. From Yves Blusseau <cl7m42e02@sneakemail.com>
  6411. * kern/dl.c (grub_dl_resolve_symbol): Make static.
  6412. * include/grub/dl.h: Remove grub_dl_resolve_symbol().
  6413. * util/misc.c: Move grub_reboot() and grub_halt() ...
  6414. * util/grub-emu.c: ... here. Make main_env static.
  6415. * include/grub/util/misc.h: Remove main_env.
  6416. * kern/mm.c: Use correct format to print size_t.
  6417. * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
  6418. * kern/i386/dl.c: Use ELF symbols without "32" or "64".
  6419. * kern/powerpc/dl.c: Likewise.
  6420. * kern/sparc64/dl.c: Likewise.
  6421. * kern/x86_64/dl.c: Likewise.
  6422. 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
  6423. Fix grub-emu build on sparc64-ieee1275.
  6424. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
  6425. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
  6426. 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
  6427. * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
  6428. (grub_reboot, grub_halt): New functions.
  6429. * util/i386/pc/misc.c: Delete. Update all users.
  6430. * util/sparc64/ieee1275/misc.c: Likewise.
  6431. * util/powerpc/ieee1275/misc.c: Likewise.
  6432. 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
  6433. * conf/i386.rmk (setjmp_mod_SOURCES)
  6434. (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
  6435. * conf/common.rmk (setjmp_mod_SOURCES)
  6436. (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
  6437. to use $(target_cpu).
  6438. * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
  6439. (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
  6440. * conf/powerpc-ieee1275.rmk: Likewise.
  6441. * conf/sparc64-ieee1275.rmk: Likewise.
  6442. * conf/i386-pc.rmk (kernel_img_SOURCES): Use
  6443. $(target_cpu) for kern/$(target_cpu)/dl.c.
  6444. * conf/i386-efi.rmk: Likewise.
  6445. * conf/i386-ieee1275.rmk: Likewise.
  6446. * conf/x86_64-efi.rmk: Likewise.
  6447. * conf/i386-coreboot.rmk: Likewise.
  6448. * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
  6449. $(target_cpu) for kern/$(target_cpu)/dl.c and for
  6450. kern/$(target_cpu)/cache.S.
  6451. * conf/sparc64-ieee1275.rmk: Likewise.
  6452. 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
  6453. * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
  6454. type to `grub_uint8_t', and adjust `padding9' accordingly.
  6455. 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
  6456. * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
  6457. * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
  6458. assembly in final jump, using register constraints.
  6459. (grub_linux_boot): For text mode, initialize `have_vga' using
  6460. GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
  6461. Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
  6462. right before the final jump.
  6463. Set `video_mode' to 0x3.
  6464. Document initialization of `video_page', `video_mode' and
  6465. `video_ega_bx'.
  6466. 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
  6467. * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
  6468. * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
  6469. and set GRUB_LINUX_FLAG_QUIET appropriately.
  6470. 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
  6471. Fix build on Debian / sparc.
  6472. * configure.ac: Recognize `sparc' target_cpu (as sparc64).
  6473. 2009-06-28 Pavel Roskin <proski@gnu.org>
  6474. * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
  6475. fix a warning.
  6476. * util/grub.d/10_linux.in: Match SUSE style initrd names.
  6477. 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
  6478. * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
  6479. `err'.
  6480. 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
  6481. Revert r2338.
  6482. * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
  6483. file can't be opened. grub_file_open() is already supposed to set
  6484. grub_errno / grub_errmsg appropriately.
  6485. * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
  6486. 2009-06-27 Pavel Roskin <proski@gnu.org>
  6487. 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
  6488. * include/grub/dl.h: Include grub/elf.h.
  6489. (struct grub_dl): Add symtab field.
  6490. * kern/dl.c [GRUB_MACHINE_QEMU]: Define
  6491. GRUB_MODULES_MACHINE_READONLY.
  6492. (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
  6493. of the header for read-only modules.
  6494. (grub_dl_unload): Free mod->symtab for read-only modules.
  6495. * kern/i386/dl.c: Use mod->symtab.
  6496. * kern/powerpc/dl.c: Likewise.
  6497. * kern/sparc64/dl.c: Likewise.
  6498. * kern/x86_64/dl.c: Likewise.
  6499. * conf/i386-qemu.rmk: New file.
  6500. * kern/i386/qemu/startup.S: Likewise.
  6501. * kern/i386/qemu/mmap.c: Likewise.
  6502. * boot/i386/qemu/boot.S: Likewise.
  6503. * include/grub/i386/qemu/time.h: Likewise.
  6504. * include/grub/i386/qemu/serial.h: Likewise.
  6505. * include/grub/i386/qemu/kernel.h: Likewise.
  6506. * include/grub/i386/qemu/console.h: Likewise.
  6507. * include/grub/i386/qemu/boot.h: Likewise.
  6508. * include/grub/i386/qemu/init.h: Likewise.
  6509. * include/grub/i386/qemu/machine.h: Likewise.
  6510. * include/grub/i386/qemu/loader.h: Likewise.
  6511. * include/grub/i386/qemu/memory.h: Likewise.
  6512. * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
  6513. (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
  6514. [qemu] (pkglib_IMAGES): Add `boot.img'.
  6515. [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
  6516. [qemu] (boot_img_FORMAT): New variables.
  6517. [qemu] (bin_UTILITIES): Add `grub-mkimage'.
  6518. [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
  6519. [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
  6520. [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
  6521. [qemu] (kernel_img_FORMAT): New variables.
  6522. * configure.ac: Recognise `i386-qemu'.
  6523. * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
  6524. (for no compression).
  6525. [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
  6526. a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
  6527. `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
  6528. `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
  6529. ifdefs).
  6530. 2009-06-27 Pavel Roskin <proski@gnu.org>
  6531. * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
  6532. read.
  6533. * efiemu/prepare32.c: Likewise.
  6534. * efiemu/prepare64.c: Likewise.
  6535. 2009-06-26 Pavel Roskin <proski@gnu.org>
  6536. * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
  6537. * include/grub/elf.h: Define symbols without "32" or "64" based
  6538. on GRUB_TARGET_WORDSIZE.
  6539. * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
  6540. * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
  6541. ELF definitions.
  6542. * efiemu/loadcore64.c: Likewise.
  6543. * loader/i386/bsd32.c: Likewise.
  6544. * loader/i386/bsd64.c: Likewise.
  6545. * kern/dl.c: Remove own ELF definitions.
  6546. * util/i386/efi/grub-mkimage.c: Likewise.
  6547. 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
  6548. * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
  6549. segment 0x0 unconditionally, because the reference generated by
  6550. GAS is an absolute address.
  6551. 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
  6552. * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
  6553. [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
  6554. 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
  6555. * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
  6556. indexes. Check for -f explicitly.
  6557. (search_file): Improve error message.
  6558. (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
  6559. 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
  6560. * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
  6561. (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
  6562. 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
  6563. * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
  6564. * conf/i386-ieee1275.rmk: Likewise.
  6565. * conf/i386-coreboot.rmk: Likewise.
  6566. * kern/i386/pc/startup.S (grub_stop): Remove function.
  6567. * kern/i386/ieee1275/startup.S: Likewise.
  6568. * kern/i386/coreboot/startup.S: Likewise.
  6569. * kern/i386/misc.S (grub_stop): New function.
  6570. 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
  6571. * kern/i386/pc/startup.S (real_to_prot): Move from here ...
  6572. * kern/i386/realmode.S (real_to_prot): ... to here.
  6573. 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
  6574. * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
  6575. with `kernel.img'.
  6576. (kernel_elf_SOURCES): Rename to ...
  6577. (kernel_img_SOURCES): ... this.
  6578. (kernel_elf_HEADERS): Rename to ...
  6579. (kernel_img_HEADERS): ... this. Update all users.
  6580. (kernel_elf_ASFLAGS): Rename to ...
  6581. (kernel_img_ASFLAGS): ... this.
  6582. (kernel_elf_CFLAGS): Rename to ...
  6583. (kernel_img_CFLAGS): ... this.
  6584. (kernel_elf_LDFLAGS): Rename to ...
  6585. (kernel_img_LDFLAGS): ... this.
  6586. * conf/i386-coreboot.rmk: Likewise.
  6587. * conf/powerpc-ieee1275.rmk: Likewise.
  6588. * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
  6589. with "kernel.img".
  6590. 2009-06-21 Pavel Roskin <proski@gnu.org>
  6591. * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
  6592. to match nested functions.
  6593. * loader/sparc64/ieee1275/linux.c: Likewise.
  6594. * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
  6595. 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
  6596. * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
  6597. all i386 platforms.
  6598. 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
  6599. Fix asm file handling on ELF, and remove workarounds.
  6600. * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
  6601. and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
  6602. * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
  6603. * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
  6604. 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
  6605. Load BSD ELF modules
  6606. * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
  6607. and loader/i386/bsd64.c
  6608. * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
  6609. (FREEBSD_MODTYPE_ELF_MODULE): New definition
  6610. (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
  6611. (grub_freebsd_load_elfmodule32): New declaration
  6612. (grub_freebsd_load_elfmoduleobj64): Likewise
  6613. (grub_freebsd_load_elf_meta32): Likewise
  6614. (grub_freebsd_load_elf_meta64): Likewise
  6615. (grub_freebsd_add_meta): Likewise
  6616. (grub_freebsd_add_meta_module): Likewise
  6617. * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
  6618. (grub_freebsd_add_meta_module): Likewise and move module-specific
  6619. parts to grub_cmd_freebsd and grub_cmd_freebsd_module
  6620. (grub_cmd_freebsd): Add elf-kernel specific parts
  6621. based on grub_freebsd_add_meta_module
  6622. (grub_cmd_freebsd_module): Add type parsing moved from
  6623. grub_freebsd_add_meta_module
  6624. (grub_cmd_freebsd_module_elf): New function
  6625. (cmd_freebsd_module_elf): New variable
  6626. (GRUB_MOD_INIT): Register freebsd_module_elf
  6627. * loader/i386/bsd32.c: New file
  6628. * loader/i386/bsd64.c: Likewise
  6629. * loader/i386/bsdXX.c: Likewise
  6630. * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
  6631. (grub_elf64_load): Likewise
  6632. * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
  6633. All users updated
  6634. (grub_elf64_load_hook_t): Likewise
  6635. 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
  6636. * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
  6637. variable.
  6638. * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
  6639. don't write a menu entry for recovery mode.
  6640. 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
  6641. * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
  6642. after it's no longer needed.
  6643. 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
  6644. * include/grub/i386/loader.h (grub_linux_prot_size)
  6645. (grub_linux_tmp_addr, grub_linux_real_addr)
  6646. (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
  6647. GRUB_MACHINE_PCBIOS.
  6648. * util/i386/pc/grub-mkimage.c (compress_kernel): Move
  6649. common grub_util_info() call to ...
  6650. (generate_image): ... here.
  6651. Fix use of uninitialized memory, comparison of signed with
  6652. unsigned integers and memory leak.
  6653. Remove bogus module address message.
  6654. 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
  6655. * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
  6656. grub_raid_register
  6657. * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
  6658. 2009-06-19 Pavel Roskin <proski@gnu.org>
  6659. * configure.ac: Remove stray AC_MSG_CHECKING.
  6660. 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
  6661. * disk/scsi.c (grub_scsi_open): use continue instead of big if
  6662. 2009-06-18 Pavel Roskin <proski@gnu.org>
  6663. * conf/common.rmk: Add fs_file.mod.
  6664. * disk/fs_file.c: New file.
  6665. * include/grub/disk.h (enum grub_disk_dev_id): Add
  6666. GRUB_DISK_DEVICE_FILE_ID.
  6667. 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
  6668. Fix build with Apple's toolchain. Part 2
  6669. * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
  6670. a fake start
  6671. 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
  6672. Fix build with Apple's toolchain. Part 1
  6673. * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
  6674. for long calls
  6675. * configure.ac: remove a leftover AC_MSG_RESULT
  6676. (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
  6677. Apple's toolchain
  6678. 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
  6679. Fix warnings
  6680. * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
  6681. (decomp_block): initialize ch
  6682. use grub_memcpy instead of memcpy
  6683. 2009-06-17 Pavel Roskin <proski@gnu.org>
  6684. * include/grub/i386/coreboot/console.h: Don't use the i386-pc
  6685. version, use declarations needed to use vga_text as the startup
  6686. console.
  6687. * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
  6688. term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
  6689. the kernel.
  6690. * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
  6691. and grub_at_keyboard_fini(), it's done on module load and
  6692. unload.
  6693. 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
  6694. * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
  6695. file can't be found.
  6696. * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
  6697. 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
  6698. Fix newline handling
  6699. * include/grub/script_sh.h (grub_lexer_param): new field was_newline
  6700. * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
  6701. (grub_script_yylex): don't segfault on unterminated script
  6702. newline terminates command and variable
  6703. 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
  6704. avoid double grub_adjust_range call. Bug reported by David Simner
  6705. * kern/disk.c (grub_disk_write): change to raw disk access before
  6706. calling disk_read
  6707. 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
  6708. * util/elf/grub-mkimage.c (usage): Prefix each option line with two
  6709. spaces, for the benefit of help2man.
  6710. * util/i386/efi/grub-mkimage.c (usage): Likewise.
  6711. 2009-06-16 Pavel Roskin <proski@gnu.org>
  6712. * kern/i386/halt.c: Include grub/machine/init.h.
  6713. * kern/i386/reboot.c: Include grub/cpu/reboot.h.
  6714. 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
  6715. * util/grub.d/30_os-prober.in: Use ${root} in the generated
  6716. drivemap menuentry.
  6717. 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
  6718. * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
  6719. `echo' command.
  6720. 2009-06-16 Pavel Roskin <proski@gnu.org>
  6721. * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
  6722. boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
  6723. save %dx, we only need %dl and we never change it.
  6724. * boot/i386/pc/cdboot.S: Don't set the root drive.
  6725. * boot/i386/pc/pxeboot.S: Likewise.
  6726. * include/grub/i386/pc/boot.h: Remove
  6727. GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
  6728. GRUB_BOOT_MACHINE_DRIVE_CHECK.
  6729. * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
  6730. * kern/i386/pc/init.c (make_install_device): Remove references
  6731. to grub_root_drive.
  6732. * kern/i386/pc/startup.S: Likewise.
  6733. * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
  6734. 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
  6735. xnu_uuid command
  6736. * commands/xnu_uuid.c: new file
  6737. * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
  6738. (xnu_uuid_mod_SOURCES): new variable
  6739. (xnu_uuid_mod_CFLAGS): likewise
  6740. (xnu_uuid_mod_LDFLAGS): likewise
  6741. * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
  6742. * conf/i386-ieee1275.rmk: likewise
  6743. * conf/i386-pc.rmk: likewise
  6744. * conf/powerpc-ieee1275.rmk: likewise
  6745. * conf/sparc64-ieee1275.rmk: likewise
  6746. * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
  6747. 2009-06-16 Pavel Roskin <proski@gnu.org>
  6748. * configure.ac: Avoid '==' in test command, it's not portable.
  6749. 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
  6750. Probe command
  6751. * commands/probe.c: new file
  6752. * conf/common.rmk (pkglib_MODULES): add probe.mod
  6753. (probe_mod_SOURCES): new variable
  6754. (probe_mod_CFLAGS): likewise
  6755. (probe_mod_LDFLAGS): likewise
  6756. * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
  6757. * conf/i386-ieee1275.rmk: likewise
  6758. * conf/i386-pc.rmk: likewise
  6759. * conf/powerpc-ieee1275.rmk: likewise
  6760. * conf/sparc64-ieee1275.rmk: likewise
  6761. 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
  6762. Fix handling of string like \"hello\" and "a
  6763. b"
  6764. * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
  6765. (grub_script_yylex): fix parsing of quoting, escaping and newline
  6766. 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
  6767. * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
  6768. handling
  6769. 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
  6770. * util/grub-mkconfig.in: Fix parsing of --output option.
  6771. 2009-06-12 Pavel Roskin <proski@gnu.org>
  6772. * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
  6773. genmk.rb don't need to be generated or installed.
  6774. 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
  6775. * commands/i386/pc/drivemap_int13h.S: add more comments
  6776. 2009-06-11 Pavel Roskin <proski@gnu.org>
  6777. * Makefile.in (uninstall): Uninstall manuals.
  6778. * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
  6779. PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
  6780. and update-grub_lib in two places.
  6781. * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
  6782. * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
  6783. a compiler warning.
  6784. * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
  6785. `entry_lo' to fix variable shadowing.
  6786. 2009-06-11 Christian Franke <franke@computer.org>
  6787. * kern/misc.c (__enable_execute_stack): Add missing return type
  6788. to prevent gcc warning.
  6789. 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
  6790. * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
  6791. 2009-06-11 Pavel Roskin <proski@gnu.org>
  6792. * Makefile.in: Don't rely on any scripts being executable.
  6793. Always use $(SHELL) to run shell scripts.
  6794. * configure.ac: Always define ___main if using -nostdlib. This
  6795. fixes tests on Cygwin.
  6796. 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
  6797. UDF fix
  6798. * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
  6799. is in bytes and not in blocks
  6800. 2009-06-11 Pavel Roskin <proski@gnu.org>
  6801. * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
  6802. warning.
  6803. 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
  6804. * util/grub.d/30_os-prober.in: Fix a comment. Source
  6805. ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
  6806. to set the root device. Place drivemap command in the generated
  6807. chain entry.
  6808. 2009-06-11 Pavel Roskin <proski@gnu.org>
  6809. * configure.ac: Remove host_m32. Issues with 64-bit utilities
  6810. have long been resolved.
  6811. 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
  6812. * util/grub.d/10_linux.in: Capitalise "Linux".
  6813. * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
  6814. 2009-06-11 Pavel Roskin <proski@gnu.org>
  6815. * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
  6816. fix a gcc warning and ensure that the function won't ever exit.
  6817. * kern/i386/ieee1275/init.c: Add missing prototype for
  6818. grub_stop_floppy().
  6819. * loader/ieee1275/multiboot2.c [__i386__]: Include
  6820. grub/cpu/multiboot.h.
  6821. * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
  6822. casts to short - they are not portable and cause warnings. Fix
  6823. use of uninitialized values in input_buf. Use ARRAY_SIZE.
  6824. 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
  6825. Drivemap fixes
  6826. * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
  6827. new function
  6828. (grub_get_root_biosnumber_saved): new variable
  6829. (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
  6830. (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
  6831. * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
  6832. %dx after the call if necessary
  6833. * conf/common.rmk (pkglib_MODULES): remove boot.mod
  6834. (boot_mod_SOURCES): remove
  6835. (boot_mod_CFLAGS): remove
  6836. (boot_mod_LDFLAGS): remove
  6837. * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
  6838. (boot_mod_SOURCES): new variable
  6839. (boot_mod_CFLAGS): likewise
  6840. (boot_mod_LDFLAGS): likewise
  6841. * conf/i386-efi.rmk: likewise
  6842. * conf/i386-ieee1275.rmk: likewise
  6843. * conf/i386-pc.rmk: likewise
  6844. * conf/powerpc-ieee1275.rmk: likewise
  6845. * conf/sparc64-ieee1275.rmk: likewise
  6846. * conf/x86_64-efi.rmk: likewise
  6847. * include/grub/i386/pc/biosnum.h: new file
  6848. * lib/i386/pc/biosnum.c: likewise
  6849. * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
  6850. * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
  6851. * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
  6852. 2009-06-10 Pavel Roskin <proski@gnu.org>
  6853. * io/gzio.c (test_header): Don't reuse one buffer for all data.
  6854. Use separate variables. Read only the file size at the end, but
  6855. not the checksum that we don't use.
  6856. * kern/file.c (grub_file_read): Use void pointer for the buffer.
  6857. Adjust all callers.
  6858. * kern/ieee1275/openfw.c: Remove libc includes.
  6859. * kern/ieee1275/cmain.c: Likewise.
  6860. * include/grub/ieee1275/ieee1275.h: Likewise.
  6861. * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
  6862. compiler warnings.
  6863. 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
  6864. * Makefile.in: Remove all trailing whitespace.
  6865. * conf/i386-pc.rmk: Likewise.
  6866. * conf/powerpc-ieee1275.rmk: Likewise.
  6867. * conf/sparc64-ieee1275.rmk: Likewise.
  6868. * docs/grub.texi: Likewise.
  6869. * docs/texinfo.tex: Likewise.
  6870. * disk/fs_uuid.c: Likewise.
  6871. * disk/lvm.c: Likewise.
  6872. * disk/scsi.c: Likewise.
  6873. * disk/ata.c: Likewise.
  6874. * disk/ieee1275/ofdisk.c: Likewise.
  6875. * disk/i386/pc/biosdisk.c: Likewise.
  6876. * disk/host.c: Likewise.
  6877. * disk/raid.c: Likewise.
  6878. * disk/efi/efidisk.c: Likewise.
  6879. * disk/usbms.c: Likewise.
  6880. * disk/memdisk.c: Likewise.
  6881. * disk/loopback.c: Likewise.
  6882. * kern/powerpc/dl.c: Likewise.
  6883. * kern/device.c: Likewise.
  6884. * kern/dl.c: Likewise.
  6885. * kern/sparc64/dl.c: Likewise.
  6886. * kern/ieee1275/ieee1275.c: Likewise.
  6887. * kern/term.c: Likewise.
  6888. * kern/fs.c: Likewise.
  6889. * kern/i386/dl.c: Likewise.
  6890. * kern/i386/pc/startup.S: Likewise.
  6891. * kern/i386/pc/init.c: Likewise.
  6892. * kern/i386/pc/mmap.c: Likewise.
  6893. * kern/i386/pc/lzo1x.S: Likewise.
  6894. * kern/i386/ieee1275/init.c: Likewise.
  6895. * kern/i386/realmode.S: Likewise.
  6896. * kern/i386/tsc.c: Likewise.
  6897. * kern/partition.c: Likewise.
  6898. * kern/corecmd.c: Likewise.
  6899. * kern/file.c: Likewise.
  6900. * kern/efi/efi.c: Likewise.
  6901. * kern/efi/init.c: Likewise.
  6902. * kern/efi/mm.c: Likewise.
  6903. * kern/main.c: Likewise.
  6904. * kern/err.c: Likewise.
  6905. * kern/env.c: Likewise.
  6906. * kern/disk.c: Likewise.
  6907. * kern/generic/millisleep.c: Likewise.
  6908. * kern/generic/rtc_get_time_ms.c: Likewise.
  6909. * kern/misc.c: Likewise.
  6910. * kern/parser.c: Likewise.
  6911. * genmk.rb: Likewise.
  6912. * configure.ac: Likewise.
  6913. * boot/i386/pc/diskboot.S: Likewise.
  6914. * boot/i386/pc/pxeboot.S: Likewise.
  6915. * boot/i386/pc/boot.S: Likewise.
  6916. * boot/i386/pc/lnxboot.S: Likewise.
  6917. * boot/i386/pc/cdboot.S: Likewise.
  6918. * parttool/pcpart.c: Likewise.
  6919. * video/readers/tga.c: Likewise.
  6920. * video/video.c: Likewise.
  6921. * video/bitmap.c: Likewise.
  6922. * lib/envblk.c: Likewise.
  6923. * lib/i386/setjmp.S: Likewise.
  6924. * fs/xfs.c: Likewise.
  6925. * fs/afs.c: Likewise.
  6926. * fs/fat.c: Likewise.
  6927. * fs/ntfs.c: Likewise.
  6928. * fs/udf.c: Likewise.
  6929. * fs/affs.c: Likewise.
  6930. * fs/iso9660.c: Likewise.
  6931. * fs/hfs.c: Likewise.
  6932. * fs/fshelp.c: Likewise.
  6933. * fs/ext2.c: Likewise.
  6934. * fs/jfs.c: Likewise.
  6935. * fs/reiserfs.c: Likewise.
  6936. * fs/hfsplus.c: Likewise.
  6937. * fs/minix.c: Likewise.
  6938. * fs/cpio.c: Likewise.
  6939. * fs/sfs.c: Likewise.
  6940. * fs/ufs.c: Likewise.
  6941. * efiemu/prepare.c: Likewise.
  6942. * efiemu/loadcore_common.c: Likewise.
  6943. * efiemu/runtime/efiemu.sh: Likewise.
  6944. * efiemu/runtime/efiemu.S: Likewise.
  6945. * efiemu/runtime/efiemu.c: Likewise.
  6946. * efiemu/pnvram.c: Likewise.
  6947. * efiemu/main.c: Likewise.
  6948. * efiemu/i386/pc/cfgtables.c: Likewise.
  6949. * efiemu/i386/loadcore64.c: Likewise.
  6950. * efiemu/i386/loadcore32.c: Likewise.
  6951. * efiemu/loadcore.c: Likewise.
  6952. * efiemu/symbols.c: Likewise.
  6953. * efiemu/mm.c: Likewise.
  6954. * include/grub/autoefi.h: Likewise.
  6955. * include/grub/datetime.h: Likewise.
  6956. * include/grub/term.h: Likewise.
  6957. * include/grub/hfs.h: Likewise.
  6958. * include/grub/lvm.h: Likewise.
  6959. * include/grub/i386/tsc.h: Likewise.
  6960. * include/grub/i386/linux.h: Likewise.
  6961. * include/grub/i386/xnu.h: Likewise.
  6962. * include/grub/i386/efiemu.h: Likewise.
  6963. * include/grub/i386/pc/biosdisk.h: Likewise.
  6964. * include/grub/i386/pc/memory.h: Likewise.
  6965. * include/grub/i386/pc/vbe.h: Likewise.
  6966. * include/grub/parttool.h: Likewise.
  6967. * include/grub/video.h: Likewise.
  6968. * include/grub/memory.h: Likewise.
  6969. * include/grub/fs.h: Likewise.
  6970. * include/grub/partition.h: Likewise.
  6971. * include/grub/xnu.h: Likewise.
  6972. * include/grub/efi/api.h: Likewise.
  6973. * include/grub/efi/pe32.h: Likewise.
  6974. * include/grub/efi/memory.h: Likewise.
  6975. * include/grub/multiboot.h: Likewise.
  6976. * include/grub/usbdesc.h: Likewise.
  6977. * include/grub/multiboot2.h: Likewise.
  6978. * include/grub/acpi.h: Likewise.
  6979. * include/grub/efiemu/efiemu.h: Likewise.
  6980. * include/grub/disk.h: Likewise.
  6981. * include/grub/ieee1275/ieee1275.h: Likewise.
  6982. * include/grub/net.h: Likewise.
  6983. * include/grub/machoload.h: Likewise.
  6984. * include/grub/macho.h: Likewise.
  6985. * include/multiboot.h: Likewise.
  6986. * genmoddep.awk: Likewise.
  6987. * normal/main.c: Likewise.
  6988. * normal/menu_entry.c: Likewise.
  6989. * normal/menu_viewer.c: Likewise.
  6990. * normal/completion.c: Likewise.
  6991. * normal/cmdline.c: Likewise.
  6992. * normal/misc.c: Likewise.
  6993. * normal/datetime.c: Likewise.
  6994. * bus/usb/usbtrans.c: Likewise.
  6995. * bus/usb/ohci.c: Likewise.
  6996. * bus/usb/uhci.c: Likewise.
  6997. * bus/usb/usb.c: Likewise.
  6998. * mmap/efi/mmap.c: Likewise.
  6999. * mmap/i386/pc/mmap_helper.S: Likewise.
  7000. * mmap/i386/pc/mmap.c: Likewise.
  7001. * mmap/i386/mmap.c: Likewise.
  7002. * mmap/i386/uppermem.c: Likewise.
  7003. * mmap/mmap.c: Likewise.
  7004. * commands/acpi.c: Likewise.
  7005. * commands/echo.c: Likewise.
  7006. * commands/blocklist.c: Likewise.
  7007. * commands/loadenv.c: Likewise.
  7008. * commands/usbtest.c: Likewise.
  7009. * commands/boot.c: Likewise.
  7010. * commands/parttool.c: Likewise.
  7011. * commands/search.c: Likewise.
  7012. * commands/cat.c: Likewise.
  7013. * commands/i386/pc/play.c: Likewise.
  7014. * commands/i386/pc/drivemap.c: Likewise.
  7015. * commands/i386/pc/vbeinfo.c: Likewise.
  7016. * commands/i386/pc/acpi.c: Likewise.
  7017. * commands/i386/pc/vbetest.c: Likewise.
  7018. * commands/ls.c: Likewise.
  7019. * commands/cmp.c: Likewise.
  7020. * commands/test.c: Likewise.
  7021. * commands/efi/acpi.c: Likewise.
  7022. * commands/gptsync.c: Likewise.
  7023. * commands/help.c: Likewise.
  7024. * partmap/amiga.c: Likewise.
  7025. * partmap/apple.c: Likewise.
  7026. * partmap/acorn.c: Likewise.
  7027. * partmap/pc.c: Likewise.
  7028. * partmap/sun.c: Likewise.
  7029. * partmap/gpt.c: Likewise.
  7030. * script/sh/lexer.c: Likewise.
  7031. * script/sh/function.c: Likewise.
  7032. * font/font.c: Likewise.
  7033. * font/font_cmd.c: Likewise.
  7034. * loader/powerpc/ieee1275/linux.c: Likewise.
  7035. * loader/efi/chainloader.c: Likewise.
  7036. * loader/multiboot_loader.c: Likewise.
  7037. * loader/macho.c: Likewise.
  7038. * loader/i386/multiboot.c: Likewise.
  7039. * loader/i386/linux.c: Likewise.
  7040. * loader/i386/pc/linux.c: Likewise.
  7041. * loader/i386/pc/multiboot2.c: Likewise.
  7042. * loader/i386/pc/chainloader.c: Likewise.
  7043. * loader/i386/pc/xnu.c: Likewise.
  7044. * loader/i386/bsd_trampoline.S: Likewise.
  7045. * loader/i386/efi/linux.c: Likewise.
  7046. * loader/i386/multiboot_elfxx.c: Likewise.
  7047. * loader/i386/bsd_helper.S: Likewise.
  7048. * loader/i386/bsd.c: Likewise.
  7049. * loader/i386/linux_trampoline.S: Likewise.
  7050. * loader/i386/xnu_helper.S: Likewise.
  7051. * loader/i386/xnu.c: Likewise.
  7052. * loader/i386/bsd_pagetable.c: Likewise.
  7053. * loader/i386/multiboot_helper.S: Likewise.
  7054. * loader/xnu.c: Likewise.
  7055. * loader/xnu_resume.c: Likewise.
  7056. * io/gzio.c: Likewise.
  7057. * term/efi/console.c: Likewise.
  7058. * term/terminfo.c: Likewise.
  7059. * term/ieee1275/ofconsole.c: Likewise.
  7060. * term/i386/pc/serial.c: Likewise.
  7061. * term/i386/pc/vesafb.c: Likewise.
  7062. * term/i386/pc/vga.c: Likewise.
  7063. * term/usb_keyboard.c: Likewise.
  7064. * term/gfxterm.c: Likewise.
  7065. * aclocal.m4: Likewise.
  7066. * util/lvm.c: Likewise.
  7067. * util/grub.d/30_os-prober.in: Likewise.
  7068. * util/grub.d/10_hurd.in: Likewise.
  7069. * util/console.c: Likewise.
  7070. * util/grub-macho2img.c: Likewise.
  7071. * util/grub-probe.c: Likewise.
  7072. * util/hostfs.c: Likewise.
  7073. * util/i386/pc/grub-mkimage.c: Likewise.
  7074. * util/i386/pc/grub-setup.c: Likewise.
  7075. * util/i386/efi/grub-mkimage.c: Likewise.
  7076. * util/grub-mkconfig.in: Likewise.
  7077. * util/raid.c: Likewise.
  7078. * util/resolve.c: Likewise.
  7079. * util/grub-mkdevicemap.c: Likewise.
  7080. * util/grub-emu.c: Likewise.
  7081. * util/getroot.c: Likewise.
  7082. * util/hostdisk.c: Likewise.
  7083. * util/usb.c: Likewise.
  7084. * util/grub-editenv.c: Likewise.
  7085. * util/misc.c: Likewise.
  7086. 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
  7087. * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
  7088. `genparttoollist.sh'.
  7089. (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
  7090. Add `*.sh' to the list find searches for and change `mdate.sh'
  7091. to `mdate-sh'.
  7092. 2009-06-10 Pavel Roskin <proski@gnu.org>
  7093. * include/grub/multiboot2.h: Provide compatibility defines for
  7094. multiboot2.h.
  7095. * include/multiboot2.h: Include stdint.h only if needed, using
  7096. angle brackets.
  7097. * loader/i386/pc/multiboot2.c: Include multiboot2.h after
  7098. grub/multiboot2.h.
  7099. * loader/ieee1275/multiboot2.c: Likewise.
  7100. * loader/multiboot2.c: Likewise.
  7101. * loader/multiboot_loader.c: Likewise.
  7102. * configure.ac: Use -nostdlib when probing for the target. It
  7103. should not be required to have libc for the target.
  7104. * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
  7105. they fail without libc headers for the target.
  7106. * include/grub/powerpc/libgcc.h: Use weak attribute for all
  7107. exports.
  7108. * include/grub/sparc64/libgcc.h: Likewise. Don't use
  7109. preprocessor conditionals.
  7110. * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
  7111. build system doesn't need to be aware of the tar.c internals.
  7112. 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
  7113. * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
  7114. 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
  7115. * util/deviceiter.c (grub_util_iterate_devices): Increase number of
  7116. disk limit to 26 for IDE, Virtio, Xen and SCSI.
  7117. 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
  7118. * util/i386/pc/grub-install.in: Change the error message if UUIDs
  7119. aren't available if ata.mod gets used.
  7120. 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
  7121. * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
  7122. initialising controller.
  7123. * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
  7124. 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
  7125. * util/i386/pc/grub-install.in: Add a parameter --disk-module
  7126. to choose between ata and biosdisk module on i386-pc.
  7127. 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
  7128. * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
  7129. Subclass and Programming Interface fields in terms of the 3 byte
  7130. Class Code register.
  7131. * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
  7132. * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
  7133. interface is OHCI. Add grub_dprintf for symmetry with
  7134. bus/usb/uhci.c.
  7135. * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
  7136. interface is UHCI. Add interf variable for programming
  7137. interface. Print interface with class/subclass.
  7138. * bus/usb/ohci.c: Set interf with correct field.
  7139. * bus/usb/uhci.c: Remove unneeded doubled lines.
  7140. * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
  7141. Remove whitespace inside comment.
  7142. 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
  7143. * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
  7144. as fallback an equivalent option without depth.
  7145. 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
  7146. Not fail if unable to retrieve C/H/S on LBA disks
  7147. * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
  7148. if unable to retrieve C/H/S on LBA disks
  7149. 2009-06-08 Pavel Roskin <proski@gnu.org>
  7150. * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
  7151. about aliasing.
  7152. 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
  7153. * Makefile.in (uninstall): Remove all $lib_DATA files.
  7154. 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
  7155. Bugfix: install on partitionless device
  7156. * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
  7157. is a whole disk
  7158. 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
  7159. * Makefile.in (uninstall): Remove all $include_DATA files.
  7160. 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
  7161. * commands/true.c: New file. Implement the true and false commands.
  7162. * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
  7163. (true_mod_SOURCES): New variable.
  7164. (true_mod_CFLAGS): Likewise.
  7165. (true_mod_LDFLAGS): Likewise.
  7166. 2009-06-05 Colin D Bennett <colin@gibibit.com>
  7167. Optimized font character lookup using binary search instead of linear
  7168. search. Fonts now are required to have the character index ordered by
  7169. code point.
  7170. * font/font.c (load_font_index): Verify that fonts have ordered
  7171. character indices.
  7172. (find_glyph): Use binary search instead of linear search to find a
  7173. character in a font.
  7174. 2009-06-05 Michael Scherer <misc@mandriva.org>
  7175. * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
  7176. uses case sensitive btree.
  7177. (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
  7178. only for case insensitive filesystems.
  7179. 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
  7180. * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
  7181. * conf/common.rmk (search_mod_CFLAGS): likewise
  7182. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7183. * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
  7184. compensate a compiler bug
  7185. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7186. * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
  7187. instead of '\b'
  7188. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7189. Definitions for creating asm symbols with Apple's CC
  7190. * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
  7191. [APPLE_CC] (VARIABLE): likewise
  7192. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7193. Disable lnxboot.img when compiled
  7194. with Apple's CC
  7195. * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
  7196. pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
  7197. * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
  7198. [! APPLE_CC] (CODE_LENG): skip
  7199. [! APPLE_CC] (setup_sects): likewise
  7200. [! APPLE_CC]: skip filling
  7201. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7202. Address in trampolines based on 32-bit registers when compiled
  7203. with Apple's CC
  7204. * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
  7205. for addresses
  7206. * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
  7207. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7208. Avoid aliases when compiling with Apple's CC for PCBIOS machine
  7209. * kern/misc.c [APPLE_CC] (memcpy): new function
  7210. [APPLE_CC] (memmove): likewise
  7211. [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
  7212. (memcpy): define alias conditionally on !APPLE_CC
  7213. (memset): likewise
  7214. (abort): likewise
  7215. * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
  7216. APPLE_CC are defined
  7217. * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
  7218. (grub_assert_fail): make prototype conditional
  7219. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7220. Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
  7221. * conf/common.rmk (bin_UTILITIES): add (on false on condition)
  7222. grub-macho2img
  7223. (CLEANFILES): add grub-macho2img
  7224. (grub_macho2img_SOURCES): new variable
  7225. * kern/i386/pc/startup.S (bss_start): new variable
  7226. (bss_end): likewise
  7227. * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
  7228. * util/grub-macho2img.c: new file
  7229. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7230. Use objconv when compiling with Apple's CC
  7231. * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
  7232. (efiemu64.o): likewise
  7233. (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
  7234. when compiling with Apple's CC
  7235. (efiemu64_s.o): likewise
  7236. * configure.ac: check for objconv when compiling with Apple's CC
  7237. * genmk.rb: use objconv for modules when compiled with Apple's CC
  7238. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7239. Define segment as well as section when compiling with
  7240. Apple's CC
  7241. * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
  7242. (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
  7243. (efiemu_convert_pointer): likewise
  7244. (efiemu_set_virtual_address_map): likewise
  7245. (efiemu_convert_pointer): likewise
  7246. (efiemu_getcrc32): likewise
  7247. (init_crc32_table): likewise
  7248. (reflect): likewise
  7249. * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
  7250. (GRUB_MOD_DEP): likewise
  7251. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7252. Allow a compilation without -mcmodel=large
  7253. * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
  7254. when compiled without -mcmodel=large
  7255. (filter_memory_map): remove memory post 4 GiB when compiled
  7256. without -mcmodel=large
  7257. * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
  7258. TARGET_CFLAGS when -mcmodel=large isn't supported
  7259. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7260. Remove nested functions in efiemu core
  7261. * efiemu/runtime/efiemu.c (reflect): make static instead of nested
  7262. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7263. Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
  7264. * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
  7265. temporary storage
  7266. * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
  7267. using Apple's CC
  7268. (grub_cpu_is_tsc_supported): likewise
  7269. * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
  7270. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7271. Absolute addressing through constant with Apple's cc
  7272. * kern/i386/pc/startup.S: Define necessary constants
  7273. and address through it when using ABS with Apple's CC
  7274. * boot/i386/pc/diskboot.S: likewise
  7275. * boot/i386/pc/boot.S: likewise
  7276. * boot/i386/pc/lnxboot.S: likewise
  7277. * boot/i386/pc/cdboot.S: likewise
  7278. * mmap/i386/pc/mmap_helper.S: likewise
  7279. * commands/i386/pc/drivemap_int13h.S: likewise
  7280. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7281. Check if compiler is apple cc
  7282. * Makefile.in (ASFLAGS): new variable
  7283. (TARGET_ASFLAGS): likewise
  7284. (TARGET_MODULE_FORMAT): likewise
  7285. (TARGET_APPLE_CC): likewise
  7286. (OBJCONV): likewise
  7287. (TARGET_IMG_CFLAGS): likewise
  7288. (TARGET_CPPFLAGS): add includedir
  7289. * configure.ac: call grub_apple_cc and grub_apple_target_cc
  7290. (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
  7291. Check for linker script only if compiler isn't Apple's CC
  7292. (TARGET_MODULE_FORMAT): set
  7293. (TARGET_APPLE_CC): likewise
  7294. (TARGET_ASFLAGS): likewise
  7295. (ASFLAGS): likewise
  7296. Check for objcopy only if compiler isn't Apple's CC
  7297. Check for BSS symbol only if compiler isn't Apple's CC
  7298. * genmk.rb: adapt nm options if we use Apple's utils
  7299. * aclocal.m4 (grub_apple_cc): new test
  7300. (grub_apple_target_cc): likewise
  7301. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7302. Simplify sed expressions and improve awk
  7303. * Makefile.in (install-local): simplify sed expression
  7304. * gencmdlist.sh: likewise
  7305. * genmoddep.awk: avoid adding module as a dependency of itself
  7306. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7307. Add missing start symbols
  7308. * boot/i386/pc/boot.S: add start
  7309. * boot/i386/pc/pxeboot.S: likewise
  7310. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7311. Fix wrong assumptions with grub-mkimage on EFI
  7312. * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
  7313. (relocate_addresses): consider both r_addend and value at offset
  7314. (make_mods_section): zerofill modinfo and header
  7315. (convert_elf): write prefix here
  7316. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7317. Use .asciz instead of .string
  7318. * i386/pc/diskboot.S: use .asciz instead of .string
  7319. * i386/pc/boot.S: likewise
  7320. * include/grub/dl.h (GRUB_MOD_DEP): likewise
  7321. (GRUB_MOD_NAME): likewise
  7322. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7323. gfxpayload support
  7324. * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
  7325. * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
  7326. (grub_video_setup): remove
  7327. (grub_video_set_mode): new prototype
  7328. * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
  7329. (vid_mode): remove
  7330. (linux_vesafb_res): compile only on PCBIOS
  7331. (grub_linux_boot): support gfxpayload
  7332. * loader/i386/pc/xnu.c (video_hook): new function
  7333. (grub_xnu_set_video): support gfxpayload
  7334. * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
  7335. (DEFAULT_VIDEO_HEIGHT): likewise
  7336. (DEFAULT_VIDEO_FLAGS): likewise
  7337. (DEFAULT_VIDEO_MODE): new definition
  7338. (video_hook): new function
  7339. (grub_gfxterm_init): use grub_video_set_mode
  7340. * util/grub.d/30_os-prober.in: remove explicit modesetting before
  7341. loading xnu
  7342. * video/video.c (grub_video_setup): removed
  7343. (grub_video_set_mode): new function based on grub_gfxterm_init and
  7344. grub_video_setup
  7345. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7346. Avoid calling biosdisk in drivemap
  7347. * commands/i386/pc/drivemap.c (parse_biosdisk): remove
  7348. (revparse_biosdisk): likewise
  7349. (list_mappings): derive name from id directly
  7350. (grub_cmd_drivemap): use tryparse_diskstring
  7351. 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
  7352. Script fixes
  7353. * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
  7354. (grub_lexer_param): add tokenonhold
  7355. (grub_script_create_cmdline): remove cmdline. All callers updated
  7356. (grub_script_function_create): make functionname
  7357. grub_script_arg. All callers updated
  7358. (grub_script_execute_argument_to_string): new prototype
  7359. * kern/parser.c (state_transitions): reorder
  7360. (grub_parser_cmdline_state): fix a bug and make more compact
  7361. * script/sh/execute.c (grub_script_execute_argument_to_string):
  7362. make global
  7363. (grub_script_execute_cmdline): use new format
  7364. * script/sh/function.c (grub_script_function_create): make functionname
  7365. grub_script_arg. All callers updated
  7366. * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
  7367. (grub_script_yylex): remove
  7368. (grub_script_yylex2): renamed to ...
  7369. (grub_script_yylex): ...renamed
  7370. parse the expressions like a${b}c
  7371. * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
  7372. (GRUB_PARSER_TOKEN_VAR): remove
  7373. (GRUB_PARSER_TOKEN_NAME): likewise
  7374. ("if"): declare as typeless
  7375. ("while"): likewise
  7376. ("function"): likewise
  7377. ("else"): likewise
  7378. ("then"): likewise
  7379. ("fi"): likewise
  7380. (text): remove
  7381. (argument): likewise
  7382. (script): accept empty scripts and make exit on error
  7383. (arguments): use GRUB_PARSER_TOKEN_ARG
  7384. (function): likewise
  7385. (command): move error handling to script
  7386. (menuentry): move grub_script_lexer_ref before
  7387. * script/sh/script.c (grub_script_create_cmdline): remove cmdline
  7388. argument. All callers updated
  7389. 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
  7390. Prevent GRUB from probing floppies during boot.
  7391. * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
  7392. * commands/search.c (options): Add --no-floppy.
  7393. (search_fs, search_file, grub_cmd_search): Support --no-floppy.
  7394. * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
  7395. --no-floppy when searching for UUIDs.
  7396. 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
  7397. Simplify the code duplication in commands/search.c.
  7398. * commands/search.c (search_label, search_fs_uuid): Merge into ...
  7399. (search_fs): ... this. Update all users.
  7400. 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
  7401. * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
  7402. 2009-05-28 Pavel Roskin <proski@gnu.org>
  7403. * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
  7404. Remove the original symlink explicitly.
  7405. * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
  7406. just one slash. That's how grub_fshelp_find_file() does it.
  7407. 2009-05-26 Pavel Roskin <proski@gnu.org>
  7408. * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
  7409. to `str'.
  7410. * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
  7411. possibly unused.
  7412. 2009-05-25 Christian Franke <franke@computer.org>
  7413. * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
  7414. register.
  7415. (grub_atapi_identify): Add wait after drive select.
  7416. (grub_ata_identify): Do more strict status register check before
  7417. calling grub_atapi_identify (). Suppress error message if status
  7418. register is 0x00 after command failure. Add status register
  7419. check after PIO read to avoid bogus identify due to stuck DRQ.
  7420. Thanks to Pavel Roskin for testing.
  7421. (grub_device_initialize): Remove unsafe status register check.
  7422. Thanks to 'phcoder' for problem report and patch.
  7423. Prevent sign extension in debug message.
  7424. 2009-05-23 Colin D Bennett <colin@gibibit.com>
  7425. Cleaned up `include/grub/normal.h'. Grouped prototypes by
  7426. definition file, and functions defined in `normal/menu.c' have had
  7427. their prototypes moved to `include/grub/menu.h' for consistency.
  7428. * include/grub/menu.h (grub_menu_execute_callback): Added; moved
  7429. from normal.h.
  7430. (grub_menu_get_entry): Likewise.
  7431. (grub_menu_get_timeout): Likewise.
  7432. (grub_menu_set_timeout): Likewise.
  7433. (grub_menu_execute_entry): Likewise.
  7434. (grub_menu_execute_with_fallback): Likewise.
  7435. (grub_menu_entry_run): Likewise.
  7436. * include/grub/normal.h: Re-ordered and grouped function
  7437. prototypes by file that the function is defined in.
  7438. (grub_menu_execute_callback): Removed; moved to menu.h.
  7439. (grub_menu_get_entry): Likewise.
  7440. (grub_menu_get_timeout): Likewise.
  7441. (grub_menu_set_timeout): Likewise.
  7442. (grub_menu_execute_entry): Likewise.
  7443. (grub_menu_execute_with_fallback): Likewise.
  7444. (grub_menu_entry_run): Likewise.
  7445. (grub_menu_addentry): Renamed from this ...
  7446. (grub_normal_add_menu_entry): ... to this.
  7447. * normal/main.c (grub_menu_addentry): Renamed from this ...
  7448. (grub_normal_add_menu_entry): ... to this.
  7449. * script/sh/execute.c (grub_script_execute_menuentry): Update
  7450. reference to renamed grub_menu_addentry function.
  7451. 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
  7452. * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
  7453. 2009-05-22 Pavel Roskin <proski@gnu.org>
  7454. * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
  7455. * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
  7456. NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
  7457. compiling for the i386 targets, but not for the utilities.
  7458. * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
  7459. to grub_uint8_t.
  7460. (grub_root_drive): Likewise.
  7461. * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
  7462. remove alignment.
  7463. (grub_root_drive): Change size to byte.
  7464. (grub_start_addr): Remove.
  7465. (grub_end_addr): Likewise.
  7466. (grub_apm_bios_info): Likewise.
  7467. 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
  7468. * normal/i386: Remove.
  7469. * normal/powerpc: Likewise.
  7470. * normal/sparc64: Likewise.
  7471. * normal/x86_64: Likewise.
  7472. 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
  7473. * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
  7474. * loader/i386/linux_trampoline.S: Fix indentation
  7475. * loader/i386/xnu_helper.S: Likewise
  7476. 2009-05-18 Colin D Bennett <colin@gibibit.com>
  7477. Display error messages when parsing a Lua statement fails.
  7478. Previously, executing a syntactically invalid statement like
  7479. ")foo" or "bar;" would silently fail.
  7480. * script/lua/grub_main.c (handle_lua_error): New function.
  7481. (grub_lua_parse_line): Improved reporting of Lua parser and
  7482. execution errors.
  7483. 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
  7484. Remove -Werror which causes build to fail on some systems
  7485. * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
  7486. * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
  7487. * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
  7488. 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
  7489. trampoline for linux on 64-bit platform
  7490. * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
  7491. loader/i386/efi/linux_trampoline.S
  7492. * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
  7493. declaration
  7494. * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
  7495. here
  7496. * loader/i386/linux_trampoline.S: moved here
  7497. * loader/i386/efi/linux.c (allocate_pages): reserve space for
  7498. trampoline
  7499. (jumpvector): removed
  7500. (grub_linux_trampoline_start): new declaration
  7501. (grub_linux_trampoline_end): likewise
  7502. (grub_linux_boot): use trampoline when on 64-bit platform
  7503. * loader/i386/linux.c: likewise
  7504. 2009-05-16 Pavel Roskin <proski@gnu.org>
  7505. * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
  7506. const to avoid a warning.
  7507. (grub_lua_setenv): Likewise.
  7508. * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
  7509. lmsg to fix a warning.
  7510. 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
  7511. * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
  7512. (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
  7513. * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
  7514. (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
  7515. * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
  7516. (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
  7517. * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
  7518. (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
  7519. 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
  7520. * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
  7521. 2009-05-16 Bean <bean123ch@gmail.com>
  7522. * conf/common.rmk (pkglib_MODULES): Add lua.mod.
  7523. (lua_mod_SOURCES): New variable.
  7524. (lua_mod_CFLAGS): Likewise.
  7525. (lua_mod_LDFLAGS): Likewise.
  7526. * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
  7527. (setjmp_mod_SOURCES): New variable.
  7528. (setjmp_mod_CFLAGS): Likewise.
  7529. (setjmp_LDFLAGS): Likewise.
  7530. * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
  7531. (setjmp_mod_SOURCES): New variable.
  7532. (setjmp_mod_CFLAGS): Likewise.
  7533. (setjmp_LDFLAGS): Likewise.
  7534. * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
  7535. (setjmp_mod_SOURCES): New variable.
  7536. (setjmp_mod_CFLAGS): Likewise.
  7537. (setjmp_LDFLAGS): Likewise.
  7538. * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
  7539. (setjmp_mod_SOURCES): New variable.
  7540. (setjmp_mod_CFLAGS): Likewise.
  7541. (setjmp_LDFLAGS): Likewise.
  7542. * normal/i386/setjmp.S: Moved from here ...
  7543. * lib/i386/setjmp.S: ... Moved here
  7544. * normal/x86_64/setjmp.S: Moved from here ...
  7545. * lib/x86_64/setjmp.S: ... Moved here
  7546. * normal/powerpc/setjmp.S: Moved from here ...
  7547. * lib/powerpc/setjmp.S: ... Moved here
  7548. * normal/sparc64/setjmp.S: Moved from here ...
  7549. * lib/sparc64/setjmp.S: ... Moved here
  7550. * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
  7551. returns_twice in mingw.
  7552. * script/lua/grub_lib.c: New file.
  7553. * script/lua/grub_lib.h: Likewise.
  7554. * script/lua/grub_lua.h: Likewise.
  7555. * script/lua/grub_main.c: Likewise.
  7556. * script/lua/lapi.c: Likewise.
  7557. * script/lua/lapi.h: Likewise.
  7558. * script/lua/lauxlib.c: Likewise.
  7559. * script/lua/lauxlib.h: Likewise.
  7560. * script/lua/lbaselib.c: Likewise.
  7561. * script/lua/lcode.c: Likewise.
  7562. * script/lua/lcode.h: Likewise.
  7563. * script/lua/ldblib.c: Likewise.
  7564. * script/lua/ldebug.c: Likewise.
  7565. * script/lua/ldebug.h: Likewise.
  7566. * script/lua/ldo.c: Likewise.
  7567. * script/lua/ldo.h: Likewise.
  7568. * script/lua/ldump.c: Likewise.
  7569. * script/lua/lfunc.c: Likewise.
  7570. * script/lua/lfunc.h: Likewise.
  7571. * script/lua/lgc.c: Likewise.
  7572. * script/lua/lgc.h: Likewise.
  7573. * script/lua/linit.c: Likewise.
  7574. * script/lua/liolib.c: Likewise.
  7575. * script/lua/llex.c: Likewise.
  7576. * script/lua/llex.h: Likewise.
  7577. * script/lua/llimits.h: Likewise.
  7578. * script/lua/lmathlib.c: Likewise.
  7579. * script/lua/lmem.c: Likewise.
  7580. * script/lua/lmem.h: Likewise.
  7581. * script/lua/loadlib.c: Likewise.
  7582. * script/lua/lobject.c: Likewise.
  7583. * script/lua/lobject.h: Likewise.
  7584. * script/lua/lopcodes.c: Likewise.
  7585. * script/lua/lopcodes.h: Likewise.
  7586. * script/lua/loslib.c: Likewise.
  7587. * script/lua/lparser.c: Likewise.
  7588. * script/lua/lparser.h: Likewise.
  7589. * script/lua/lstate.c: Likewise.
  7590. * script/lua/lstate.h: Likewise.
  7591. * script/lua/lstring.c: Likewise.
  7592. * script/lua/lstring.h: Likewise.
  7593. * script/lua/lstrlib.c: Likewise.
  7594. * script/lua/ltable.c: Likewise.
  7595. * script/lua/ltable.h: Likewise.
  7596. * script/lua/ltablib.c: Likewise.
  7597. * script/lua/ltm.c: Likewise.
  7598. * script/lua/ltm.h: Likewise.
  7599. * script/lua/lua.h: Likewise.
  7600. * script/lua/luaconf.h: Likewise.
  7601. * script/lua/lualib.h: Likewise.
  7602. * script/lua/lundump.c: Likewise.
  7603. * script/lua/lundump.h: Likewise.
  7604. * script/lua/lvm.c: Likewise.
  7605. * script/lua/lvm.h: Likewise.
  7606. * script/lua/lzio.c: Likewise.
  7607. * script/lua/lzio.h: Likewise.
  7608. 2009-05-16 Bean <bean123ch@gmail.com>
  7609. * include/grub/kernel.h (grub_module_header_types): Add type
  7610. OBJ_TYPE_CONFIG.
  7611. * kern/main.c (grub_load_config): New function.
  7612. (grub_main): Call grub_load_config to read boot config.
  7613. * grub-mkimage (generate_image): New parameter config_path.
  7614. (options): New option --config.
  7615. (main): Parse --config option, and pass it to generate_image.
  7616. 2009-05-14 Christian Franke <franke@computer.org>
  7617. * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
  7618. This fixes build on Cygwin.
  7619. 2009-05-14 Pavel Roskin <proski@gnu.org>
  7620. * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
  7621. jump. This saves two bytes, so the typical case of 2 swapped
  7622. drives would fit 32 bytes.
  7623. 2009-05-13 Pavel Roskin <proski@gnu.org>
  7624. * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
  7625. grub_uint32_t to avoid a warning.
  7626. * loader/i386/linux.c (allocate_pages): When assigning
  7627. real_mode_mem, cast through grub_size_t to fix a warning. The
  7628. code already makes sure that the value would fit a pointer.
  7629. (grub_linux_setup_video): Cast render_target->data to
  7630. grub_size_t to fix a warning.
  7631. 2009-05-13 Javier Martín <lordhabbit@gmail.com>
  7632. * commands/i386/pc/drivemap.c: New file - implement drivemap
  7633. command.
  7634. * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
  7635. * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
  7636. 2009-05-13 Pavel Roskin <proski@gnu.org>
  7637. * util/i386/pc/grub-setup.c (setup): Remove unused variable
  7638. embedding_area_exists.
  7639. 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
  7640. * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
  7641. it easier to understand / work with.
  7642. Improve warning messages for cases where there's no embedding area,
  7643. or when it is too small (or core.img too large).
  7644. 2009-05-13 Pavel Roskin <proski@gnu.org>
  7645. * loader/i386/pc/multiboot2.c: Add necessary includes for
  7646. grub_multiboot2_real_boot().
  7647. * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
  7648. PX record is always little-endian. We only need the lower 2
  7649. bytes of the mode.
  7650. * fs/cpio.c: Use the same name "struct head" for tar and cpio to
  7651. facilitate code reuse.
  7652. (grub_cpio_mount): Use "struct head", not a char buffer. This
  7653. fixes a warning reported by gcc 4.4.
  7654. * kernel/disk.c (grub_disk_read): Use void pointer for the
  7655. buffer.
  7656. (grub_disk_write): Use const void pointer for the buffer.
  7657. Adjust all callers. Remove unnecessary casts.
  7658. 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
  7659. * util/i386/pc/grub-install.in: Update copyright year.
  7660. 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
  7661. gptsync
  7662. * commands/gptsync.c: new file
  7663. * conf/common.rmk (pkglib_MODULES): add gptsync.mod
  7664. (gptsync_mod_SOURCES): new variable
  7665. (gptsync_mod_CFLAGS): likewise
  7666. (gptsync_mod_LDFLAGS): likewise
  7667. * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
  7668. new definition
  7669. (GRUB_PC_PARTITION_TYPE_HFS): likewise
  7670. * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
  7671. * conf/i386-ieee1275.rmk: likewise
  7672. * conf/i386-pc.rmk: likewise
  7673. * conf/powerpc-ieee1275.rmk: likewise
  7674. 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
  7675. Fixed grub-emu
  7676. * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
  7677. (grub_dl_ref): likewise
  7678. 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
  7679. * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
  7680. split in two functions (one for msdos and one for gpt).
  7681. 2009-05-08 Pavel Roskin <proski@gnu.org>
  7682. * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
  7683. not modified.
  7684. * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
  7685. uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
  7686. Initialize them with -1. Add sanity check for bad1. Eliminate
  7687. nerr variable.
  7688. 2009-05-08 David S. Miller <davem@davemloft.net>
  7689. * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
  7690. 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
  7691. * util/i386/pc/grub-setup.c (setup): Fix check for embed region
  7692. existence.
  7693. 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
  7694. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
  7695. `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
  7696. 2009-05-05 David S. Miller <davem@davemloft.net>
  7697. * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
  7698. 2009-05-05 Pavel Roskin <proski@gnu.org>
  7699. * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
  7700. of grub_dl_ref() and grub_dl_unref().
  7701. * commands/parttool.c: Remove preprocessor conditionals around
  7702. grub_dl_ref() and grub_dl_unref().
  7703. * fs/affs.c: Likewise.
  7704. * fs/afs.c: Likewise.
  7705. * fs/cpio.c: Likewise.
  7706. * fs/ext2.c: Likewise.
  7707. * fs/fat.c: Likewise.
  7708. * fs/hfs.c: Likewise.
  7709. * fs/hfsplus.c: Likewise.
  7710. * fs/iso9660.c: Likewise.
  7711. * fs/jfs.c: Likewise.
  7712. * fs/minix.c: Likewise.
  7713. * fs/ntfs.c: Likewise.
  7714. * fs/reiserfs.c: Likewise.
  7715. * fs/sfs.c: Likewise.
  7716. * fs/udf.c: Likewise.
  7717. * fs/ufs.c: Likewise.
  7718. * fs/xfs.c: Likewise.
  7719. * include/grub/dl.h: Likewise.
  7720. * loader/xnu.c: Likewise.
  7721. 2009-05-04 Pavel Roskin <proski@gnu.org>
  7722. * commands/acpi.c: Remove unused variable my_mod.
  7723. * partmap/amiga.c: Likewise.
  7724. * partmap/apple.c: Likewise.
  7725. * partmap/gpt.c: Likewise.
  7726. * partmap/pc.c: Likewise.
  7727. * partmap/sun.c: Likewise.
  7728. * term/gfxterm.c: Likewise.
  7729. * term/i386/pc/vesafb.c: Likewise.
  7730. * term/i386/pc/vga.c: Likewise.
  7731. 2009-05-04 David S. Miller <davem@davemloft.net>
  7732. * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
  7733. pointer args to grub_ieee1275_get_property().
  7734. * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
  7735. * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
  7736. devices, and do not traverse down under controller nodes.
  7737. * disk/ieee1275/ofdisk.c (compute_dev_path): New.
  7738. (grub_ofdisk_open): Use it to un-escape "," characters.
  7739. * kern/disk.c (find_part_sep): New.
  7740. (grub_disk_open): Use it to find the first non-escaped ','
  7741. character in the disk name.
  7742. * util/ieee1275/devicemap.c (escape_of_path): New.
  7743. (grub_util_emit_devicemap_entry): Use it.
  7744. * util/sparc64/ieee1275/grub-install.in: Update script to
  7745. strip partition specifiers properly by not triggering on
  7746. '\' escaped ',' characters.
  7747. 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
  7748. * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
  7749. to 0x300.
  7750. * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
  7751. resolutions.
  7752. (linux_vesafb_modes): Add a lot of additional modes to the list (based
  7753. on documentation from Wikipedia).
  7754. 2009-05-04 Pavel Roskin <proski@gnu.org>
  7755. * disk/ata.c: Spelling fixes.
  7756. * disk/raid.c: Likewise.
  7757. * disk/usbms.c: Likewise.
  7758. * disk/dmraid_nvidia.c: Likewise.
  7759. * kern/ieee1275/openfw.c: Likewise.
  7760. * kern/ieee1275/init.c: Likewise.
  7761. * kern/ieee1275/cmain.c: Likewise.
  7762. * boot/i386/pc/cdboot.S: Likewise.
  7763. * video/readers/png.c: Likewise.
  7764. * video/i386/pc/vbe.c: Likewise.
  7765. * fs/udf.c: Likewise.
  7766. * fs/hfs.c: Likewise.
  7767. * fs/reiserfs.c: Likewise.
  7768. * efiemu/runtime/efiemu.c: Likewise.
  7769. * efiemu/main.c: Likewise.
  7770. * efiemu/mm.c: Likewise.
  7771. * include/grub/elf.h: Likewise.
  7772. * include/grub/xnu.h: Likewise.
  7773. * include/grub/usbdesc.h: Likewise.
  7774. * include/grub/usb.h: Likewise.
  7775. * include/grub/script_sh.h: Likewise.
  7776. * include/grub/lib/LzmaEnc.h: Likewise.
  7777. * include/grub/efiemu/efiemu.h: Likewise.
  7778. * include/grub/command.h: Likewise.
  7779. * normal/menu.c: Likewise.
  7780. * normal/main.c: Likewise.
  7781. * normal/datetime.c: Likewise.
  7782. * bus/usb/uhci.c: Likewise.
  7783. * mmap/i386/uppermem.c: Likewise.
  7784. * mmap/mmap.c: Likewise.
  7785. * commands/acpi.c: Likewise.
  7786. * commands/test.c: Likewise.
  7787. * partmap/apple.c: Likewise.
  7788. * font/font.c: Likewise.
  7789. * loader/sparc64/ieee1275/linux.c: Likewise.
  7790. * loader/macho.c: Likewise.
  7791. * loader/i386/bsd_trampoline.S: Likewise.
  7792. * loader/i386/bsd.c: Likewise.
  7793. * loader/xnu.c: Likewise.
  7794. * term/i386/pc/vesafb.c: Likewise.
  7795. * term/usb_keyboard.c: Likewise.
  7796. * util/resolve.c: Likewise.
  7797. * util/getroot.c: Likewise.
  7798. 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
  7799. * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
  7800. 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
  7801. * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
  7802. build error.
  7803. 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
  7804. * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
  7805. parameter only available on BIOS.
  7806. 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
  7807. Removed wrong semicolon in declaration
  7808. * grub/misc.h (grub_dprintf): remove semicolon
  7809. 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
  7810. * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
  7811. (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
  7812. is done by grub_cmd_linux() now).
  7813. [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
  7814. restore video to text mode.
  7815. (grub_cmd_linux): Default `vid_mode' initialization to 0, which
  7816. indicates lack of "vga=" parameter. "vga=0" is mapped to
  7817. `GRUB_LINUX_VID_MODE_NORMAL'.
  7818. 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
  7819. * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
  7820. `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
  7821. and `normal/script.c'. Add `kern/rescue_reader.c',
  7822. `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
  7823. `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
  7824. `grub_script.tab.c'.
  7825. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  7826. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  7827. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  7828. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
  7829. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  7830. * Makefile.in: Remove duplicated 2008 in Copyright line.
  7831. 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
  7832. * util/misc.c (grub_util_warn): New function. Emits a warning
  7833. unconditionally.
  7834. * include/grub/util/misc.h (grub_util_warn): New declaration.
  7835. * util/i386/pc/grub-install.in: Understand --force and pass it down
  7836. to grub-setup.
  7837. * util/i386/pc/grub-setup.c (main): Understand --force and pass it
  7838. down to setup().
  7839. (setup): Improve error messages and add warnings when requested to
  7840. install in odd layouts. Refuse to install using blocklists unless
  7841. --force was set.
  7842. 2009-05-04 martin f. krafft <madduck@madduck.net>
  7843. * disk/raid.c (grub_raid_scan_device): Improve debug message.
  7844. 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
  7845. Updated copyright year
  7846. * fs/hfsplus.c: updated copyright year
  7847. 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
  7848. HFS+ UUID
  7849. * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
  7850. in the space previously used by unused3
  7851. (grub_hfsplus_uuid): new function
  7852. (grub_hfsplus_fs): added uuid field
  7853. 2009-05-03 Pavel Roskin <proski@gnu.org>
  7854. * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
  7855. suppress warnings. It's no longer needed.
  7856. * disk/host.c: Likewise.
  7857. * disk/ata_pthru.c: Likewise.
  7858. * disk/loopback.c: Likewise.
  7859. * hook/datehook.c: Likewise.
  7860. * parttool/pcpart.c: Likewise.
  7861. * fs/i386/pc/pxe.c: Likewise.
  7862. * fs/ntfscomp.c: Likewise.
  7863. * efiemu/main.c: Likewise.
  7864. * mmap/mmap.c: Likewise.
  7865. * commands/crc.c: Likewise.
  7866. * commands/hexdump.c: Likewise.
  7867. * commands/hdparm.c: Likewise.
  7868. * commands/acpi.c: Likewise.
  7869. * commands/echo.c: Likewise.
  7870. * commands/minicmd.c: Likewise.
  7871. * commands/blocklist.c: Likewise.
  7872. * commands/memrw.c: Likewise.
  7873. * commands/loadenv.c: Likewise.
  7874. * commands/usbtest.c: Likewise.
  7875. * commands/lsmmap.c: Likewise.
  7876. * commands/boot.c: Likewise.
  7877. * commands/parttool.c: Likewise.
  7878. * commands/configfile.c: Likewise.
  7879. * commands/search.c: Likewise.
  7880. * commands/ieee1275/suspend.c: Likewise.
  7881. * commands/cat.c: Likewise.
  7882. * commands/i386/pc/pxecmd.c: Likewise.
  7883. * commands/i386/pc/play.c: Likewise.
  7884. * commands/i386/pc/halt.c: Likewise.
  7885. * commands/i386/pc/vbeinfo.c: Likewise.
  7886. * commands/i386/pc/vbetest.c: Likewise.
  7887. * commands/lspci.c: Likewise.
  7888. * commands/date.c: Likewise.
  7889. * commands/handler.c: Likewise.
  7890. * commands/ls.c: Likewise.
  7891. * commands/test.c: Likewise.
  7892. * commands/cmp.c: Likewise.
  7893. * commands/efi/loadbios.c: Likewise.
  7894. * commands/efi/fixvideo.c: Likewise.
  7895. * commands/halt.c: Likewise.
  7896. * commands/help.c: Likewise.
  7897. * commands/reboot.c: Likewise.
  7898. * hello/hello.c: Likewise.
  7899. * script/sh/main.c: Likewise.
  7900. * loader/xnu.c: Likewise.
  7901. * term/terminfo.c: Likewise.
  7902. * term/i386/pc/serial.c: Likewise.
  7903. * term/usb_keyboard.c: Likewise.
  7904. 2009-05-03 David S. Miller <davem@davemloft.net>
  7905. * normal/menu.c: Include grub/parser.h
  7906. 2009-05-03 Pavel Roskin <proski@gnu.org>
  7907. * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
  7908. not char*.
  7909. * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
  7910. Suggested by Javier Martín <lordhabbit@gmail.com>
  7911. * util/i386/pc/grub-mkrescue.in: Allow for the case when
  7912. efiemu??.o doesn't exist.
  7913. * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
  7914. copying.
  7915. 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
  7916. FreeBSD 64-bit support
  7917. * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
  7918. and loader/i386/bsd_trampoline.S
  7919. (bsd_mod_ASFLAGS): new variable
  7920. * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
  7921. (FREEBSD_MODTYPE_KERNEL64): likewise
  7922. (grub_bsd64_trampoline_start): likewise
  7923. (grub_bsd64_trampoline_end): likewise
  7924. (grub_bsd64_trampoline_selfjump): likewise
  7925. (grub_bsd64_trampoline_gdt): likewise
  7926. * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
  7927. * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
  7928. * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
  7929. * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
  7930. * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
  7931. of "attrib" member
  7932. * loader/i386/bsd_pagetable.c: new file
  7933. * loader/i386/bsd_trampoline.S: likewise
  7934. * loader/i386/bsd.c (ALIGN_QWORD): new macro
  7935. (ALIGN_VAR): likewise
  7936. (entry_hi): new variable
  7937. (kern_end_mdofs): likewise
  7938. (is_64bit): likewise
  7939. (grub_freebsd_add_meta): use ALIGN_VAR
  7940. (grub_e820_mmap): new declaration
  7941. (grub_freebsd_add_mmap): new function
  7942. (grub_freebsd_add_meta_module): support 64 bit kernels
  7943. (grub_freebsd_list_modules): use ALIGN_VAR
  7944. (gdt_descriptor): new declaration
  7945. (grub_freebsd_boot): support 64 bit kernels
  7946. (grub_bsd_elf64_hook): new function
  7947. (grub_bsd_load_elf): support elf64
  7948. 2009-05-03 Bean <bean123ch@gmail.com>
  7949. * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
  7950. after we get the result of if statement.
  7951. 2009-05-03 Bean <bean123ch@gmail.com>
  7952. * Makefile.in (enable_efiemu): New variable.
  7953. * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
  7954. set.
  7955. (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
  7956. path.
  7957. (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
  7958. path, add -mno-red-zone option.
  7959. (efiemu64_s.o): Likewise.
  7960. (efiemu64.o): Use macro $^ for source file.
  7961. * configure.ac (--enable-efiemu): New option.
  7962. 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
  7963. xnu support
  7964. * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
  7965. (pkglib_MODULES): add xnu.mod
  7966. (xnu_mod_SOURCES): new variable
  7967. (xnu_mod_CFLAGS): likewise
  7968. (xnu_mod_LDFLAGS): likewise
  7969. (xnu_mod_ASFLAGS): likewise
  7970. * conf/i386-pc.rmk: likewise
  7971. * conf/x86_64-efi.rmk: likewise
  7972. * include/grub/efi/efi.h (grub_efi_finish_boot_services):
  7973. new declaration
  7974. * include/grub/i386/macho.h: new file
  7975. * include/grub/i386/xnu.h: likewise
  7976. * include/grub/macho.h: likewise
  7977. * include/grub/machoload.h: likewise
  7978. * include/grub/x86_64/macho.h: likewise
  7979. * include/grub/x86_64/xnu.h: likewise
  7980. * include/grub/xnu.h: likewise
  7981. * kern/efi/efi.c (grub_efi_finish_boot_services): new function
  7982. * kern/efi/mm.c (MAX_HEAP_SIZE): increase
  7983. * loader/i386/efi/xnu.c: new file
  7984. * loader/i386/pc/xnu.c: likewise
  7985. * loader/i386/xnu.c: likewise
  7986. * loader/i386/xnu_helper.S: likewise
  7987. * loader/macho.c: likewise
  7988. * loader/xnu.c: likewise
  7989. * loader/xnu_resume.c: likewise
  7990. * util/grub-dumpdevtree: likewise
  7991. * include/grub/i386/pit.h: include grub/err.h
  7992. (grub_pit_wait): export
  7993. * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
  7994. 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
  7995. Efiemu
  7996. * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
  7997. _linux_efi, linux_efi.
  7998. new files in grub-emu
  7999. new targets efiemu32.o and efiemu64.o
  8000. * loader/linux_normal_efiemu.c: likewise
  8001. * loader/i386/efi/linux.c: added preliminary efiemu support
  8002. * util/i386/pc/grub-install.in: add efiemu??.o to the list of
  8003. files to copy
  8004. * include/grub/autoefi.h: new file
  8005. * include/grub/i386/efiemu.h: likewise
  8006. * include/grub/i386/pc/efiemu.h: likewise
  8007. * include/grub/efi/api.h: add LL suffix when necessary
  8008. new definitions relating to tables
  8009. * include/grub/efiemu/efiemu.h: new file
  8010. * include/grub/efiemu/runtime.h: likewise
  8011. * efiemu/prepare.c: likewise
  8012. * efiemu/loadcore_common.c: likewise
  8013. * efiemu/loadcore64.c: likewise
  8014. * efiemu/runtime/efiemu.sh: likewise
  8015. * efiemu/runtime/efiemu.S: likewise
  8016. * efiemu/runtime/efiemu.c: likewise
  8017. * efiemu/runtime/config.h: likewise
  8018. * efiemu/prepare32.c: likewise
  8019. * efiemu/main.c: likewise
  8020. * efiemu/modules/pnvram.c: likewise
  8021. * efiemu/modules/i386: likewise
  8022. * efiemu/modules/i386/pc: likewise
  8023. * efiemu/modules/acpi.c: likewise
  8024. * efiemu/i386/pc/cfgtables.c: likewise
  8025. * efiemu/i386/loadcore64.c: likewise
  8026. * efiemu/i386/loadcore32.c: likewise
  8027. * efiemu/prepare64.c: likewise
  8028. * efiemu/loadcore.c: likewise
  8029. * efiemu/symbols.c: likewise
  8030. * efiemu/mm.c: likewise
  8031. * efiemu/loadcore32.c: likewise
  8032. 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
  8033. ACPI spoofing
  8034. * commands/acpi.c: new file
  8035. * commands/i386/pc/acpi.c: likewise
  8036. * commands/efi/acpi.c: likewise
  8037. * include/grub/acpi.h: likewise
  8038. * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
  8039. (acpi_mod_SOURCES): new variable
  8040. (acpi_mod_CFLAGS): likewise
  8041. (acpi_mod_LDFLAGS): likewise
  8042. * conf/i386-efi.rmk: likewise
  8043. * conf/x86_64-efi.rmk: likewise
  8044. 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
  8045. Missing part from mmap patch
  8046. * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
  8047. (grub_mmap_unregister)
  8048. (grub_mmap_free_and_unregister): use grub_mmap_register
  8049. 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
  8050. Mmap services
  8051. * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
  8052. * loader/i386/linux.c (find_mmap_size): likewise
  8053. (allocate_pages): likewise
  8054. * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
  8055. (grub_fill_multiboot_mmap): likewise
  8056. (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
  8057. * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
  8058. * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
  8059. (OPENBSD_MMAP_RESERVED): likewise
  8060. * include/grub/i386/pc/memory.h: include grub/memory.h
  8061. (grub_lower_mem): removed
  8062. (grub_upper_mem): likewise
  8063. (GRUB_MACHINE_MEMORY_ACPI): new definition
  8064. (GRUB_MACHINE_MEMORY_NVS): likewise
  8065. (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
  8066. (GRUB_MACHINE_MEMORY_HOLE): likewise
  8067. (grub_machine_mmap_register): likewise
  8068. (grub_machine_mmap_unregister): likewise
  8069. (grub_machine_get_upper): likewise
  8070. (grub_machine_get_lower): likewise
  8071. (grub_machine_get_post64): likewise
  8072. * include/grub/i386/efi/memory.h: new file
  8073. * include/grub/x86_64/efi/memory.h: likewise
  8074. * include/grub/efi/memory.h: likewise
  8075. * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
  8076. (mmap_mod_SOURCES): new variable
  8077. (mmap_mod_LDFLAGS): likewise
  8078. (mmap_mod_ASFLAGS): likewise
  8079. * conf/i386-coreboot.rmk: likewise
  8080. * conf/i386-ieee1275.rmk: likewise
  8081. * conf/i386-efi.rmk: likewise
  8082. * conf/x86_64-efi.rmk: likewise
  8083. * include/grub/types.h (UINT_TO_PTR): new macro
  8084. (PTR_TO_UINT32): likewise
  8085. (PTR_TO_UINT64): likewise
  8086. * include/grub/memory.h: new file
  8087. * mmap/i386/pc/mmap.c: likewise
  8088. * mmap/i386/pc/mmap_helper.S: likewise
  8089. * mmap/i386/uppermem.c: likewise
  8090. * mmap/mmap.c: likewise
  8091. * mmap/efi/mmap.c: likewise
  8092. * kern/i386/coreboot/init.c (grub_machine_init): don't use
  8093. grub_upper_mem
  8094. * kern/i386/pc/init.c (grub_lower_mem): removed variable
  8095. (grub_upper_mem): likewise
  8096. (grub_machine_init): don't use grub_upper_mem,
  8097. make grub_lower_mem local
  8098. * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
  8099. grub_mmap_iterate and grub_mmap_get_upper
  8100. (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
  8101. 2009-05-02 Bean <bean123ch@gmail.com>
  8102. * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
  8103. script/sh/parser.y.
  8104. (pkglib_MODULES): Add normal.mod and sh.mod.
  8105. (normal_SOURCES): New variable.
  8106. (normal_mod_CFLAGS): Likewise.
  8107. (normal_mod_LDFLAGS): Likewise.
  8108. (sh_mod_SOURCES): Likewise.
  8109. (sh_mod_CFLAGS): Likewise.
  8110. (sh_mod_LDFLAGS): Likewise.
  8111. * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
  8112. script/sh/lexer.c_DEPENDENCIES.
  8113. (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
  8114. kern/rescue_reader.c and kern/rescue_parser.c.
  8115. (kernel_img_HEADERS): Remove rescue.h, add reader.h.
  8116. (grub_emu_SOURCES): Change source files.
  8117. (pkglib_MODULES): Remove normal.mod.
  8118. (normal_SOURCES): Removed.
  8119. (normal_mod_CFLAGS): Likewise.
  8120. (normal_mod_LDFLAGS): Likewise.
  8121. * conf/i386-coreboot.rmk: Likewise.
  8122. * conf/i386-efi.rmk: Likewise.
  8123. * conf/i386-ieee1276.rmk: Likewise.
  8124. * conf/powerpc-ieee1275.rmk: Likewise.
  8125. * conf/sparc64-ieee1275.rmk: Likewise.
  8126. * conf/x86_64-efi.rmk: Likewise.
  8127. * include/grub/command.h (grub_command_execute): New inline function.
  8128. * include/grub/menu.h (grub_menu_entry): Removed commands field.
  8129. * include/grub/normal.h: Remove <grub/setjmp.h>.
  8130. (grub_fs_module_list): Moved to normal/autofs.c.
  8131. (grub_exit_env): Removed.
  8132. (grub_command_execute): Likewise.
  8133. (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
  8134. parameter script.
  8135. (read_command_list): New function declaration.
  8136. (read_fs_list): Likewise.
  8137. * include/parser.h: Include <grub/reader.h>.
  8138. (grub_parser_split_cmdline): Change type of getline parameter.
  8139. (grub_parser): New structure.
  8140. (grub_parser_class): New variable.
  8141. (grub_parser_execute): New function declaration.
  8142. (grub_register_rescue_parser): Likewise.
  8143. (grub_parser_register): New inline function.
  8144. (grub_parser_unregister): Likewise.
  8145. (grub_parser_get_current): Likewise.
  8146. (grub_parser_set_current): Likewise.
  8147. * include/grub/reader.h: New file.
  8148. * kern/reader.c: Likewise.
  8149. * kern/rescue_parser.c: Likewise.
  8150. * kern/rescue_reader.c: Likewise.
  8151. * normal/autofs.c: Likewise.
  8152. * normal/dyncmd.c: Likewise.
  8153. * include/grub/rescue.h: Removed.
  8154. * normal/command.h: Likewise.
  8155. * include/grub/script.h: Moved to ...
  8156. * include/grub/script_sh.h: ... Moved here.
  8157. * normal/execute.c: Moved to ...
  8158. * script/sh/execute.c: ... Moved here.
  8159. * normal/function.c: Moved to ...
  8160. * script/sh/function.c: ... Moved here.
  8161. * normal/lexer.c: Moved to ...
  8162. * script/sh/lexer.c: ... Moved here.
  8163. * normal/parser.y: Moved to ...
  8164. * script/sh/parser.y: ... Moved here.
  8165. * normal/script.c: Moved to ...
  8166. * script/sh/script.c: ... Moved here.
  8167. * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
  8168. <grub/reader.h>.
  8169. (grub_exit_env): Removed.
  8170. (fs_module_list): Moved to normal/autofs.c.
  8171. (grub_file_getline): Don't handle comment here.
  8172. (free_menu): Skip removed field entry->commands.
  8173. (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
  8174. script parameter.
  8175. (read_config_file): Removed nested parameter, change getline function.
  8176. (grub_enter_normal_mode): Removed.
  8177. (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
  8178. (read_command_list): Likewise.
  8179. (autoload_fs_module): Moved to normal/autofs.c.
  8180. (read_fs_list): Likewise.
  8181. (reader_nested): New variable.
  8182. (grub_normal_execute): Run parser.sh to switch to sh parser.
  8183. (grub_cmd_rescue): Removed.
  8184. (cmd_normal): Removed.
  8185. (grub_cmd_normal): Unregister itself at the beginning. Don't register
  8186. rescue command.
  8187. (grub_cmdline_run): New function.
  8188. (grub_normal_reader_init): Likewise.
  8189. (grub_normal_read_line): Likewise.
  8190. (grub_env_write_pager): Likewise.
  8191. (cmdline): New variable.
  8192. (grub_normal_reader): Likewise.
  8193. (GRUB_MOD_INIT): Register normal reader and set as current, register
  8194. pager hook, register normal command with grub_register_command_prio,
  8195. so that it won't show up in command.lst.
  8196. (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
  8197. grub_fs_autoload_hook.
  8198. * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
  8199. (grub_menu_execute_entry): Replace grub_script_execute with
  8200. grub_parser_execute, change parameter to grub_command_execute.
  8201. * normal/menu_text.c: Remove <grub/script.h>.
  8202. * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
  8203. and <grub/parser.h>.
  8204. (run): Change editor_getline to use new parser interface. Change
  8205. parameter to grub_command_execute.
  8206. * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
  8207. <grub/reader.h> and <grub/parser.h>.
  8208. (grub_load_normal_mode): Execute normal command.
  8209. (grub_main): Call grub_register_core_commands,
  8210. grub_register_rescue_parser and grub_register_rescue_reader, use
  8211. grub_reader_loop to enter input loop.
  8212. * kern/parser.c (grub_parser_split_cmdline): Change type of
  8213. getline parameter.
  8214. (grub_parser_class): New variable.
  8215. (grub_parser_execute): New function.
  8216. * loader/i386/multiboot.c: Remove <grub/rescue.h>.
  8217. * loader/multiboot2.c: Likewise.
  8218. * loader/sparc64/ieee1275/linux.c: Likewise.
  8219. * util/grub-emu.c (read_command_list): New dummy function.
  8220. 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
  8221. * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
  8222. count to 16 for CCISS and IDA.
  8223. 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
  8224. * normal/menu_text.c (grub_wait_after_message): Print a newline
  8225. after waiting for user input.
  8226. * loader/i386/linux.c: Include `<grub/normal.h>'.
  8227. (grub_cmd_linux): Improve the error message about `ask' mode, by
  8228. waiting for user input so it's not missed (we can do this, since
  8229. user requested interaction).
  8230. 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
  8231. Added missing lst to grub-mkrescue
  8232. * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
  8233. and ${input_dir}/parttool.lst
  8234. 2009-04-30 David S. Miller <davem@davemloft.net>
  8235. * util/hostdisk.c (device_is_wholedisk): New function.
  8236. (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
  8237. zero only if device_is_wholedisk() returns true.
  8238. * util/hostdisk.c (convert_system_partition_to_system_disk):
  8239. Handle virtual disk devices named /dev/vdiskX as found on sparc
  8240. and powerpc.
  8241. * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
  8242. lettered partition specifier is found, convert to numbered.
  8243. 2009-04-29 David S. Miller <davem@davemloft.net>
  8244. * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
  8245. * include/grub/sparc64/ieee1275/memory.h: Likewise.
  8246. * normal/command.c: Add missing newline at end of file.
  8247. * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
  8248. warnings.
  8249. * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
  8250. * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
  8251. grub_ofdisk_read): Likewise, and deal similarly with the fact that
  8252. ihandles have a 32-bit type but need to be stored in a "void *".
  8253. 2009-04-28 Pavel Roskin <proski@gnu.org>
  8254. * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
  8255. not disk. Adjust all dependencies.
  8256. (grub_fs_uuid_close): Use grub_device_close(), not
  8257. grub_disk_close().
  8258. * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
  8259. parent's partition, don't copy it by reference, as it gets freed
  8260. on close.
  8261. 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
  8262. Preboot hooks support
  8263. * commands/boot.c (struct grub_preboot_t): new declaration
  8264. (preboots_head): new variable
  8265. (preboots_tail): likewise
  8266. (grub_loader_register_preboot_hook): new function
  8267. (grub_loader_unregister_preboot_hook): likewise
  8268. (grub_loader_set): launch preboot hooks
  8269. * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
  8270. (grub_loader_register_preboot_hook): new declaration
  8271. (grub_loader_unregister_preboot_hook): likewise
  8272. 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
  8273. Warning fix
  8274. * disk/scsi.c (grub_scsi_open): added missing cast when
  8275. calling grub_dprintf
  8276. 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
  8277. Bug and warning fixes
  8278. * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
  8279. declaration
  8280. * commands/test.c (test_parse): fixed bug with file tests and corrected
  8281. declaration of find_file
  8282. 2009-04-26 Pavel Roskin <proski@gnu.org>
  8283. * Makefile.in: Don't install empty manual pages if help2man is
  8284. missing. Use help2man option for output, not shell redirection.
  8285. 2009-04-26 David S. Miller <davem@davemloft.net>
  8286. * util/grub-mkdevicemap.c (make_device_map): Add missing
  8287. NESTED_FUNC_ATTR to process_device().
  8288. 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
  8289. Test command
  8290. * commands/test.c: rewritten to use bash-like test
  8291. 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
  8292. Parttool autoloading and improvements
  8293. * Makefile.in (pkglib_DATA): add parttool.lst
  8294. (parttool.lst): new target
  8295. * genmk.rb: generate parttool-*
  8296. (CLEANFILES): add #{parttool}
  8297. (PARTTOOLFILES): new variable
  8298. * genparttoollist.sh: new file
  8299. * parttool/pcpart.c (grub_pcpart_boot): more feedback
  8300. (grub_pcpart_type): likewise
  8301. * commands/parttool.c (helpmsg): new variable
  8302. (grub_cmd_parttool): output help if not enough arguments are supplied
  8303. autoload modules
  8304. (GRUB_MOD_INIT(parttool)): use helpmsg
  8305. 2009-04-24 David S. Miller <davem@davemloft.net>
  8306. Avoiding opening same device multiple times in device iterator.
  8307. * kern/device.c: (grub_device_iterate): Define struct part_ent,
  8308. and use it to build a list of partitions in iterate_disk() and
  8309. iterate_partition().
  8310. * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
  8311. on disk->data.
  8312. * disk/ieee1275/nand.c (grub_nand_iterate): Return
  8313. grub_devalias_iterate() result instead of unconditional 0.
  8314. * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
  8315. Also, capture hook return value, either directly or via
  8316. grub_children_iterate(), and propagate to caller.
  8317. * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
  8318. grub_children_iterate): Return value is now 'int' instead of
  8319. 'grub_err_t'.
  8320. * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
  8321. like a proper iterator, stopping when hooks return non-zero.
  8322. (grub_devalias_iterate): Likewise.
  8323. 2009-04-23 David S. Miller <davem@davemloft.net>
  8324. * kern/sparc64/ieee1275/openfw.c: Unused, delete.
  8325. 2009-04-22 David S. Miller <davem@davemloft.net>
  8326. * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
  8327. is larger than address_cells, use that value for address_cells too.
  8328. * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
  8329. IEEE1275_MAX_PATH_LEN): Define.
  8330. * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
  8331. allocate 'childtype', 'childpath', 'childname', and 'fullname'.
  8332. (grub_devalias_iterate): Dynamically allocate 'aliasname' and
  8333. 'devtype'. Explicitly NULL terminate devalias expansion.
  8334. * util/sparc64/ieee1275/misc.c: New file.
  8335. * util/sparc64/ieee1275/grub-setup.c: New file.
  8336. * util/sparc64/ieee1275/grub-ofpathname.c: New file.
  8337. * util/sparc64/ieee1275/grub-mkimage.c: New file.
  8338. * util/sparc64/ieee1275/grub-install.in: New file.
  8339. * util/ieee1275/ofpath.c: New file.
  8340. * util/ieee1275/devicemap.c: New file.
  8341. * util/devicemap.c: New file.
  8342. * util/deviceiter.c: New file.
  8343. * kern/sparc64/ieee1275/init.c: New file.
  8344. * include/grub/util/ofpath.h: New file.
  8345. * include/grub/util/deviceiter.h: New file.
  8346. * util/grub-mkdevicemap.c: Include deviceiter.h.
  8347. Implement using grub_util_emit_devicemap_entry and
  8348. grub_util_iterate_devices.
  8349. * conf/i386-corebook.rmk: Build util/deviceiter.c and
  8350. util/devicemap.c into grub-mkdevicemap
  8351. * conf/i386-efi.rmk: Likewise.
  8352. * conf/i386-ieee1275.rmk: Likewise.
  8353. * conf/i386-pc.rmk: Likewise.
  8354. * conf/powerpc-ieee1275.rmk: Likewise.
  8355. * conf/sparc64-ieee1275.rmk: Add rules to build boot block
  8356. images and installation utilities. Build kernel as image
  8357. instead of as elf binary. Use common rules as much as possible.
  8358. 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
  8359. Correct GPT definition
  8360. * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
  8361. of "attrib" member
  8362. 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
  8363. * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
  8364. 2009-04-19 David S. Miller <davem@davemloft.net>
  8365. * loader/sparc64/ieee1275/linux.c: Include grub/command.h
  8366. (grub_rescue_cmd_linux): Rename to...
  8367. (grub_cmd_linux): and fix prototype.
  8368. (grub_rescue_cmd_initrd): Rename to...
  8369. (grub_cmd_initrd): and fix prototype.
  8370. (cmd_linux, cmd_initrd): New.
  8371. (GRUB_MOD_INIT(linux)): Use grub_register_command().
  8372. (GRUB_MOD_FINI(linux): Use grub_unregister_command().
  8373. 2009-04-17 Pavel Roskin <proski@gnu.org>
  8374. * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
  8375. format.
  8376. (grub_ohci_transfer): Likewise.
  8377. * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
  8378. * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
  8379. return without a value. Fix inconsistent indentation.
  8380. * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
  8381. match struct grub_fs.
  8382. * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
  8383. * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
  8384. * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
  8385. * commands/lspci.c (grub_lspci_iter): Likewise.
  8386. 2009-04-16 Bean <bean123ch@gmail.com>
  8387. * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
  8388. value.
  8389. 2009-04-15 Pavel Roskin <proski@gnu.org>
  8390. * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
  8391. LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
  8392. users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
  8393. definitions.
  8394. 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
  8395. * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
  8396. that no multiple data or metadata areas are supported and `Unknown
  8397. metadata header'.
  8398. 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
  8399. Move loader out of the kernel
  8400. * kern/loader.c: moved to ...
  8401. * commands/boot.c: ... moved here
  8402. * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
  8403. * commands/boot.c (grub_cmd_boot): moved here. All users updated
  8404. * include/grub/kernel.h (grub_machine_fini): export
  8405. * include/grub/loader.h (grub_loader_is_loaded): update declaration
  8406. (grub_loader_set): likewise
  8407. (grub_loader_unset): likewise
  8408. (grub_loader_boot): likewise
  8409. * conf/common.rmk: new module boot.mod
  8410. (pkglib_MODULES): add boot.mod
  8411. * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
  8412. (grub_emu_SOURCES): likewise
  8413. * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
  8414. (grub_emu_SOURCES): likewise
  8415. * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
  8416. (grub_emu_SOURCES): likewise
  8417. * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
  8418. (grub_emu_SOURCES): likewise
  8419. * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
  8420. (grub_emu_SOURCES): likewise
  8421. * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
  8422. (grub_emu_SOURCES): likewise
  8423. * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
  8424. (grub_emu_SOURCES): likewise
  8425. 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
  8426. use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
  8427. * kern/misc.c (grub_itoa): Removed function
  8428. (grub_ltoa): likewise
  8429. (grub_vsprintf): use grub_lltoa
  8430. 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
  8431. Restore grub-emu
  8432. * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
  8433. * conf/i386-coreboot.rmk: likewise
  8434. * conf/i386-ieee1275.rmk: likewise
  8435. * conf/powerpc-ieee1275.rmk: likewise
  8436. 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
  8437. * INSTALL: Add that `./autogen.sh' needs to be run before
  8438. `./configure.'.
  8439. 2009-04-14 Bean <bean123ch@gmail.com>
  8440. * Makefile.in (pkglib_DATA): Add handler.lst.
  8441. (handler.lst): New rule.
  8442. * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
  8443. * conf/i386-coreboot.rmk: Likewise.
  8444. * conf/i386-ieee1275.rmk: Likewise.
  8445. * conf/i386-efi.rmk: Likewise.
  8446. * conf/x86_64-efi.rmk: Likewise.
  8447. * conf/powerpc-ieee1275.rmk: Likewise.
  8448. * conf/sparc64-ieee1275.rmk: Likewise.
  8449. * genhandlerlist.sh: New file.
  8450. * genmk.rb: Add rules to generate handler.lst.
  8451. * include/grub/normal.h (grub_file_getline): New function definition.
  8452. (read_handler_list): Likewise.
  8453. (free_handler_list): Likewise.
  8454. * include/grub/term.h (grub_term_register_input): Add name parameter
  8455. for auto generation of handler.lst.
  8456. (grub_term_register_output): Likewise.
  8457. * normal/handler.c: New file.
  8458. * normal/main.c (get_line): Renamed to grub_file_getline.
  8459. (read_config_file): Use the newly renamed grub_file_getline.
  8460. (read_command_list): Likewise.
  8461. (read_fs_list): Likewise.
  8462. (grub_normal_execute): Call read_handler_list to parse handler.lst.
  8463. (GRUB_MOD_FINI): Call free_handler_list to free handler list.
  8464. * term/efi/console.c (grub_console_init): Add name parameter for auto
  8465. generation of handler.lst.
  8466. * term/gfxterm.c: Likewise.
  8467. * term/i386/pc/at_keyboard.c: Likewise.
  8468. * term/i386/pc/console.c: Likewise.
  8469. * term/i386/pc/serial.c: Likewise.
  8470. * term/i386/pc/vesafb.c: Likewise.
  8471. * term/i386/pc/vga.c: Likewise.
  8472. * term/i386/pc/vga_text.c: Likewise.
  8473. * term/ieee1275/ofconsole.c: Likewise.
  8474. * term/usb_keyboard.c: Likewise.
  8475. 2009-04-14 Bean <bean123ch@gmail.com>
  8476. * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
  8477. properly with null character.
  8478. 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
  8479. * configure: Remove.
  8480. * config.h.in: Likewise.
  8481. * stamp-h.in: Likewise.
  8482. * DISTLIST: Likewise.
  8483. * conf/common.mk: Likewise.
  8484. * conf/i386-coreboot.mk: Likewise.
  8485. * conf/i386-efi.mk: Likewise.
  8486. * conf/i386-ieee1275.mk: Likewise.
  8487. * conf/i386.mk: Likewise.
  8488. * conf/i386-pc.mk: Likewise.
  8489. * conf/powerpc-ieee1275.mk: Likewise.
  8490. * conf/sparc64-ieee1275.mk: Likewise.
  8491. * conf/x86_64-efi.mk: Likewise.
  8492. * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
  8493. develop on GRUB.
  8494. 2009-04-14 John Stanley <jpsinthemix@verizon.net>
  8495. David S. Miller <davem@davemloft.net>
  8496. * util/hostdisk.c (make_device_name): Fix buffer length
  8497. calculations.
  8498. 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
  8499. * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
  8500. <sys/param.h> and <sys/sysctl.h>.
  8501. (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
  8502. to add 0x10 to `kern.geom.debugflags' if it's not already set, before
  8503. opening the device and reset them afterwards.
  8504. 2009-04-13 Pavel Roskin <proski@gnu.org>
  8505. * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
  8506. Reported by John Stanley <jpsinthemix@verizon.net>
  8507. 2009-04-13 Robert Millan <rmh@aybabtu.com>
  8508. * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
  8509. that name for menuentries when appropriate.
  8510. 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
  8511. * util/grub.d/10_freebsd.in: Add a missing `fi'.
  8512. 2009-04-13 Robert Millan <rmh@aybabtu.com>
  8513. * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
  8514. to Linux, simply abort telling the user it's no longer supported.
  8515. 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
  8516. * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
  8517. doesn't exist. Check also for /boot/kernel/kernel.gz. Print
  8518. `freebsd_loadenv' only when devices.hints exist.
  8519. 2009-04-13 Pavel Roskin <proski@gnu.org>
  8520. * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
  8521. 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
  8522. * util/i386/pc/grub-install.in (install_drive): Remove the BSD
  8523. partition number.
  8524. (grub_drive): Likewise.
  8525. 2009-04-13 David S. Miller <davem@davemloft.net>
  8526. * kern/sparc64/ieee1275/ieee1275.c: New file.
  8527. * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
  8528. IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
  8529. IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
  8530. IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
  8531. (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
  8532. grub_ieee1275_alloc_physmem): Declare new exported functions.
  8533. * include/grub/sparc64/ieee1275/loader.h: New file.
  8534. * include/grub/sparc64/ieee1275/memory.h: Likewise.
  8535. * include/grub/sparc64/kernel.h: Likewise.
  8536. * loader/sparc64/ieee1275/linux.c: Likewise.
  8537. * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
  8538. (grub_fstest_SOURCES): Likewise.
  8539. * util/hostdisk.c (make_device_name): Do not make any assumptions
  8540. about the length of drive names.
  8541. * kern/dl.c (grub_dl_load_file): Close file immediately when
  8542. we are done using it.
  8543. 2009-04-12 David S. Miller <davem@davemloft.net>
  8544. * kern/misc.c (grub_ltoa): Fix cast when handling negative
  8545. values. Noticed by Pavel Roskin.
  8546. * configure.ac: Check for __bswapsi2 and__bswapdi2 using
  8547. target compiler.
  8548. * genmk.rb: Add more flexible image type specification, also
  8549. pass --strip-unneeded to objcopy.
  8550. * conf/i386-pc.rmk: Use *_FORMAT.
  8551. * conf/i386-pc.mk: Rebuilt.
  8552. * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
  8553. (OFDISK_HASH_SZ): Define.
  8554. (ofdisk_hash): New hash table.
  8555. (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
  8556. (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
  8557. instead of device phandle which is not unique.
  8558. * kern/sparc64/ieee1275/init.c: Delete, replace with...
  8559. * kern/sparc64/ieee1275/crt0.S: assembler implementation.
  8560. * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
  8561. (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
  8562. GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
  8563. GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
  8564. GRUB_KERNEL_MACHINE_DATA_END): Define.
  8565. (grub_kernel_image_size, grub_total_module_size): Declare.
  8566. 2009-04-12 Pavel Roskin <proski@gnu.org>
  8567. * configure.ac: Change the logic when we check for target tools.
  8568. Do it when the target is specified and it's different from the
  8569. specified value of the host.
  8570. 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
  8571. * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
  8572. (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
  8573. GNU/kFreeBSD. Check if a device is a character device. Use
  8574. DIOCGMEDIASIZE to get the size.
  8575. (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
  8576. support for GNU/kFreeBSD.
  8577. (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
  8578. is a character device instead of a block device. Add support for
  8579. FreeBSD device names.
  8580. * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
  8581. is a character device instead of a block device.
  8582. * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
  8583. is a character device instead of a block device.
  8584. 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
  8585. * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
  8586. (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
  8587. FreeBSD. Check if a device is a character device. Use
  8588. DIOCGMEDIASIZE to get the size.
  8589. (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
  8590. support for FreeBSD.
  8591. (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
  8592. is a character device instead of a block device. Add support for
  8593. FreeBSD device names.
  8594. * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
  8595. a character device instead of a block device.
  8596. (grub_util_check_char_device): New function.
  8597. * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
  8598. a character device instead of a block device.
  8599. * include/grub/util/getroot.h (grub_util_check_char_device): New
  8600. prototype.
  8601. 2009-04-11 David S. Miller <davem@davemloft.net>
  8602. * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
  8603. static libgcc.
  8604. * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
  8605. * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
  8606. function, if present.
  8607. (__bswapdi2): Likewise.
  8608. * include/grub/sparc64/ieee1275/boot.h: New file.
  8609. * boot/sparc64/ieee1275/boot.S: Likewise.
  8610. * boot/sparc64/ieee1275/diskboot.S: Likewise.
  8611. * kern/misc.c (grub_ltoa): New function.
  8612. (grub_vsprintf): Use it to format 'long' integers.
  8613. 2009-04-10 David S. Miller <davem@davemloft.net>
  8614. * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
  8615. slots are of type grub_ieee1275_cell_t.
  8616. (grub_nand_read): Likewise.
  8617. * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
  8618. IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
  8619. macros are used to compare values in arg/ret block of the call.
  8620. (grub_ieee1275_finddevice, grub_ieee1275_get_property,
  8621. grub_ieee1275_next_property, grub_ieee1275_get_property_length,
  8622. grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
  8623. grub_ieee1275_instance_to_path, grub_ieee1275_write,
  8624. grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
  8625. grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
  8626. grub_ieee1275_close, grub_ieee1275_set_property,
  8627. grub_ieee1275_set_color): All ieee1275 call arg slots are of type
  8628. grub_ieee1275_cell_t.
  8629. * kern/ieee1275/openfw.c (grub_map): Likewise.
  8630. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
  8631. grub_ieee1275_phandle_t): Define as grub_unit32_t type.
  8632. * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
  8633. * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
  8634. (grub_devalias_iterate): Likewise.
  8635. 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
  8636. UFS improvements
  8637. * fs/ufs.c (INODE_NBLOCKS): new definition
  8638. (struct grub_ufs_dirent): added fields for non-BSD dirents
  8639. (grub_ufs_get_file_block): fixed double indirect handling
  8640. (grub_ufs_lookup_symlink): use more robust way to determine whether
  8641. symlink is inline
  8642. (grub_ufs_find_file): support for non-BSD dirents
  8643. (grub_ufs_dir): support for non-BSD dirents
  8644. 2009-04-10 Bean <bean123ch@gnail.com>
  8645. * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
  8646. attribute, otherwise the size would be wrong for i386 platform.
  8647. * include/grub/pci.h (grub_pci_read_word): New inline function.
  8648. (grub_pci_read_byte): Likewise.
  8649. (grub_pci_write): Likewise.
  8650. (grub_pci_write_word): Likewise.
  8651. (grub_pci_write_byte): Likewise.
  8652. * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
  8653. * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
  8654. (find_framebuf): Scan pci to locate the frame buffer address.
  8655. * commands/efi/fixvideo.c: New file.
  8656. * commands/efi/loadbios.c: Likewise.
  8657. * commands/memrw.c: Likewise.
  8658. * util/grub-dumpbios.in: Likewise.
  8659. * conf/common.rmk (grub-dumpbios): New utility.
  8660. (pkglib_MODULES): New module memrw.mod.
  8661. (memrw_mod_SOURCE): New macro.
  8662. (memrw_mod_CFLAGS): Likewise.
  8663. (memrw_mod_LDFLAGS): Likewise.
  8664. * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
  8665. fixvideo.mod.
  8666. (loadbios_mod_SOURCE): New macro.
  8667. (loadbios_mod_CFLAGS): Likewise.
  8668. (loadbios_mod_LDFLAGS): Likewise.
  8669. (fixvideo_mod_SOURCE): Likewise.
  8670. (fixvideo_mod_CFLAGS): Likewise.
  8671. (fixvideo_mod_LDFLAGS): Likewise.
  8672. * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
  8673. fixvideo.mod.
  8674. (loadbios_mod_SOURCE): New macro.
  8675. (loadbios_mod_CFLAGS): Likewise.
  8676. (loadbios_mod_LDFLAGS): Likewise.
  8677. (fixvideo_mod_SOURCE): Likewise.
  8678. (fixvideo_mod_CFLAGS): Likewise.
  8679. (fixvideo_mod_LDFLAGS): Likewise.
  8680. 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
  8681. * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
  8682. 2009-04-07 David S. Miller <davem@davemloft.net>
  8683. * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
  8684. support for R_SPARC_OLO10 relocations. Fix compile warning for
  8685. R_SPARC_WDISP30 case.
  8686. * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
  8687. 2009-04-06 Pavel Roskin <proski@gnu.org>
  8688. * include/grub/misc.h (ARRAY_SIZE): New macro.
  8689. * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
  8690. New macro.
  8691. * loader/i386/linux.c (allocate_pages): Use free_pages().
  8692. (grub_linux_unload): Don't use free_pages().
  8693. (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
  8694. wrong index. Treat all other modes as text modes.
  8695. (grub_cmd_linux): Initialize vid_mode unconditionally to
  8696. GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
  8697. * commands/help.c (print_command_help): Use cmd->prio, not
  8698. cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
  8699. 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
  8700. Parttool
  8701. * parttool/pcpart.c: new file
  8702. * commands/parttool.c: likewise
  8703. * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
  8704. (parttool_mod_SOURCES): new variable
  8705. (parttool_mod_CFLAGS): likewise
  8706. (parttool_mod_LDFLAGS): likewise
  8707. (pcpart_mod_SOURCES): likewise
  8708. (pcpart_mod_CFLAGS): likewise
  8709. (pcpart_mod_LDFLAGS): likewise
  8710. * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
  8711. and parttool/pcpart.c
  8712. * conf/i386-efi.rmk: likewise
  8713. * conf/i386-ieee1275.rmk: likewise
  8714. * conf/i386-pc.rmk: likewise
  8715. * conf/powerpc-ieee1275.rmk: likewise
  8716. * conf/sparc64-ieee1275.rmk: likewise
  8717. * conf/x86_64-ieee1275.rmk: likewise
  8718. 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
  8719. Support for mtime and further expandability of dir command
  8720. * include/grub/lib/datetime.h: moved to ...
  8721. * include/grub/datetime.h: ... moved here and added
  8722. declaration of grub_unixtime2datetime. All users updated
  8723. * include/grub/fs.h: new syntax for dir and mtime functions in
  8724. struct grub_fs
  8725. * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
  8726. and GRUB_FSHELP_FLAGS_MASK
  8727. * commands/ls.c (grub_ls_list_files): Write mtime in long format
  8728. * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
  8729. (grub_ext2_mtime): new function
  8730. * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
  8731. (grub_hfsplus_mtime): new function
  8732. * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
  8733. (GRUB_UFS_ATTR_FILE): likewise
  8734. (GRUB_UFS_ATTR_LNK): likewise
  8735. (struct grub_ufs_sblock): new fields mtime
  8736. (grub_ufs_read_inode): new parameter to read inode to a separate buffer
  8737. all users updated
  8738. (grub_ufs_dir): mtime support
  8739. (grub_ufs_mtime): new function
  8740. * fs/affs.c (grub_affs_dir): use new dir syntax
  8741. * fs/afs.c (grub_afs_dir): likewise
  8742. * fs/cpio.c (grub_cpio_dir): likewise
  8743. * fs/fat.c (grub_fat_find_dir): likewise
  8744. * fs/hfs.c (grub_hfs_dir): likewise
  8745. * fs/iso9660.c (grub_iso9660_dir): likewise
  8746. * fs/jfs.c (grub_jfs_dir): likewise
  8747. * fs/minix.c (grub_minix_dir): likewise
  8748. * fs/ntfs.c (grub_ntfs_dir): likewise
  8749. * fs/reiserfs.c (grub_reiserfs_dir): likewise
  8750. * fs/sfs.c (grub_sfs_dir): likewise
  8751. * fs/xfs.c (grub_xfs_dir): likewise
  8752. * util/hostfs.c (grub_hostfs_dir): likewise
  8753. * lib/datetime.c: moved to ...
  8754. * normal/datetime.c: ... moved here
  8755. (grub_unixtime2datetime): new function
  8756. * kern/rescue.c (grub_rescue_print_files): use new dir syntax
  8757. * normal/completion.c (iterate_dir): use new dir syntax
  8758. * normal/misc.c (grub_normal_print_device_info): tell the
  8759. last modification time of a volume
  8760. * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
  8761. * conf/common.rmk: added lib/datetime.c to ls.mod
  8762. * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
  8763. (normal_mod_SOURCES): likewise
  8764. (datetime_mod_SOURCES): Removed lib/datetime.c
  8765. * conf/i386-efi.rmk: likewise
  8766. * conf/i386-ieee1275.rmk: likewise
  8767. * conf/i386-pc.rmk: likewise
  8768. * conf/powerpc-ieee1275.rmk: likewise
  8769. * conf/sparc64-ieee1275.rmk: likewise
  8770. * conf/x86_64-efi.rmk: likewise
  8771. 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
  8772. Trim trailing spaces in FAT label and support mtools-like labels
  8773. * fs/fat.c (grub_fat_iterate_dir): New function based
  8774. on grub_fat_find_dir
  8775. (grub_fat_find_dir): use grub_fat_iterate_dir
  8776. (grub_fat_label): likewise
  8777. 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
  8778. * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
  8779. and command.h
  8780. remove extraneous kernel_elf_HEADERS
  8781. 2009-04-04 Bean <bean123ch@gnail.com>
  8782. * include/grub/util/misc.h: Add dummy function fsync for mingw.
  8783. * util/misc.c: Likewise.
  8784. 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
  8785. * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
  8786. instead of grub_printf.
  8787. 2009-04-03 Robert Millan <rmh@aybabtu.com>
  8788. * loader/i386/linux.c (grub_linux_setup_video): Fill
  8789. `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
  8790. values from `mode info' structure instead of hardcoded
  8791. values.
  8792. 2009-04-01 Pavel Roskin <proski@gnu.org>
  8793. * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
  8794. unused now.
  8795. * genmk.rb: Likewise.
  8796. * configure.ac: Likewise.
  8797. 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
  8798. * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
  8799. TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
  8800. 2009-04-01 David S. Miller <davem@davemloft.net>
  8801. * normal/sparc64/setjmp.S: Fix setjmp implementation.
  8802. * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
  8803. (grub_setjmp): Mark with 'returns_twice' attribute.
  8804. * include/grub/i386/setjmp.h (grub_setjmp): Likewise
  8805. * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
  8806. * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
  8807. 2009-04-01 Robert Millan <rmh@aybabtu.com>
  8808. Reapply fix from 2008-07-28 which was accidentally reverted; also
  8809. perform the same fix to a similar check in same function.
  8810. * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
  8811. with the same number are found, just use issue a warning with
  8812. grub_dprintf(), as this error has been reported to be non-fatal.
  8813. 2009-03-31 Pavel Roskin <proski@gnu.org>
  8814. * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
  8815. for cross-compilation.
  8816. 2009-03-30 Robert Millan <rmh@aybabtu.com>
  8817. Fix i386-ieee1275 build.
  8818. * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
  8819. Remove declaration.
  8820. 2009-03-30 Pavel Roskin <proski@gnu.org>
  8821. * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
  8822. (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
  8823. zero-terminated, rely only on the strlen value. Fix comparison
  8824. of strings differing in length.
  8825. 2009-03-30 Robert Millan <rmh@aybabtu.com>
  8826. * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
  8827. checking for abi version. Improve error messages on BIOS to notify
  8828. user about `linux16' command.
  8829. 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
  8830. Leak fixes
  8831. * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
  8832. in case of collision
  8833. * disk/scsi.c (grub_scsi_open): free scsi in case of error
  8834. 2009-03-29 Robert Millan <rmh@aybabtu.com>
  8835. * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
  8836. set `vid_mode' accordingly.
  8837. (grub_linux_boot): Process `vid_mode' and set video mode.
  8838. 2009-03-29 Robert Millan <rmh@aybabtu.com>
  8839. * util/grub.d/10_linux.in (linux_entry): New function.
  8840. Factorize generation of Linux boot entries.
  8841. 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
  8842. Make the format of Environment Block plain text. The boot loader
  8843. part is not tested well yet.
  8844. * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
  8845. (buffer): Removed.
  8846. (envblk): Likewise.
  8847. (usage): Remove "info" and "clear". Add "unset". Update the
  8848. description of "set", as this does not delete variables any
  8849. longer.
  8850. (create_envblk_file): Complete rewrite.
  8851. (open_envblk_file): Likewise.
  8852. (cmd_info): Removed.
  8853. (cmd_list): Likewise.
  8854. (cmd_set): Likewise.
  8855. (cmd_clear): Likewise.
  8856. (list_variables): New function.
  8857. (write_envblk): Likewise.
  8858. (set_variables): Likewise.
  8859. (unset_variables): Likewise.
  8860. (main): Complete rewrite.
  8861. * commands/loadenv.c (buffer): Removed.
  8862. (envblk): Likewise.
  8863. (open_envblk_file): New function.
  8864. (read_envblk_file): Complete rewrite.
  8865. (grub_cmd_load_env): Likewise.
  8866. (grub_cmd_list_env): Likewise.
  8867. (struct blocklist): New struct.
  8868. (free_blocklists): New function.
  8869. (check_blocklists): Likewise.
  8870. (write_blocklists): Likewise.
  8871. (grub_cmd_save_env): Complete rewrite.
  8872. * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
  8873. a plain text signature.
  8874. (GRUB_ENVBLK_MAXLEN): Removed.
  8875. (struct grub_envblk): Complete rewrite.
  8876. (grub_envblk_find): Removed.
  8877. (grub_envblk_insert): Likewise.
  8878. (grub_envblk_open): New prototype.
  8879. (grub_envblk_set): Likewise.
  8880. (grub_envblk_delete): Put const to VALUE.
  8881. (grub_envblk_iterate): Put const to NAME and VALUE.
  8882. (grub_envblk_close): New prototype.
  8883. (grub_envblk_buffer): New inline function.
  8884. (grub_envblk_size): Likewise.
  8885. * lib/envblk.c: Include grub/mm.h.
  8886. (grub_env_find): Removed.
  8887. (grub_envblk_open): New function.
  8888. (grub_envblk_close): Likewise.
  8889. (escaped_value_len): Likewise.
  8890. (find_next_line): Likewise.
  8891. (grub_envblk_insert): Removed.
  8892. (grub_envblk_set): New function.
  8893. (grub_envblk_delete): Complete rewrite.
  8894. (grub_envblk_iterate): Likewise.
  8895. 2009-03-28 Robert Millan <rmh@aybabtu.com>
  8896. * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
  8897. (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
  8898. variables. Use 16-bit loader.
  8899. (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
  8900. loader.
  8901. * kern/i386/loader.S (grub_linux_boot): Rename to ...
  8902. (grub_linux16_boot): ... this. Update all users.
  8903. * loader/i386/linux.c (grub_linux32_boot): Rename to ...
  8904. (grub_linux_boot): ... this. Update all users.
  8905. * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
  8906. (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
  8907. commands to `linux16' and `initrd16'.
  8908. (GRUB_MOD_FINI(linux)): Rename to ...
  8909. (GRUB_MOD_FINI(linux16)): ... this.
  8910. 2009-03-24 Pavel Roskin <proski@gnu.org>
  8911. * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
  8912. not just for compilation.
  8913. 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
  8914. Move multiboot helper out of kernel
  8915. * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
  8916. `loader/i386/multiboot_helper.S'.
  8917. * conf/i386-coreboot.rmk: Likewise
  8918. * conf/i386-ieee1275.rmk: Likewise
  8919. * kern/i386/loader.S: Move multiboot helpers from here...
  8920. * loader/i386/multiboot_helper.S: ...moved here
  8921. * include/grub/i386/loader.h: Move declarations of multiboot
  8922. helpers from here...
  8923. * include/grub/i386/multiboot.h: ...moved here
  8924. * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
  8925. 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
  8926. * kern/env.c (grub_env_context_open): Added an argument to specify
  8927. whether a new context inherits exported variables from current
  8928. one. This is useful when making a sandbox to interpret a config
  8929. file.
  8930. All callers updated.
  8931. * include/grub/env.h (grub_env_context_open): Updated the prototype.
  8932. 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
  8933. * kern/env.c (grub_env_context_close): Fix memory leaks.
  8934. 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
  8935. * normal/main.c (grub_normal_execute): Added an argument
  8936. BATCH to specify if an interactive interface should be provided
  8937. after reading a config file.
  8938. All callers updated.
  8939. (read_command_list): Prevent being executed twice.
  8940. (read_fs_list): Likewise.
  8941. * include/grub/normal.h (grub_normal_execute): Updated the
  8942. prototype.
  8943. 2009-03-22 Pavel Roskin <proski@gno.org>
  8944. * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
  8945. _start.
  8946. * kern/i386/pc/startup.S: Likewise.
  8947. * kern/i386/efi/startup.S: Likewise.
  8948. * kern/i386/ieee1275/startup.S: Likewise.
  8949. * kern/i386/coreboot/startup.S: Likewise.
  8950. * kern/x86_64/efi/startup.S: Likewise.
  8951. * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
  8952. * configure.ac: Don't call grub_CHECK_START_SYMBOL.
  8953. * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
  8954. 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
  8955. Bugfixes in multiboot for bugs uncovered by solaris kernel.
  8956. * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
  8957. limit detection.
  8958. Use vaddr of correct segment for entry_point.
  8959. 2009-03-21 Bean <bean123ch@gmail.com>
  8960. * commands/blocklist.c: Add include file <grub/command.h>, remove
  8961. <grub/normal.h> and <grub/arg.h>.
  8962. (grub_cmd_blocklist): Use the new command interface.
  8963. (GRUB_MOD_INIT): Likewise.
  8964. (GRUB_MOD_FINI): Likewise.
  8965. * commands/boot.c: Likewise.
  8966. * commands/cat.c: Likewise.
  8967. * commands/cmp.c: Likewise.
  8968. * commands/configfile.c: Likewise.
  8969. * commands/crc.c: Likewise.
  8970. * commands/echo.c: Likewise.
  8971. * commands/halt.c: Likewise.
  8972. * commands/handler.c: Likewise.
  8973. * commands/hdparm.c: Likewise.
  8974. * commands/help.c: Likewise.
  8975. * commands/hexdump.c: Likewise.
  8976. * commands/loadenv.c: Likewise.
  8977. * commands/ls.c: Likewise.
  8978. * commands/lsmmap.c: Likewise.
  8979. * commands/lspci.c: Likewise.
  8980. * commands/loadenv.c: Likewise.
  8981. * commands/read.c: Likewise.
  8982. * commands/reboot.c: Likewise.
  8983. * commands/search.c: Likewise.
  8984. * commands/sleep.c: Likewise.
  8985. * commands/test.c: Likewise.
  8986. * commands/usbtest.c: Likewise.
  8987. * commands/videotest.c: Likewise.
  8988. * commands/i386/cpuid.c: Likewise.
  8989. * commands/i386/pc/halt.c: Likewise.
  8990. * commands/i386/pc/play.c: Likewise.
  8991. * commands/i386/pc/pxecmd.c: Likewise.
  8992. * commands/i386/pc/vbeinfo.c: Likewise.
  8993. * commands/i386/pc/vbetest.c: Likewise.
  8994. * commands/ieee1275/suspend.c: Likewise.
  8995. * disk/loopback.c: Likewise.
  8996. * font/font_cmd.c: Likewise.
  8997. * hello/hello.c: Likewise.
  8998. * loader/efi/appleloader.c: Likewise.
  8999. * loader/efi/chainloader.c: Likewise.
  9000. * loader/i386/bsd.c: Likewise.
  9001. * loader/i386/efi/linux.c: Likewise.
  9002. * loader/i386/ieee1275/linux.c: Likewise.
  9003. * loader/i386/linux.c: Likewise.
  9004. * loader/i386/pc/chainloader.c: Likewise.
  9005. * loader/i386/pc/linux.c: Likewise.
  9006. * loader/powerpc/ieee1275/linux.c: Likewise.
  9007. * loader/multiboot_loader.c: Likewise.
  9008. * term/gfxterm.c: Likewise.
  9009. * term/i386/pc/serial.c: Likewise.
  9010. * term/terminfo.c: Likewise.
  9011. * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
  9012. * term/i386/pc/vga.c: Likewise.
  9013. * video/readers/jpeg.c: Likewise.
  9014. * video/readers/png.c: Likewise.
  9015. * video/readers/tga.c: Likewise.
  9016. * util/grub-fstest (cmd_loopback): Removed.
  9017. (cmd_blocklist): Likewise.
  9018. (cmd_ls): Likewise.
  9019. (grub_register_command): Likewise.
  9020. (grub_unregister_command): Likewise.
  9021. (execute_command): Use grub_command_find to locate command and execute
  9022. it.
  9023. * include/grub/efi/chainloader.h: Removed.
  9024. * loader/efi/chainloader_normal.c: Likewise.
  9025. * loader/i386/bsd_normal.c: Likewise.
  9026. * loader/i386/pc/chainloader_normal.c: Likewise.
  9027. * loader/i386/pc/multiboot_normal.c: Likewise.
  9028. * loader/linux_normal.c: Likewise.
  9029. * loader/multiboot_loader_normal.c: Likewise.
  9030. * loader/powerpc/ieee1275/linux_normal.c: Likewise.
  9031. * gencmdlist.sh: Scan new registration command grub_register_extcmd
  9032. and grub_register_command_p1.
  9033. * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
  9034. kern/command.c, lib/arg.c and commands/extcmd.c.
  9035. (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
  9036. (minicmd_mod_SOURCES): New variable.
  9037. (minicmd_mod_CFLAGS): Likewise.
  9038. (minicmd_mod_LDFLAGS): Likewise.
  9039. (extcmd_mod_SOURCES): Likewise.
  9040. (extcmd_mod_CFLAGS): Likewise.
  9041. (extcmd_mod_LDFLAGS): Likewise.
  9042. (boot_mod_SOURCES): Removed.
  9043. (boot_mod_CFLAGS): Likewise.
  9044. (boot_mod_LDFLAGS): Likewise.
  9045. * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
  9046. kern/corecmd.c.
  9047. (kernel_img_HEADERS): Add command.h.
  9048. (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
  9049. commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
  9050. and lib/arg.c.
  9051. (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
  9052. _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
  9053. remove the corresponding normal mode command.
  9054. (normal_mod_SOURCES): Remove normal/arg.c.
  9055. * conf/i386-coreboot.rmk: Likewise.
  9056. * conf/i386-efi.rmk: Likewise.
  9057. * conf/i386-ieee1275.rmk: Likewise.
  9058. * conf/powerpc-ieee1275.rmk: Likewise.
  9059. * conf/x86_64-efi.rmk: Likewise.
  9060. * include/grub/arg.h: Move from here ...
  9061. * include/grub/lib/arg.h: ... to here.
  9062. * normal/arg.c: Move from here ...
  9063. * lib/arg.c: ... to here.
  9064. * commands/extcmd.c: New file.
  9065. * commands/minicmd.c: Likewise.
  9066. * include/grub/command.h: Likewise.
  9067. * include/grub/extcmd.h: Likewise.
  9068. * kern/command.c: Likewise.
  9069. * kern/corecmd.c: Likewise.
  9070. * kern/list.c (grub_list_iterate): Return int instead of void.
  9071. (grub_list_insert): New function.
  9072. (grub_prio_list_insert): Likewise.
  9073. * kern/rescue.c (grub_rescue_command): Removed.
  9074. (grub_rescue_command_list): Likewise.
  9075. (grub_rescue_register_command): Likewise.
  9076. (grub_rescue_unregister_command): Likewise.
  9077. (grub_rescue_cmd_boot): Move to minicmd.c
  9078. (grub_rescue_cmd_help): Likewise.
  9079. (grub_rescue_cmd_info): Likewise.
  9080. (grub_rescue_cmd_boot): Likewise.
  9081. (grub_rescue_cmd_testload): Likewise.
  9082. (grub_rescue_cmd_dump): Likewise.
  9083. (grub_rescue_cmd_rmmod): Likewise.
  9084. (grub_rescue_cmd_lsmod): Likewise.
  9085. (grub_rescue_cmd_exit): Likewise.
  9086. (grub_rescue_print_devices): Moved to corecmd.c.
  9087. (grub_rescue_print_files): Likewise.
  9088. (grub_rescue_cmd_ls): Likewise.
  9089. (grub_rescue_cmd_insmod): Likewise.
  9090. (grub_rescue_cmd_set): Likewise.
  9091. (grub_rescue_cmd_unset): Likewise.
  9092. (attempt_normal_mode): Use grub_command_find to get normal module.
  9093. (grub_enter_rescue_mode): Use grub_register_core_commands to register
  9094. commands, remove grub_rescue_register_command calls.
  9095. * normal/command.c (grub_register_command): Removed.
  9096. (grub_unregister_command): Likewise.
  9097. (grub_command_find): Likewise.
  9098. (grub_iterate_commands): Likewise.
  9099. (rescue_command): Likewise.
  9100. (export_command): Moved to corecmd.c.
  9101. (set_command): Removed.
  9102. (unset_command): Likewise.
  9103. (insmod_command): Likewise.
  9104. (rmmod_command): Likewise.
  9105. (lsmod_command): Likewise.
  9106. (grub_command_init): Likewise.
  9107. * normal/completion.c (iterate_command): Use cmd->prio to check for
  9108. active command.
  9109. (complete_arguments): Use grub_extcmd_t structure to find options.
  9110. (grub_normal_do_completion): Change function grub_iterate_commands to
  9111. grub_command_iterate.
  9112. * normal/execute.c (grub_script_execute_cmd): No need to parse
  9113. argument here.
  9114. * normal/main.c (grub_dyncmd_dispatcher): New function.
  9115. (read_command_list): Register unload commands as dyncmd.
  9116. (grub_cmd_normal): Use new command interface, register rescue,
  9117. unregister normal at entry, register normal, unregister rescue at exit.
  9118. * include/grub/list.h (grub_list_test_t): New type.
  9119. (grub_list_iterate): Return int instead of void.
  9120. (grub_list_insert): New function.
  9121. (GRUB_AS_NAMED_LIST_P): New macro.
  9122. (GRUB_AS_PRIO_LIST): Likewise.
  9123. (GRUB_AS_PRIO_LIST_P): Likewise.
  9124. (GRUB_PRIO_LIST_PRIO_MASK): New constant.
  9125. (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
  9126. (grub_prio_list): New structure.
  9127. (grub_prio_list_insert): New function.
  9128. (grub_prio_list_remove): New inline function.
  9129. * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
  9130. (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
  9131. (GRUB_COMMAND_FLAG_MENU): Likewise.
  9132. (GRUB_COMMAND_FLAG_BOTH): Likewise.
  9133. (GRUB_COMMAND_FLAG_TITLE): Likewise.
  9134. (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
  9135. (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
  9136. (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
  9137. (grub_command): Likewise.
  9138. (grub_register_command): Likewise.
  9139. (grub_command_find): Likewise.
  9140. (grub_iterate_commands): Likewise.
  9141. (grub_command_init): Likewise.
  9142. (grub_arg_parse): Likewise.
  9143. (grub_arg_show_help): Likewise.
  9144. * include/grub/rescue.h (grub_rescue_register_command): Removed.
  9145. (grub_rescue_unregister_command): Likewise.
  9146. * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
  9147. grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
  9148. grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
  9149. * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
  9150. grub_rescue_cmd_initrd.
  9151. * include/grub/i386/loader.h: Likewise.
  9152. * include/grub/x86_64/loader.h: Likewise.
  9153. * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
  9154. 2009-03-21 Bean <bean123ch@gmail.com>
  9155. * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
  9156. instead of stat in mingw environment.
  9157. * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
  9158. * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
  9159. * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
  9160. AC_CONFIG_LINKS.
  9161. 2009-03-21 Bean <bean123ch@gmail.com>
  9162. * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
  9163. out of range error.
  9164. 2009-03-18 Michel Dänzer <michel@daenzer.net>
  9165. * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
  9166. checking inode flags for EXT4_EXTENTS_FLAG.
  9167. 2009-03-18 Robert Millan <rmh@aybabtu.com>
  9168. * loader/i386/linux.c: Include `<grub/video.h>' and
  9169. `<grub/i386/pc/vbe.h>'..
  9170. (grub_linux_setup_video): New function. Loosely based on the EFI one.
  9171. (grub_linux32_boot): Attempt to configure video settings with
  9172. grub_linux_setup_video().
  9173. (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
  9174. to avoid grub_console_fini() which would step out of graphical mode
  9175. unconditionally.
  9176. 2009-03-14 Robert Millan <rmh@aybabtu.com>
  9177. Fix build on powerpc.
  9178. * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
  9179. 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
  9180. * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
  9181. background image command.
  9182. 2009-03-12 Colin D Bennett <colin@gibibit.com>
  9183. * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
  9184. (grub_gfxterm_putchar): Extract pairs of identical calls to
  9185. draw_cursor out of conditional blocks.
  9186. 2009-03-11 Pavel Roskin <proski@gnu.org>
  9187. * fs/hfs.c (grub_hfs_strncasecmp): New function.
  9188. (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
  9189. 2009-03-11 Robert Millan <rmh@aybabtu.com>
  9190. * loader/i386/multiboot_elfxx.c
  9191. (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
  9192. 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
  9193. * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
  9194. `kern/handler.c'.
  9195. 2009-03-11 Robert Millan <rmh@aybabtu.com>
  9196. * loader/i386/multiboot.c (code_size): New variable.
  9197. (grub_multiboot): Define offsets by adding to `code_size' rather
  9198. than subtracting from `grub_multiboot_payload_size'. Provide
  9199. 4-byte alignment to MBI and others by increasing
  9200. `boot_loader_name_length' appropriately.
  9201. * loader/i386/multiboot_elfxx.c
  9202. (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
  9203. 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
  9204. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
  9205. `fs/ext2.c'.
  9206. 2009-03-08 Robert Millan <rmh@aybabtu.com>
  9207. Make loader/i386/linux.c usable on i386-pc again.
  9208. * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
  9209. memory to heap.
  9210. * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
  9211. `#error' stanza.
  9212. 2009-03-07 Bean <bean123ch@gmail.com>
  9213. * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
  9214. allocation.
  9215. 2009-03-06 Robert Millan <rmh@aybabtu.com>
  9216. Fix display issue on terminals with screen size other than 80x25
  9217. (e.g. gfxterm with resolution higher than 640x480).
  9218. * normal/main.c (grub_normal_init_page): Display title text in a
  9219. position relative to the center of the terminal instead of relying
  9220. on a hardcoded offset.
  9221. 2009-03-04 Robert Millan <rmh@aybabtu.com>
  9222. Filter /etc/grub.d/10_* so that only add-ons for native kernels are
  9223. installed.
  9224. * Makefile.in (host_kernel): New variable.
  9225. * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
  9226. scripts instead of just the windows one.
  9227. * configure.ac: Initialize and AC_SUBST `host_kernel'.
  9228. 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
  9229. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
  9230. `kern/handler.c'.
  9231. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  9232. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  9233. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
  9234. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9235. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9236. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9237. 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
  9238. * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
  9239. or if there's no space for the disk label and print the partition number on a
  9240. invalid magic.
  9241. 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
  9242. * util/misc.c: Include <time.h>.
  9243. (grub_millisleep): New function.
  9244. 2009-03-04 Bean <bean123ch@gmail.com>
  9245. * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
  9246. another option -mno-red-zone.
  9247. * commands/handler.c: Change module description.
  9248. * kern/handler.c: Add missing space at the end of description line.
  9249. * kern/list.c: Likewise.
  9250. 2009-03-03 Robert Millan <rmh@aybabtu.com>
  9251. Move more components to the relocation area, and fix mbi pointer
  9252. handling to use the destination rather than the origin (thanks to
  9253. Vladimir Serbinenko for spotting).
  9254. * loader/i386/multiboot.c (mbi_dest): New variable.
  9255. (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
  9256. (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
  9257. relocation area.
  9258. 2009-03-01 Bean <bean123ch@gmail.com>
  9259. * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
  9260. (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
  9261. (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
  9262. (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
  9263. * loader/i386/efi/linux.c (acpi_guid): New variable.
  9264. (acpi_guid): Likewise.
  9265. (EBDA_SEG_ADDR): New constant.
  9266. (LOW_MEM_ADDR): Likewise.
  9267. (FAKE_EBDA_SEG): Likewise.
  9268. (fake_bios_data): New function.
  9269. (grub_linux_boot): Call fake_bios_data.
  9270. 2009-03-01 Bean <bean123ch@gmail.com>
  9271. * commands/terminal.c: Removed.
  9272. * commands/handler.c: New file.
  9273. * include/grub/list.h: Likewise.
  9274. * include/grub/handler.h: Likewise.
  9275. * kern/list.c: Likewise.
  9276. * kern/handler.c: Likewise.
  9277. * kern/term.h: Include header file <grub/handler.h>.
  9278. (grub_term_input): Move next field to the beginning.
  9279. (grub_term_output): Likewise.
  9280. (grub_term_input_class): New variable.
  9281. (grub_term_output_class): Likewise.
  9282. (grub_term_register_input): Changed to inline function.
  9283. (grub_term_register_output): Likewise.
  9284. (grub_term_unregister_input): Likewise.
  9285. (grub_term_unregister_output): Likewise.
  9286. (grub_term_set_current_input): Likewise.
  9287. (grub_term_set_current_output): Likewise.
  9288. (grub_term_get_current_input): Likewise.
  9289. (grub_term_get_current_output): Likewise.
  9290. (grub_term_iterate_input): Removed.
  9291. (grub_term_iterate_output): Likewise.
  9292. * kern/term.c (grub_term_list_input): Removed.
  9293. (grub_term_list_output): Likewise.
  9294. (grub_term_input_class): New variable.
  9295. (grub_term_output_class): Likewise.
  9296. (grub_cur_term_input): Change variable as macro.
  9297. (grub_cur_term_output): Likewise.
  9298. (grub_term_register_input): Removed.
  9299. (grub_term_register_output): Likewise.
  9300. (grub_term_unregister_input): Likewise.
  9301. (grub_term_unregister_output): Likewise.
  9302. (grub_term_set_current_input): Likewise.
  9303. (grub_term_set_current_output): Likewise.
  9304. (grub_term_iterate_input): Likewise.
  9305. (grub_term_iterate_output): Likewise.
  9306. (grub_term_get_current_input): Likewise.
  9307. (grub_term_get_current_output): Likewise.
  9308. * util/grub-editenv.c: Include header file <grub/handler.h>.
  9309. (grub_term_get_current_input): Removed.
  9310. (grub_term_get_current_output): Likewise.
  9311. (grub_term_input_class): New variable.
  9312. (grub_term_output_class): Likewise.
  9313. * util/grub-fstest.c (grub_term_get_current_input): Removed.
  9314. (grub_term_get_current_output): Likewise.
  9315. (grub_term_input_class): New variable.
  9316. (grub_term_output_class): Likewise.
  9317. * util/grub-probe.c (grub_term_get_current_input): Removed.
  9318. (grub_term_get_current_output): Likewise.
  9319. (grub_term_input_class): New variable.
  9320. (grub_term_output_class): Likewise.
  9321. * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
  9322. (grub_term_get_current_output): Likewise.
  9323. (grub_term_input_class): New variable.
  9324. (grub_term_output_class): Likewise.
  9325. * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
  9326. (terminal_mod_SOURCES): Likewise.
  9327. (terminal_mod_CFLAGS): Likewise.
  9328. (terminal_mod_LDFLAGS): Likewise.
  9329. * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
  9330. handler.c.
  9331. (kernel_img_SOURCES): Add list.c and handler.c.
  9332. (kernel_img_HEADERS): Add list.h and handler.h.
  9333. * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
  9334. handler.c.
  9335. (kernel_mod_SOURCES): Add list.c and handler.c.
  9336. (kernel_mod_HEADERS): Add list.h and handler.h.
  9337. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
  9338. handler.c.
  9339. (kernel_elf_SOURCES): Add list.c and handler.c.
  9340. (kernel_elf_HEADERS): Add list.h and handler.h.
  9341. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
  9342. handler.c.
  9343. (kernel_elf_SOURCES): Add list.c and handler.c.
  9344. (kernel_elf_HEADERS): Add list.h and handler.h.
  9345. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
  9346. handler.c.
  9347. (kernel_mod_SOURCES): Add list.c and handler.c.
  9348. (kernel_mod_HEADERS): Add list.h and handler.h.
  9349. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
  9350. handler.c.
  9351. (kernel_elf_SOURCES): Add list.c and handler.c.
  9352. (kernel_elf_HEADERS): Add list.h and handler.h.
  9353. 2009-02-27 Robert Millan <rmh@aybabtu.com>
  9354. Factorize elf32 / elf64 code in Multiboot loader. This will
  9355. prevent it from getting out of sync again.
  9356. * loader/i386/multiboot.c (grub_multiboot_is_elf32,
  9357. grub_multiboot_load_elf32, grub_multiboot_is_elf64,
  9358. grub_multiboot_load_elf64): Move from here ...
  9359. * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
  9360. grub_multiboot_load_elf): ... to here (new file).
  9361. 2009-02-27 Robert Millan <rmh@aybabtu.com>
  9362. * util/grub.d/10_linux.in: Rename "single-user mode" to
  9363. "recovery mode".
  9364. 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
  9365. Don't leak in SCSI code.
  9366. * disk/scsi.c (grub_scsi_close): free `scsi'.
  9367. 2009-02-27 Robert Millan <rmh@aybabtu.com>
  9368. * loader/i386/pc/multiboot.c: Move from here ...
  9369. * loader/i386/multiboot.c: ... to here. Update all users.
  9370. 2009-02-27 Robert Millan <rmh@aybabtu.com>
  9371. Patch from Alexandre Bique <bique.alexandre@gmail.com>
  9372. * util/i386/pc/grub-setup.c (setup): Fix directory path.
  9373. 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
  9374. * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
  9375. b-tree.
  9376. 2009-02-27 Robert Millan <rmh@aybabtu.com>
  9377. * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
  9378. `0x' qualifier as 0 when base is specified as parameter).
  9379. 2009-02-24 Bean <bean123ch@gmail.com>
  9380. * configure.ac: Check for -mcmodel=large in x86_64 target.
  9381. * include/grub/efi/api.h (efi_call_10): New macro.
  9382. (efi_wrap_10): New function.
  9383. * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
  9384. (GRUB_PE32_REL_BASED_HIGH): Likewise.
  9385. (GRUB_PE32_REL_BASED_LOW): Likewise.
  9386. (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
  9387. (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
  9388. (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
  9389. (GRUB_PE32_REL_BASED_SECTION): Likewise.
  9390. (GRUB_PE32_REL_BASED_REL): Likewise.
  9391. (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
  9392. (GRUB_PE32_REL_BASED_DIR64): Likewise.
  9393. (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
  9394. * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
  9395. issue.
  9396. * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
  9397. (efi_wrap_10): New function.
  9398. * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
  9399. * loader/efi/appleloader.c (devpath_5): Add support for late 2008
  9400. MB/MBP model (NV chipset).
  9401. (devdata_devs): Add devpath_5 to the list.
  9402. * load/i386/efi/linux.c (video_base): Remove variable.
  9403. (RGB_MASK): New macro.
  9404. (RGB_MAGIC): Likewise.
  9405. (LINE_MIN): Likewise.
  9406. (LINE_MAX): Likewise.
  9407. (FBTEST_STEP): Likewise.
  9408. (FBTEST_COUNT): Likewise.
  9409. (fb_list): New variable.
  9410. (grub_find_video_card): Remove function.
  9411. (find_framebuf): New function.
  9412. (grub_linux_setup_video): Use find_framebuf to get frame buffer and
  9413. line length.
  9414. * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
  9415. problem for x86_64.
  9416. 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
  9417. Patch #25624 by Kevin Lacquement <kevin@lacqui>.
  9418. * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
  9419. coding tool name.
  9420. 2009-02-22 Robert Millan <rmh@aybabtu.com>
  9421. * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
  9422. * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
  9423. in our relocation, instead of using it directly from heap. Also
  9424. use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
  9425. 2009-02-21 Robert Millan <rmh@aybabtu.com>
  9426. Implement USB keyboard support (based on patch by Marco Gerards)
  9427. * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
  9428. (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
  9429. (usb_keyboard_mod_LDFLAGS): New variables.
  9430. * term/usb_keyboard.c: New file.
  9431. 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
  9432. Corrected wrong declaration
  9433. * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
  9434. 2009-02-14 Christian Franke <franke@computer.org>
  9435. * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
  9436. (grub_lspci_iter): Print class code and programming interface byte.
  9437. 2009-02-14 Christian Franke <franke@computer.org>
  9438. * gendistlist.sh: Ignore `.svn' directories.
  9439. 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
  9440. * fs/fat.c: Add 2009 to Copyright line.
  9441. 2009-02-14 Christian Franke <franke@computer.org>
  9442. * commands/hdparm.c: New file. Provides `hdparm' command
  9443. which sends ATA commands via grub_disk_ata_pass_through ().
  9444. * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
  9445. * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
  9446. and <grub/cpu/io.h> to include/grub/ata.h.
  9447. (enum grub_ata_addressing_t): Move to include/grub/ata.h.
  9448. (GRUB_CDROM_SECTOR_SIZE): Remove.
  9449. (GRUB_ATA_*): Move to include/grub/ata.h.
  9450. (GRUB_ATAPI_*): Likewise.
  9451. (enum grub_ata_commands): Likewise.
  9452. (enum grub_ata_timeout_milliseconds): Likewise.
  9453. (struct grub_ata_device): Likewise.
  9454. (grub_ata_regset): Likewise.
  9455. (grub_ata_regget): Likewise.
  9456. (grub_ata_regset2): Likewise.
  9457. (grub_ata_regget2): Likewise.
  9458. (grub_ata_check_ready): Likewise.
  9459. (grub_ata_wait_not_busy): Remove static, exported in
  9460. include/grub/ata.h.
  9461. (grub_ata_wait_drq): Likewise.
  9462. (grub_ata_pio_read): Likewise.
  9463. * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
  9464. function for hdparm.mod.
  9465. * include/grub/ata.h: New file, contains declarations from
  9466. disk/ata.c.
  9467. (enum grub_ata_commands): Add new commands for commands/hdparm.c.
  9468. * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
  9469. (grub_disk_ata_pass_through): New exported variable.
  9470. * kern/disk.c (grub_disk_ata_pass_through): New variable.
  9471. 2009-02-13 Colin D Bennett <colin@gibibit.com>
  9472. Support multiple fallback entries, and provide an API to support
  9473. executing default+fallback menu entries. Renamed the `terminal' menu
  9474. viewer to `text'.
  9475. * include/grub/normal.h (grub_normal_text_menu_viewer): New global
  9476. variable declaration.
  9477. (grub_menu_execute_callback): New structure declaration.
  9478. (grub_menu_execute_callback_t): New typedef.
  9479. (grub_menu_execute_with_fallback): New function declaration.
  9480. (grub_menu_get_entry): Likewise.
  9481. (grub_menu_get_timeout): Likewise.
  9482. (grub_menu_set_timeout): Likewise.
  9483. * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
  9484. * normal/menu.c (grub_wait_after_message): Moved to
  9485. `normal/menu_text.c'.
  9486. (draw_border): Likewise.
  9487. (print_message): Likewise.
  9488. (print_entry): Likewise.
  9489. (print_entries): Likewise.
  9490. (grub_menu_init_page): Likewise.
  9491. (get_entry_number): Likewise.
  9492. (print_timeout): Likewise.
  9493. (run_menu): Likewise.
  9494. (grub_menu_execute_entry): Likewise.
  9495. (show_text_menu): Likewise.
  9496. (get_and_remove_first_entry_number): New function.
  9497. (grub_menu_execute_with_fallback): Likewise.
  9498. (get_entry): Renamed to ...
  9499. (grub_menu_get_entry): .. this and made it global.
  9500. (get_timeout): Renamed to ...
  9501. (grub_menu_get_timeout): ... this and made it global.
  9502. (set_timeout): Renamed to ...
  9503. (grub_menu_set_timeout): ... this and made it global.
  9504. (grub_normal_terminal_menu_viewer): Renamed to ...
  9505. (grub_normal_text_menu_viewer): ... this.
  9506. * normal/menu_text.c: New file. Extracted text-menu-specific code
  9507. from normal/menu.c.
  9508. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
  9509. (normal_mod_SOURCES): Likewise.
  9510. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  9511. (normal_mod_SOURCES): Likewise.
  9512. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9513. (normal_mod_SOURCES): Likewise.
  9514. * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
  9515. (normal_mod_SOURCES): Likewise.
  9516. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9517. (normal_mod_SOURCES): Likewise.
  9518. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9519. (normal_mod_SOURCES): Likewise.
  9520. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  9521. (normal_mod_SOURCES): Likewise.
  9522. 2009-02-11 Robert Millan <rmh@aybabtu.com>
  9523. * util/grub.d/00_header.in: Update old reference to `font' command.
  9524. 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
  9525. * fs/fat.c (grub_fat_mount): Fix wrong comparison.
  9526. Based on patch from Javier Martín.
  9527. 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
  9528. * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
  9529. to avoid false positives with FAT.
  9530. (grub_fstest_SOURCES): Likewise.
  9531. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  9532. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  9533. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9534. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
  9535. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9536. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9537. 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
  9538. * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
  9539. bpb.version_specific.fat12_or_fat16.fstype and
  9540. bpb.version_specific.fat32.fstype.
  9541. 2009-02-08 Robert Millan <rmh@aybabtu.com>
  9542. * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
  9543. 2009-02-08 Robert Millan <rmh@aybabtu.com>
  9544. * Makefile.in (host_os, host_cpu): New variables.
  9545. (target_os): Remove. Update all users.
  9546. 2009-02-08 Marco Gerards <marco@gnu.org>
  9547. * Makefile.in (enable_grub_emu_usb): New variable.
  9548. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
  9549. (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
  9550. `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
  9551. (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
  9552. (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
  9553. `usbtest.mod' and `usbms.mod'.
  9554. (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
  9555. (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
  9556. (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
  9557. (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
  9558. (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
  9559. variables.
  9560. * disk/usbms.c: New file.
  9561. * include/grub/usb.h: Likewise.
  9562. * include/grub/usbtrans.h: Likewise.
  9563. * include/grub/usbdesc.h: Likewise.
  9564. * bus/usb/usbtrans.c: Likewise.
  9565. * bus/usb/ohci.c: Likewise.
  9566. * bus/usb/uhci.c: Likewise.
  9567. * bus/usb/usbhub.c: Likewise.
  9568. * bus/usb/usb.c: Likewise.
  9569. * commands/usbtest.c: Likewise.
  9570. * util/usb.c: Likewise.
  9571. * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
  9572. * configure.ac: Test for libusb presence.
  9573. * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
  9574. 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
  9575. * kern/mm.c: Add more comments.
  9576. 2009-02-08 Robert Millan <rmh@aybabtu.com>
  9577. Patch from Javier Martín.
  9578. * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
  9579. `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
  9580. 2009-02-08 Robert Millan <rmh@aybabtu.com>
  9581. * fs/cpio.c: Split tar functionality to ...
  9582. * fs/tar.c: ... here (new file). Update all users.
  9583. 2009-02-07 Robert Millan <rmh@aybabtu.com>
  9584. * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
  9585. backward-incompatible features.
  9586. Based on patch from Javier Martín, with some adjustments.
  9587. 2009-02-07 Michael Scherer <misc@mandriva.org>
  9588. * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
  9589. 2009-02-07 Robert Millan <rmh@aybabtu.com>
  9590. * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
  9591. position of `disk/lvm.c' to ensure grub_init_all() always picks it
  9592. after the RAID stuff.
  9593. 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
  9594. Fixes problem when running vbetest command as reported by
  9595. Vladimir Serbinenko <phcoder@gmail.com>.
  9596. * (grub_vbe_set_video_mode): Fixed problem with text modes.
  9597. 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
  9598. util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
  9599. /dev/md/NpN style mdraid devices.
  9600. 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
  9601. * util/unifont2pff.rb: Remove.
  9602. 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
  9603. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
  9604. `#'.
  9605. 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
  9606. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
  9607. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  9608. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  9609. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
  9610. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9611. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9612. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  9613. 2009-02-02 Christian Franke <franke@computer.org>
  9614. * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
  9615. 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
  9616. * INSTALL: Note that we now require at least autoconf 2.59 and
  9617. that LZO is optional.
  9618. 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
  9619. Base on patch on bug #24154 created by Tomas Tintera
  9620. <trosos@seznam.cz>.
  9621. * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
  9622. 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
  9623. Based on patch on bug #25318 created by Bernhard Rosenkraenzer
  9624. <bero@arklinux.org>.
  9625. * normal/parser.y (script_init): Add missing semicolon.
  9626. 2009-01-31 Colin D Bennett <colin@gibibit.com>
  9627. * normal/main.c: Add include to grub/menu_viewer.h.
  9628. (free_menu_entry_classes): Added.
  9629. (grub_normal_menu_addentry): Added class property handling.
  9630. (grub_normal_execute): Changed to use new menu viewer for menu viewing.
  9631. (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
  9632. * normal/menu_viewer.c: New file.
  9633. * normal/menu.c (run_menu_entry): Renamed to ...
  9634. (grub_menu_execute_entry): ... this and made it as global.
  9635. (grub_menu_run): Renamed to ...
  9636. (show_text_menu): ... this and made it local.
  9637. (show_text_menu): Adapt to new function names.
  9638. (grub_normal_terminal_menu_viewer): New global variable.
  9639. * include/grub/menu.h: New file.
  9640. * include/grub/menu_viewer.h: New file.
  9641. * include/grub/normal.h: Added include to grub/menu.h.
  9642. (grub_menu_entry): Moved to include/grub/menu.h.
  9643. (grub_menu_entry_t): Likewise.
  9644. (grub_menu): Likewise.
  9645. (grub_menu_t): Likewise.
  9646. (grub_normal_terminal_menu_viewer): Added.
  9647. (grub_menu_execute_entry): Likewise.
  9648. (grub_menu_run): Removed.
  9649. * DISTLIST: Added include/grub/menu.h.
  9650. Added include/grub/menu_viewer.h.
  9651. Added normal/menu_viewer.c.
  9652. 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
  9653. * normal/execute.c (grub_script_execute_menuentry): Changed to use
  9654. arglist for menutitle arguments.
  9655. * normal/main.c (grub_normal_menu_addentry): Likewise.
  9656. * normal/parser.y (menuentry): Likewise.
  9657. * normal/script.c (grub_script_create_cmdmenu): Likewise.
  9658. * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
  9659. (grub_script_create_cmdmenu): Likewise.
  9660. * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
  9661. * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
  9662. changes.
  9663. * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
  9664. * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
  9665. * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
  9666. * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
  9667. * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
  9668. * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
  9669. 2009-01-30 Christian Franke <franke@computer.org>
  9670. * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
  9671. in option help text.
  9672. 2009-01-27 Pavel Roskin <proski@gnu.org>
  9673. * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
  9674. 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
  9675. * commands/lsmmap.c: Add include to grub/machine/memory.h.
  9676. * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
  9677. * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
  9678. unregister function.
  9679. 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
  9680. * disk/scsi.c (grub_scsi_read): Fix sign problem.
  9681. * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
  9682. * util/grub-mkfont.c (usage): Fix typo.
  9683. * util/elf/grub-mkimage.c (load_modules): Fix warning.
  9684. 2009-01-26 Daniel Mierswa <impulze@impulze.org>
  9685. * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
  9686. * commands/search.c (search_fs_uuid): Ignore case of the UUID.
  9687. * kern/misc.c (grub_strcasecmp): New function.
  9688. (grub_strcasecmp): Use grub_size_t instead of int for length.
  9689. Fix return value.
  9690. * include/grub/misc.h: Update function prototypes.
  9691. 2009-01-26 Robert Millan <rmh@aybabtu.com>
  9692. * configure.ac: Fix cross-compilation check.
  9693. 2009-01-22 Christian Franke <franke@computer.org>
  9694. * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
  9695. (precision) digit string. Allow `.format2' without `format1' (width).
  9696. Limit input chars for `%s' output to `format2' if specified. This is
  9697. compatible with standard printf ().
  9698. 2009-01-22 Christian Franke <franke@computer.org>
  9699. * disk/ata.c (grub_ata_wait_status): Replace by ...
  9700. (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
  9701. other status bits may be invalid while BSY is asserted.
  9702. (grub_ata_check_ready): New function.
  9703. (grub_ata_cmd): Removed.
  9704. (grub_ata_wait_drq): New function.
  9705. (grub_ata_strncpy): Remove inline.
  9706. (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
  9707. and error check now done by grub_ata_wait_drq ().
  9708. (grub_ata_pio_write): Likewise.
  9709. (grub_atapi_identify): Set DEV before check for !BSY. Use
  9710. grub_ata_wait_drq () to wait for data.
  9711. (grub_ata_device_initialize): Add status register check to
  9712. detect missing SATA slave devices. Add debug messages.
  9713. (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
  9714. (grub_atapi_packet): Set DEV before check for !BSY. Replace
  9715. transfer loop by grub_ata_pio_write ().
  9716. (grub_ata_identify): Set DEV before check for !BSY. Use
  9717. grub_ata_wait_drq () to wait for data.
  9718. (grub_ata_setaddress): Set DEV before check for !BSY.
  9719. (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
  9720. read/write in one loop. Fix invalid command on write. Fix incomplete
  9721. command on (size % batch) == 0. Add missing error check after write of
  9722. last block. Add debug messages.
  9723. (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
  9724. 2009-01-19 Christian Franke <franke@computer.org>
  9725. * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
  9726. (GRUB_ATAPI_IREASON_*): Likewise.
  9727. (grub_ata_pio_write): Fix timeout error return.
  9728. (grub_atapi_identify): Add grub_ata_wait () after cmd.
  9729. (grub_atapi_wait_drq): New function.
  9730. (grub_atapi_packet): New parameter `size'.
  9731. Use grub_atapi_wait_drq () and direct write instead of
  9732. grub_ata_pio_write ().
  9733. (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
  9734. reads the number of bytes requested by the device for each DRQ
  9735. assertion.
  9736. (grub_atapi_write): Remove old implementation, return not
  9737. implemented instead.
  9738. 2009-01-19 Christian Franke <franke@computer.org>
  9739. * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
  9740. of 512 to calculate data size.
  9741. (grub_scsi_read12): Likewise.
  9742. (grub_scsi_write10): Likewise.
  9743. (grub_scsi_write12): Likewise.
  9744. (grub_scsi_read): Adjust size according to blocksize.
  9745. Add checks for invalid blocksize and unaligned transfer.
  9746. 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
  9747. * font/font.c (grub_font_loader_init): Re-position unknown glyph.
  9748. * term/gfxterm.c (write_char): Fix background rendering for wide
  9749. width glyphs.
  9750. 2009-01-19 Robert Millan <rmh@aybabtu.com>
  9751. * config.guess: Update to latest version from config git.
  9752. * config.sub: Likewise.
  9753. 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
  9754. * Makefile.in: Change font compilation to use new grub-mkfont instead
  9755. of java version.
  9756. * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
  9757. * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
  9758. * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
  9759. * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
  9760. * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
  9761. * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
  9762. * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
  9763. * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
  9764. * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
  9765. 2009-01-16 Christian Franke <franke@computer.org>
  9766. * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
  9767. (enum grub_ata_timeout_milliseconds): New enum.
  9768. (grub_ata_wait_status): Add parameter milliseconds.
  9769. (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
  9770. recovery from timed-out commands.
  9771. (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
  9772. return grub_errno instead of REG_ERROR.
  9773. (grub_ata_pio_write): Add parameter milliseconds.
  9774. (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
  9775. Pass milliseconds to grub_ata_wait_status () and
  9776. grub_ata_pio_read ().
  9777. (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
  9778. (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
  9779. grub_ata_wait_status (). Fix IDENTIFY timeout check.
  9780. (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
  9781. It is not suitable for device detection, because DEV bit is ignored,
  9782. the command may run too long, and not all devices set the signature
  9783. properly.
  9784. (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
  9785. (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
  9786. Fix device selection, DEV bit must be set first to address the registers
  9787. of the correct device.
  9788. (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
  9789. grub_ata_pio_read/write ().
  9790. (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
  9791. (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
  9792. 2009-01-13 Carles Pina i Estany <carles@pina.cat>
  9793. * util/grub-editenv.c (main): Use fseeko(), not fseek().
  9794. 2009-01-13 Bean <bean123ch@gmail.com>
  9795. * util/grub-mkfont.c (write_font): forget to remove some debug code.
  9796. 2009-01-13 Bean <bean123ch@gmail.com>
  9797. * Makefile.in: (enable_grub_mkfont): New variable.
  9798. (freetype_cflags): Likewise.
  9799. (freetype_libs): Likewise.
  9800. * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
  9801. (grub_mkfont_SOURCES): New variable.
  9802. (grub_mkfont_CFLAGS): Likewise.
  9803. (grub_mkfont_LDFLAGS): Likewise.
  9804. * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
  9805. library if `--enable-grub-mkfont' is requested.
  9806. (enable_grub_mkfont): New variable.
  9807. (freetype_cflags): Likewise.
  9808. (freetype_libs): Likewise.
  9809. * util/grub-mkfont.c: New file.
  9810. 2009-01-12 Christian Franke <franke@computer.org>
  9811. * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
  9812. mode check. Fix setting of compat_use[].
  9813. 2009-01-10 Robert Millan <rmh@aybabtu.com>
  9814. Update a few copyright years which we forgot to do in 2008 (only for
  9815. files whose changes made in 2008 were copyright-significant)
  9816. * Makefile.in: Add 2008 to Copyright line.
  9817. * disk/ieee1275/ofdisk.c: Likewise.
  9818. * disk/efi/efidisk.c: Likewise.
  9819. * kern/dl.c: Likewise.
  9820. * kern/sparc64/ieee1275/init.c: Likewise.
  9821. * kern/mm.c: Likewise.
  9822. * kern/efi/mm.c: Likewise.
  9823. * boot/i386/pc/boot.S: Likewise.
  9824. * genfslist.sh: Likewise.
  9825. * fs/iso9660.c: Likewise.
  9826. * fs/hfs.c: Likewise.
  9827. * fs/jfs.c: Likewise.
  9828. * fs/minix.c: Likewise.
  9829. * fs/ufs.c: Likewise.
  9830. * gensymlist.sh.in: Likewise.
  9831. * genkernsyms.sh.in: Likewise.
  9832. * include/grub/misc.h: Likewise.
  9833. * include/grub/types.h: Likewise.
  9834. * include/grub/symbol.h: Likewise.
  9835. * include/grub/elf.h: Likewise.
  9836. * include/grub/kernel.h: Likewise.
  9837. * include/grub/disk.h: Likewise.
  9838. * include/grub/dl.h: Likewise.
  9839. * include/grub/i386/linux.h: Likewise.
  9840. * include/grub/i386/pc/biosdisk.h: Likewise.
  9841. * include/grub/efi/api.h: Likewise.
  9842. * include/grub/efi/pe32.h: Likewise.
  9843. * include/grub/util/misc.h: Likewise.
  9844. * normal/execute.c: Likewise.
  9845. * normal/arg.c: Likewise.
  9846. * normal/completion.c: Likewise.
  9847. * normal/lexer.c: Likewise.
  9848. * normal/parser.y: Likewise.
  9849. * normal/misc.c: Likewise.
  9850. * commands/i386/pc/vbeinfo.c: Likewise.
  9851. * commands/hexdump.c: Likewise.
  9852. * commands/terminal.c: Likewise.
  9853. * commands/ls.c: Likewise.
  9854. * commands/help.c: Likewise.
  9855. * partmap/pc.c: Likewise.
  9856. * loader/efi/chainloader.c: Likewise.
  9857. * loader/multiboot_loader.c: Likewise.
  9858. * loader/i386/pc/multiboot2.c: Likewise.
  9859. * term/efi/console.c: Likewise.
  9860. * term/i386/pc/serial.c: Likewise.
  9861. * util/lvm.c: Likewise.
  9862. * util/console.c: Likewise.
  9863. * util/i386/efi/grub-mkimage.c: Likewise.
  9864. * util/raid.c: Likewise.
  9865. 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
  9866. * commands/videotest.c: Removed include to grub/machine/memory.h.
  9867. * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
  9868. videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
  9869. (video_mod_SOURCES): Removed.
  9870. (video_mod_CFLAGS): Likewise.
  9871. (video_mod_LDFLAGS): Likewise.
  9872. (gfxterm_mod_SOURCES): Likewise.
  9873. (gfxterm_mod_CFLAGS): Likewise.
  9874. (gfxterm_mod_LDFLAGS): Likewise.
  9875. (videotest_mod_SOURCES): Likewise.
  9876. (videotest_mod_CFLAGS): Likewise.
  9877. (videotest_mod_LDFLAGS): Likewise.
  9878. (bitmap_mod_SOURCES): Likewise.
  9879. (bitmap_mod_CFLAGS): Likewise.
  9880. (bitmap_mod_LDFLAGS): Likewise.
  9881. (tga_mod_SOURCES): Likewise.
  9882. (tga_mod_CFLAGS): Likewise.
  9883. (tga_mod_LDFLAGS): Likewise.
  9884. (jpeg_mod_SOURCES): Likewise.
  9885. (jpeg_mod_CFLAGS): Likewise.
  9886. (jpeg_mod_LDFLAGS): Likewise.
  9887. (png_mod_SOURCES): Likewise.
  9888. (png_mod_CFLAGS): Likewise.
  9889. (png_mod_LDFLAGS): Likewise.
  9890. * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
  9891. bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
  9892. (video_mod_SOURCES): Added.
  9893. (video_mod_CFLAGS): Likewise.
  9894. (video_mod_LDFLAGS): Likewise.
  9895. (videotest_mod_SOURCES): Likewise.
  9896. (videotest_mod_CFLAGS): Likewise.
  9897. (videotest_mod_LDFLAGS): Likewise.
  9898. (bitmap_mod_SOURCES): Likewise.
  9899. (bitmap_mod_CFLAGS): Likewise.
  9900. (bitmap_mod_LDFLAGS): Likewise.
  9901. (tga_mod_SOURCES): Likewise.
  9902. (tga_mod_CFLAGS): Likewise.
  9903. (tga_mod_LDFLAGS): Likewise.
  9904. (jpeg_mod_SOURCES): Likewise.
  9905. (jpeg_mod_CFLAGS): Likewise.
  9906. (jpeg_mod_LDFLAGS): Likewise.
  9907. (png_mod_SOURCES): Likewise.
  9908. (png_mod_CFLAGS): Likewise.
  9909. (png_mod_LDFLAGS): Likewise.
  9910. (gfxterm_mod_SOURCES): Likewise.
  9911. (gfxterm_mod_CFLAGS): Likewise.
  9912. (gfxterm_mod_LDFLAGS): Likewise.
  9913. * term/gfxterm.c: Removed include to grub/machine/memory.h,
  9914. grub/machine/console.h.
  9915. 2009-01-04 Jerone Young <jerone@gmail.com>
  9916. Make on screen instructions clearer
  9917. Based on patch created by Jidanni <jidanni@jidanni.org>
  9918. * normal/menu.c: print clearer instructions on the screen
  9919. 2009-01-02 Colin D Bennett <colin@gibibit.com>
  9920. New font engine.
  9921. Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
  9922. build system and fixed gfxterm.c to work with different sized fonts.
  9923. * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
  9924. * configure: Re-generated.
  9925. * DISTLIST: Removed font/manager.c.
  9926. Added font/font.c.
  9927. Added font/font_cmd.c.
  9928. * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
  9929. compilation.
  9930. * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
  9931. * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
  9932. * kern/term.c: Changed users of grub_utf8_to_ucs4.
  9933. * normal/menu.c: Likewise.
  9934. * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
  9935. (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
  9936. * include/grub/font.h: Replaced with new file.
  9937. * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
  9938. (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
  9939. (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
  9940. (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
  9941. (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
  9942. (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
  9943. fg_red, fg_green, fg_blue, fg_alpha.
  9944. (grub_video_adapter): Removed blit_glyph.
  9945. (grub_video_blit_glyph): Removed.
  9946. * font/manager.c: Removed file.
  9947. * font/font.c: New file.
  9948. * font/font_cmd.c: Likewise.
  9949. * video/video.c (grub_video_blit_glyph): Removed.
  9950. * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
  9951. (grub_video_vbe_map_rgba): Likewise.
  9952. (grub_video_vbe_unmap_color_int): Likewise.
  9953. (grub_video_vbe_blit_glyph): Removed.
  9954. (grub_video_vbe_adapter): Removed blit_glyph.
  9955. * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
  9956. (get_pixel): Likewise.
  9957. (set_pixel): Likewise.
  9958. * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
  9959. * term/gfxterm.c: Adapted to new font engine.
  9960. * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
  9961. * term/i386/pc/vga.c: Likewise.
  9962. * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
  9963. * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
  9964. * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
  9965. * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
  9966. * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
  9967. * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
  9968. * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
  9969. * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
  9970. * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
  9971. * util/grub.d/00_header.in: Changed to use new loadfont command.
  9972. * util/grub-mkconfig_lib.in: Changed font extension.
  9973. 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
  9974. * util/getroot.c (grub_util_get_grub_dev): Add support for
  9975. /dev/md/dNNpNN style partitionable mdraid devices.
  9976. 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
  9977. * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
  9978. at a time limit of the PXE TFTP API correctly.
  9979. (grub_pxefs_close): Likewise.
  9980. 2008-11-29 Robert Millan <rmh@aybabtu.com>
  9981. * disk/ata.c (grub_ata_pciinit): Handle errors raised by
  9982. grub_ata_device_initialize() calls.
  9983. 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
  9984. * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
  9985. iteration failed.
  9986. * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
  9987. 2008-11-28 Robert Millan <rmh@aybabtu.com>
  9988. Fix build on powerpc-ieee1275. Based on patch created by
  9989. Manoel Abranches <mrabran@linux.vnet.ibm.com>.
  9990. * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
  9991. `kern/ieee1275/mmap.c'.
  9992. * include/grub/powerpc/ieee1275/memory.h: New file.
  9993. Provide grub-install on coreboot.
  9994. * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
  9995. (grub_install_SOURCES): New variable.
  9996. * util/i386/pc/grub-install.in: Add a few condition checks to make it
  9997. usable on coreboot.
  9998. 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
  9999. * util/grub-fstest.c (grub_term_get_current_input): Change return type
  10000. to `grub_term_input_t'.
  10001. (grub_term_get_current_output): Change return type to
  10002. `grub_term_output_t'.
  10003. 2008-11-22 Robert Millan <rmh@aybabtu.com>
  10004. Fix breakage on coreboot due to declaration mismatch.
  10005. * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
  10006. (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
  10007. grub_vga_text_cls().
  10008. * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
  10009. comments. Avoid copying one more byte than necessary (just in case).
  10010. * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
  10011. to 0x200000 (avoids trouble with some OFW implementations, and matches
  10012. with the one in Yaboot).
  10013. Reported by Manoel Abranches
  10014. 2008-11-20 Robert Millan <rmh@aybabtu.com>
  10015. * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
  10016. (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
  10017. * util/grub-mkconfig_lib.in (grub_warn): New function.
  10018. (convert_system_path_to_grub_path): Use grub_warn() when issuing
  10019. warnings, to obtain consistent formatting.
  10020. * util/grub.d/00_header.in: Likewise.
  10021. * util/update-grub_lib.in: Likewise.
  10022. * loader/i386/linux.c (allocate_pages): Fix a warning.
  10023. Move comment text to `#error' stanza.
  10024. Harmonize ieee1275's grub_available_iterate() with the generic
  10025. grub_machine_mmap_iterate() interface (fixes a recently-introduced
  10026. build problem on i386-ieee1275):
  10027. * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
  10028. * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
  10029. parameter `type'. Update all users of this function.
  10030. * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
  10031. `kern/ieee1275/mmap.c'.
  10032. * kern/ieee1275/init.c
  10033. * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
  10034. with ...
  10035. (grub_machine_mmap_iterate): ... this.
  10036. * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
  10037. return type to `grub_err_t'. Update all implementations of this
  10038. function prototype.
  10039. * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
  10040. Likewise.
  10041. Add `lsmmap' command (lists firmware-provided memory map):
  10042. * commands/lsmmap.c: New file.
  10043. * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
  10044. (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
  10045. variables.
  10046. * conf/powerpc-ieee1275.rmk: Likewise.
  10047. * conf/i386-coreboot.rmk: Likewise.
  10048. * conf/i386-ieee1275.rmk: Likewise.
  10049. 2008-11-19 Robert Millan <rmh@aybabtu.com>
  10050. * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
  10051. * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
  10052. constraints to initrd allocation (based on code from
  10053. loader/i386/pc/linux.c). Without them, initrd was allocated too high
  10054. for Linux to find it.
  10055. 2008-11-14 Robert Millan <rmh@aybabtu.com>
  10056. * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
  10057. order to cope with duplicate slashes.
  10058. 2008-11-14 Robert Millan <rmh@aybabtu.com>
  10059. * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
  10060. Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
  10061. don't want to mess with lower memory, because it is used in the Linux
  10062. loader.
  10063. * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
  10064. an appropriate place in lower memory, between 0x10000 and 0x90000,
  10065. like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
  10066. is in our heap (probably as a result of it being corrupted during
  10067. decompression). Add #error instance with comment to explain why this
  10068. loader isn't currently usable on PC/BIOS.
  10069. 2008-11-14 Robert Millan <rmh@aybabtu.com>
  10070. * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
  10071. (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
  10072. 2008-11-12 Robert Millan <rmh@aybabtu.com>
  10073. Make loader/i386/linux.c buildable on i386-pc (although disabled).
  10074. * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
  10075. (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
  10076. from here ...
  10077. * include/grub/i386/pc/memory.h: ... to here.
  10078. 2008-11-12 Robert Millan <rmh@aybabtu.com>
  10079. Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
  10080. split).
  10081. * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
  10082. (grub_console_cur_color, grub_console_real_putchar)
  10083. (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
  10084. (grub_console_setcolorstate, grub_console_setcolor)
  10085. (grub_console_getcolor): Move from here ...
  10086. * include/grub/i386/vga_common.h: ... to here (new file).
  10087. * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
  10088. `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
  10089. `<grub/i386/io.h>'.
  10090. * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
  10091. `<grub/i386/vga_common.h>'.
  10092. 2008-11-12 Robert Millan <rmh@aybabtu.com>
  10093. * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
  10094. * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
  10095. (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
  10096. variables.
  10097. * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
  10098. `term/i386/pc/console.c' with `term/i386/vga_common.c'.
  10099. * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
  10100. grub_console_init() with call to grub_vga_text_init().
  10101. (grub_machine_fini): Replace call to
  10102. grub_console_fini() with call to grub_vga_text_fini() and
  10103. grub_at_keyboard_fini().
  10104. * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
  10105. (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
  10106. (grub_console_setcolorstate, grub_console_setcolor)
  10107. (grub_console_getcolor): New function prototypes.
  10108. * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
  10109. (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
  10110. (grub_vga_text_setcursor): Static-ize.
  10111. (grub_vga_text_term): New structure.
  10112. (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
  10113. * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
  10114. (grub_console_cur_color, grub_console_standard_color)
  10115. (grub_console_normal_color, grub_console_highlight_color)
  10116. (map_char, grub_console_putchar, grub_console_getcharwidth)
  10117. (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
  10118. (grub_console_getcolor): Move from here ...
  10119. * term/i386/vga_common.c: ... to here (same function names).
  10120. 2008-11-12 Robert Millan <rmh@aybabtu.com>
  10121. Use newly-added Multiboot support in coreboot.
  10122. * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
  10123. `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
  10124. * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
  10125. alignment, set `MULTIBOOT_MEMORY_INFO' flag.
  10126. (codestart): Store the MBI in `startup_multiboot_info' when we're
  10127. being loaded using Multiboot.
  10128. * kern/i386/coreboot/init.c (grub_machine_init): Move
  10129. grub_at_keyboard_init() call to beginning of function (useful for
  10130. debugging). Call grub_machine_mmap_init() before attempting to use
  10131. grub_machine_mmap_iterate().
  10132. (grub_lower_mem, grub_upper_mem): Move from here ...
  10133. * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
  10134. here (new file).
  10135. * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
  10136. function prototype.
  10137. 2008-11-12 Robert Millan <rmh@aybabtu.com>
  10138. Fix a regression introduced by the at_keyboard.mod split. Because
  10139. some terminals are default on some platforms and non-default on
  10140. others, the first terminal being registered determines which is
  10141. going to be default.
  10142. * kern/term.c (grub_term_register_input): If this is the first
  10143. terminal being registered, set it as the current one.
  10144. (grub_term_register_output): Likewise.
  10145. * term/efi/console.c (grub_console_init): Do not call
  10146. grub_term_set_current_output() or grub_term_set_current_input().
  10147. * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
  10148. * term/i386/pc/console.c (grub_console_init): Likewise.
  10149. (grub_console_fini): Do not call grub_term_set_current_input()
  10150. (but leave grub_term_set_current_output() to restore text mode).
  10151. 2008-11-10 Robert Millan <rmh@aybabtu.com>
  10152. * util/grub.d/00_header.in: Add backward compatibility check for
  10153. versions of terminal.mod that don't understand `terminal_input' or
  10154. `terminal_output'.
  10155. 2008-11-09 Robert Millan <rmh@aybabtu.com>
  10156. * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
  10157. `terminal_input' / `terminal_output', not `terminal'.
  10158. 2008-11-08 Robert Millan <rmh@aybabtu.com>
  10159. * Makefile.in (include_DATA): Fix srcdir=. assumption.
  10160. (DISTCLEANFILES): Add `build_env.mk'.
  10161. 2008-11-08 Robert Millan <rmh@aybabtu.com>
  10162. * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
  10163. `struct grub_term_output'. Remove `.checkkey' and `.getkey'
  10164. members. Update all users.
  10165. * util/console.c (grub_ncurses_term): Split in ...
  10166. (grub_ncurses_term_input): ... this, and ...
  10167. (grub_ncurses_term_output): ... this. Update all users.
  10168. * term/ieee1275/ofconsole.c: Remove stale `#endif'.
  10169. 2008-11-08 Robert Millan <rmh@aybabtu.com>
  10170. * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
  10171. (PKGDATA): Add $(pkgdata_SRCDIR).
  10172. (pkglib_BUILDDIR): New variable.
  10173. (pkgdata_SRCDIR): New variable.
  10174. (build_env.mk): New target.
  10175. (include_DATA): New variable.
  10176. (install-local): Install $(include_DATA) files in $(includedir).
  10177. 2008-11-07 Pavel Roskin <proski@gnu.org>
  10178. * gendistlist.sh: Use C locale for sorting to ensure consistent
  10179. output on all systems.
  10180. * util/grub.d/00_header.in: Remove incorrect space before
  10181. "serial".
  10182. 2008-11-07 Robert Millan <rmh@aybabtu.com>
  10183. * include/multiboot2.h (struct multiboot_header): Add `flags' member as
  10184. per specification.
  10185. * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
  10186. * loader/multiboot_loader.c (find_multi_boot2_header): New function
  10187. (based on find_multi_boot1_header).
  10188. (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
  10189. using find_multi_boot2_header(), and abort if neither Multiboot or
  10190. Multiboot headers were found.
  10191. 2008-11-07 Robert Millan <rmh@aybabtu.com>
  10192. Modularize at_keyboard.mod:
  10193. * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
  10194. (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
  10195. (at_keyboard_mod_LDFLAGS): New variables.
  10196. Actual terminal split:
  10197. * include/grub/term.h (struct grub_term): Split in ...
  10198. (struct grub_term_input): ... this, and ...
  10199. (struct grub_term_output): ... this. Update all users.
  10200. (grub_term_set_current): Split in ...
  10201. (grub_term_set_current_input): ... this, and ...
  10202. (grub_term_set_current_output): ... this.
  10203. (grub_term_get_current): Split in ...
  10204. (grub_term_get_current_input): ... this, and ...
  10205. (grub_term_get_current_output): ... this.
  10206. (grub_term_register): Split in ...
  10207. (grub_term_register_input): ... this, and ...
  10208. (grub_term_register_output): ... this.
  10209. (grub_term_unregister): Split in ...
  10210. (grub_term_unregister_input): ... this, and ...
  10211. (grub_term_unregister_output): ... this.
  10212. (grub_term_iterate): Split in ...
  10213. (grub_term_iterate_input): ... this, and ...
  10214. (grub_term_iterate_output): ... this.
  10215. * kern/term.c (grub_term_list): Split in ...
  10216. (grub_term_list_input): ... this, and ...
  10217. (grub_term_list_output): ... this. Update all users.
  10218. (grub_cur_term): Split in ...
  10219. (grub_cur_term_input): ... this, and ...
  10220. (grub_cur_term_output): ... this. Update all users.
  10221. (grub_term_set_current): Split in ...
  10222. (grub_term_set_current_input): ... this, and ...
  10223. (grub_term_set_current_output): ... this.
  10224. (grub_term_get_current): Split in ...
  10225. (grub_term_get_current_input): ... this, and ...
  10226. (grub_term_get_current_output): ... this.
  10227. (grub_term_register): Split in ...
  10228. (grub_term_register_input): ... this, and ...
  10229. (grub_term_register_output): ... this.
  10230. (grub_term_unregister): Split in ...
  10231. (grub_term_unregister_input): ... this, and ...
  10232. (grub_term_unregister_output): ... this.
  10233. (grub_term_iterate): Split in ...
  10234. (grub_term_iterate_input): ... this, and ...
  10235. (grub_term_iterate_output): ... this.
  10236. * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
  10237. a check for input and one for output (and only attempt to get keys
  10238. from user when input works).
  10239. * util/grub-probe.c (grub_term_get_current): Split in ...
  10240. (grub_term_get_current_input): ... this, and ...
  10241. (grub_term_get_current_output): ... this.
  10242. * util/grub-fstest.c: Likewise.
  10243. * util/i386/pc/grub-setup.c: Likewise.
  10244. * util/grub-editenv.c: Likewise.
  10245. Portability adjustments:
  10246. * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
  10247. `term/i386/pc/at_keyboard.c'.
  10248. * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
  10249. grub_keyboard_controller_init() (now handled by terminal .init).
  10250. * kern/i386/coreboot/init.c (grub_machine_init): Add call to
  10251. grub_at_keyboard_init().
  10252. * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
  10253. (grub_console_checkkey, grub_console_getkey): Remove (now provided by
  10254. at_keyboard.mod via input terminal interface).
  10255. * include/grub/i386/coreboot/console.h: Convert into a stub for
  10256. `<grub/i386/pc/console.h>'.
  10257. Migrate full terminals to new API:
  10258. * term/efi/console.c (grub_console_term): Split into ...
  10259. (grub_console_term_input): ... this, and ...
  10260. (grub_console_term_output): ... this. Update all users.
  10261. * term/ieee1275/ofconsole.c: Remove __i386__ hack.
  10262. (grub_ofconsole_init): Split into ...
  10263. (grub_ofconsole_init_input): ... this, and ...
  10264. (grub_ofconsole_init_output): ... this.
  10265. (grub_ofconsole_term): Split into ...
  10266. (grub_ofconsole_term_input): ... this, and ...
  10267. (grub_ofconsole_term_output): ... this. Update all users.
  10268. * term/i386/pc/serial.c (grub_serial_term): Split into ...
  10269. (grub_serial_term_input): ... this, and ...
  10270. (grub_serial_term_output): ... this. Update all users.
  10271. * term/i386/pc/console.c (grub_console_term): Split into ...
  10272. (grub_console_term_input): ... this, and ...
  10273. (grub_console_term_output): ... this. Update all users.
  10274. (grub_console_term_input): Only enable it on PC/BIOS platform.
  10275. (grub_console_init): Remove grub_keyboard_controller_init() call.
  10276. Migrate input terminals to new API:
  10277. * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
  10278. `i386' and `i386/pc' to enable build on x86_64 (this driver is
  10279. i386-specific anyway).
  10280. (grub_console_checkkey): Rename to ...
  10281. (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
  10282. users.
  10283. (grub_keyboard_controller_orig): New variable.
  10284. (grub_console_getkey): Rename to ...
  10285. (grub_at_keyboard_getkey): ... this. Static-ize. Update all
  10286. users.
  10287. (grub_keyboard_controller_init): Static-ize. Save original
  10288. controller value so that it can be restored ...
  10289. (grub_keyboard_controller_fini): ... here (new function).
  10290. (grub_at_keyboard_term): New structure.
  10291. (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
  10292. functions.
  10293. Migrate output terminals to new API:
  10294. * term/i386/pc/vga.c (grub_vga_term): Change type to
  10295. `struct grub_term_output'. Remove `.checkkey' and `.getkey'
  10296. members. Update all users.
  10297. * term/gfxterm.c (grub_video_term): Change type to
  10298. `struct grub_term_output'. Remove `.checkkey' and `.getkey'
  10299. members. Update all users.
  10300. * include/grub/i386/pc/console.h (grub_console_checkkey)
  10301. (grub_console_getkey): Do not export (no longer needed by gfxterm,
  10302. etc).
  10303. Migrate `terminal' command and userland tools to new API:
  10304. * commands/terminal.c (grub_cmd_terminal): Split into ...
  10305. (grub_cmd_terminal_input): ... this, and ...
  10306. (grub_cmd_terminal_output): ... this.
  10307. (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
  10308. `terminal_input' and `terminal_output'.
  10309. * util/grub.d/00_header.in: Adjust `terminal' calls to new
  10310. `terminal_input' / `terminal_output' API.
  10311. * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
  10312. ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
  10313. provided ${GRUB_TERMINAL}, convert it).
  10314. 2008-11-04 Robert Millan <rmh@aybabtu.com>
  10315. * util/grub.d/10_freebsd.in: New file. Generate grub configuration
  10316. for FreeBSD.
  10317. * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
  10318. 2008-11-03 Bean <bean123ch@gmail.com>
  10319. * kern/elf.c (grub_elf32_load): Revert to previous code.
  10320. (grub_elf64_load): Likewise.
  10321. * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
  10322. 2008-11-01 Robert Millan <rmh@aybabtu.com>
  10323. * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
  10324. (TARGET_CPPFLAGS): Likewise.
  10325. * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
  10326. 2008-11-01 Carles Pina i Estany <carles@pina.cat>
  10327. * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
  10328. 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
  10329. * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
  10330. addition of objects until the code is not going to be able to fail.
  10331. 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
  10332. * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
  10333. (add a missing NULL check, and correct them by moving the pointer
  10334. operations after the actual check).
  10335. 2008-10-29 Robert Millan <rmh@aybabtu.com>
  10336. * util/i386/pc/grub-install.in: Handle empty string as output from
  10337. make_system_path_relative_to_its_root().
  10338. 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
  10339. * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
  10340. circular metadata worst case scenario. If the metadata is circular
  10341. then copy the wrap in place.
  10342. * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
  10343. project lib/format_text/layout.h
  10344. Circular metadata bug found and patch debugged by Jan Derk Gerlings.
  10345. 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
  10346. * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
  10347. 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
  10348. * util/update-grub_lib.in: Mention filename in warning message.
  10349. 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
  10350. * NEWS: Update for rename of update-grub to grub-mkconfig.
  10351. 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
  10352. * util/update-grub_lib.in: Copy to ...
  10353. * util/grub-mkconfig_lib.in: ... this. Update all users.
  10354. * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
  10355. * util/update-grub.in: Rename to ...
  10356. * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
  10357. option. Add `--output' option to allow users to specify the generated
  10358. configuration file. Default to stdout.
  10359. (update_grub_dir): Rename to ...
  10360. (grub_mkconfig_dir): ... this.
  10361. (grub_cfg): Default to an empty string.
  10362. * conf/common.rmk (update-grub): Rename to ...
  10363. (grub-mkconfig): ... this.
  10364. (update-grub_lib): Copy to ...
  10365. (grub-mkconfig_lib): ... this.
  10366. (update-grub_SCRIPTS): Copy to ...
  10367. (grub-mkconfig_SCRIPTS): ... this. Update all users.
  10368. (update-grub_DATA): Rename to ...
  10369. (grub-mkconfig_DATA): ... this.
  10370. 2008-09-28 Robert Millan <rmh@aybabtu.com>
  10371. * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
  10372. to `modified'. Add the real `created' field.
  10373. (grub_iso9660_uuid): Use `modified' rather than `created' for
  10374. constructing the UUID.
  10375. 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
  10376. fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
  10377. Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
  10378. 2008-09-28 Bean <bean123ch@gmail.com>
  10379. * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
  10380. Thanks to Christian Franke for finding this bug.
  10381. 2008-09-25 Robert Millan <rmh@aybabtu.com>
  10382. * util/grub-mkdevicemap.c (make_device_map): Actually replace all
  10383. instances of grub_util_get_disk_name() (see previous commit).
  10384. 2008-09-25 Robert Millan <rmh@aybabtu.com>
  10385. * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
  10386. `util/i386/get_disk_name.c'.
  10387. * conf/i386-efi.rmk: Likewise.
  10388. * conf/x86_64-efi.rmk: Likewise.
  10389. * conf/i386-coreboot.rmk: Likewise.
  10390. * conf/i386-ieee1275.rmk: Likewise.
  10391. * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
  10392. `util/ieee1275/get_disk_name.c'.
  10393. * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
  10394. * util/ieee1275/get_disk_name.c: Remove file.
  10395. * util/i386/get_disk_name.c: Remove file.
  10396. * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
  10397. "hd%d" for device.map entries, rather than using
  10398. grub_util_get_disk_name().
  10399. 2008-09-24 Carles Pina i Estany <carles@pina.cat>
  10400. * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
  10401. warning.
  10402. * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
  10403. 2008-09-24 Carles Pina i Estany <carles@pina.cat>
  10404. * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
  10405. Changed to 0x5100.
  10406. (GRUB_TERM_PPAGE): Changed to 0x4900.
  10407. 2008-09-24 Robert Millan <rmh@aybabtu.com>
  10408. * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
  10409. macros (they were i386-pc specific).
  10410. * include/grub/sparc64/ieee1275/console.h: Likewise.
  10411. * include/grub/efi/console.h: Likewise.
  10412. 2008-09-22 Bean <bean123ch@gmail.com>
  10413. * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
  10414. resident and in attribute list.
  10415. * include/grub/ntfs.h (BMP_LEN): Removed.
  10416. 2008-09-22 Bean <bean123ch@gmail.com>
  10417. * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
  10418. scsi->name and scsi->luns, as they will be set in grub_scsi_open.
  10419. * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
  10420. error occurs, as grub_disk_open will call grub_disk_close, which will
  10421. call p->close (scsi).
  10422. 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
  10423. * configure.ac (AC_INIT): Quote `GRUB' string and version number.
  10424. (AC_PREREQ): Bumped to 2.59.
  10425. (AC_TRY_COMPILE): Replace obsolete macro with ...
  10426. (AC_COMPILE_IFELSE): ... this.
  10427. * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
  10428. (AC_LINK_IFELSE): ... this.
  10429. 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
  10430. * autogen.sh: Add a call to `gendistlist.sh'.
  10431. 2008-09-19 Christian Franke <franke@computer.org>
  10432. * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
  10433. * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
  10434. * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
  10435. Export __enable_execute_stack() to modules.
  10436. * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
  10437. New function.
  10438. 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
  10439. * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
  10440. Sort the list.
  10441. 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
  10442. * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
  10443. #include <grub/util/hostdisk.h>.
  10444. 2008-09-08 Robert Millan <rmh@aybabtu.com>
  10445. * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
  10446. segments when their filesz is zero (grub_file_read() interprets
  10447. zero-size as "read until EOF", which results in memory corruption).
  10448. Use `lowest_segment' rather than 0 for calculating the current
  10449. segment load address.
  10450. 2008-09-08 Robert Millan <rmh@aybabtu.com>
  10451. * util/hostdisk.c (open_device): Replace a grub_util_info() call
  10452. with grub_dprintf("hostdisk", ...), as it was so verbose that it
  10453. clobbered useful information.
  10454. 2008-09-08 Robert Millan <rmh@aybabtu.com>
  10455. * include/grub/util/biosdisk.h: Move to ...
  10456. * include/grub/util/hostdisk.h: ... here. Update all users.
  10457. * util/biosdisk.c: Move to ...
  10458. * util/hostdisk.c: ... here. Update all users.
  10459. 2008-09-07 Robert Millan <rmh@aybabtu.com>
  10460. * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
  10461. variables.
  10462. (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
  10463. and length can be stored directly in the `mbi->mmap_addr' and
  10464. `mbi->mmap_length' struct fields.
  10465. 2008-09-07 Robert Millan <rmh@aybabtu.com>
  10466. * conf/i386.rmk: New file. Provides declaration for building
  10467. `cpuid.mod'.
  10468. * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
  10469. (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
  10470. variables.
  10471. Include `conf/i386.mk'.
  10472. * conf/i386-efi.rmk: Likewise.
  10473. * conf/x86_64-efi.rmk: Likewise.
  10474. * conf/i386-coreboot.rmk: Likewise.
  10475. * conf/i386-ieee1275.rmk: Likewise.
  10476. 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
  10477. Based on patch created by Colin D Bennett <colin@gibibit.com>.
  10478. Adds optimization support for BGR based modes.
  10479. * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
  10480. (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
  10481. (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
  10482. (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
  10483. (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
  10484. (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
  10485. (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
  10486. (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
  10487. (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
  10488. (grub_video_i386_vbeblit_index_index): Likewise.
  10489. (grub_video_i386_vbeblit_replace_directN): Added.
  10490. (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
  10491. (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
  10492. (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
  10493. (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
  10494. (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
  10495. (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
  10496. (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
  10497. (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
  10498. (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
  10499. (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
  10500. (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
  10501. (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
  10502. (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
  10503. * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
  10504. (grub_video_i386_vbefill_R8G8B8): Likewise.
  10505. (grub_video_i386_vbefill_index): Likewise.
  10506. (grub_video_i386_vbefill_direct32): Added.
  10507. (grub_video_i386_vbefill_direct24): Likewise.
  10508. (grub_video_i386_vbefill_direct16): Likewise.
  10509. (grub_video_i386_vbefill_direct8): Likewise.
  10510. * include/grub/video.h (grub_video_blit_format): Removed
  10511. GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
  10512. (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
  10513. GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
  10514. GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
  10515. GRUB_VIDEO_BLIT_FORMAT_BGR_565.
  10516. * video/video.c (grub_video_get_blit_format): Updated to use new
  10517. blit formats. Added handling for 16 bit color modes.
  10518. * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
  10519. fillers.
  10520. (common_blitter): Updated to use new blitters.
  10521. * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
  10522. Removed.
  10523. (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
  10524. (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
  10525. (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
  10526. (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
  10527. (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
  10528. (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
  10529. (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
  10530. (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
  10531. (grub_video_i386_vbeblit_index_index): Likewise.
  10532. (grub_video_i386_vbeblit_replace_directN): Added.
  10533. (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
  10534. (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
  10535. (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
  10536. (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
  10537. (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
  10538. (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
  10539. (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
  10540. (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
  10541. (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
  10542. (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
  10543. (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
  10544. (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
  10545. (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
  10546. * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
  10547. (grub_video_i386_vbefill_R8G8B8): Likewise.
  10548. (grub_video_i386_vbefill_index): Likewise.
  10549. (grub_video_i386_vbefill_direct32): Added.
  10550. (grub_video_i386_vbefill_direct24): Likewise.
  10551. (grub_video_i386_vbefill_direct16): Likewise.
  10552. (grub_video_i386_vbefill_direct8): Likewise.
  10553. * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
  10554. types.
  10555. * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
  10556. types.
  10557. * video/readers/png.c (grub_png_decode_image_header): Adapt to new
  10558. blitter types.
  10559. * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
  10560. types.
  10561. 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
  10562. * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
  10563. RAID level 1.
  10564. 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
  10565. * fs/iso9660.c (grub_iso9660_date): New structure.
  10566. (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
  10567. (grub_iso9660_uuid): New function.
  10568. 2008-09-05 Bean <bean123ch@gmail.com>
  10569. * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
  10570. * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
  10571. insensitive bit for names in Win32 and Win32 & DOS namespace.
  10572. * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
  10573. * include/grub/types.h (LONG_MAX): Likewise.
  10574. 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
  10575. * util/getroot.c: Include <config.h>.
  10576. (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
  10577. add support for /dev/md/N devices and handle LVM double dash escaping.
  10578. 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
  10579. * config.guess: Update to latest version from config git.
  10580. * config.sub: Likewise.
  10581. 2008-09-03 Robert Millan <rmh@aybabtu.com>
  10582. * disk/scsi.c (grub_scsi_open): Remove size limit when printing
  10583. `disk->total_sectors'.
  10584. 2008-09-01 Colin D Bennett <colin@gibibit.com>
  10585. * include/grub/normal.h: Fixed incorrect comment for
  10586. GRUB_COMMAND_FLAG_NO_ARG_PARSE.
  10587. 2008-09-01 Colin D Bennett <colin@gibibit.com>
  10588. * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
  10589. values with defines.
  10590. * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
  10591. (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
  10592. (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
  10593. (GRUB_VBE_MODEATTR_COLOR): Likewise.
  10594. (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
  10595. (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
  10596. (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
  10597. (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
  10598. (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
  10599. (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
  10600. (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
  10601. (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
  10602. (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
  10603. (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
  10604. (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
  10605. (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
  10606. (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
  10607. (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
  10608. (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
  10609. 2008-08-31 Robert Millan <rmh@aybabtu.com>
  10610. * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
  10611. declaration.
  10612. (grub_multiboot): Fix a few warnings.
  10613. 2008-08-31 Robert Millan <rmh@aybabtu.com>
  10614. * loader/i386/pc/multiboot.c: Update comment not to say that
  10615. boot_device support is unimplemented.
  10616. 2008-08-31 Robert Millan <rmh@aybabtu.com>
  10617. * loader/i386/pc/multiboot.c: Update comment not to say that a.out
  10618. or memory map support are unimplemented.
  10619. 2008-08-31 Colin D Bennett <colin@gibibit.com>
  10620. * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
  10621. 2008-08-31 Colin D Bennett <colin@gibibit.com>
  10622. * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
  10623. total video memory in 'vbeinfo' output; show color format details for
  10624. each video mode.
  10625. 2008-08-30 Pavel Roskin <proski@gnu.org>
  10626. * util/genmoddep.c: Remove for real this time.
  10627. * DISTLIST: Remove util/genmoddep.c.
  10628. 2008-08-30 Robert Millan <rmh@aybabtu.com>
  10629. * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
  10630. as required by Multiboot spec (it was already 4-byte aligned, but
  10631. only by chance).
  10632. 2008-08-29 Pavel Roskin <proski@gnu.org>
  10633. * kern/powerpc/ieee1275/crt0.S: Rename to ...
  10634. * kern/powerpc/ieee1275/startup.S: ... this.
  10635. * conf/powerpc-ieee1275.rmk: Adjust for the above.
  10636. * DISTLIST: Likewise.
  10637. * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
  10638. grub/cpu/kernel.h. Add start label for consistency with other
  10639. platforms. Add grub_prefix immediately after start. Add jump
  10640. to the code after grub_prefix.
  10641. * include/grub/powerpc/kernel.h: Provide valid values for
  10642. GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
  10643. 2008-08-29 Bean <bean123ch@gmail.com>
  10644. * configure.ac: Change host_os to cygwin for mingw.
  10645. (asprintf): New check for function.
  10646. * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
  10647. #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
  10648. * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
  10649. declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
  10650. sync, sleep and grub_util_get_disk_size for mingw.
  10651. * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
  10652. to get size in mingw.
  10653. (open_device): Use flag O_BINARY if it's defined.
  10654. (find_root_device): Add dummy code for mingw.
  10655. * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
  10656. (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
  10657. (get_scsi_disk_name): Return 0 for mingw.
  10658. * util/hostfs.c: #include <grub/util/misc.h>.
  10659. (grub_hostfs_open): Use "rb" flag to open file, use
  10660. grub_util_get_disk_size to get disk size for mingw.
  10661. * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
  10662. (asprintf): New function if HAVE_ASPRINTF is not set.
  10663. (sync): New function for mingw.
  10664. (sleep): Likewise.
  10665. (grub_util_get_disk_size): Likewise.
  10666. 2008-08-28 Pavel Roskin <proski@gnu.org>
  10667. * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
  10668. kern/time.c.
  10669. 2008-08-28 Robert Millan <rmh@aybabtu.com>
  10670. * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
  10671. 2008-08-28 Robert Millan <rmh@aybabtu.com>
  10672. Change find_grub_drive() syntax so it doesn't prevent it from
  10673. detecting NULL names as errors.
  10674. * util/biosdisk.c (find_grub_drive): Move free slot search code
  10675. from here ...
  10676. (find_free_slot): ... to here.
  10677. (read_device_map): Use find_free_slot() to search for free slots.
  10678. 2008-08-27 Marco Gerards <marco@gnu.org>
  10679. * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
  10680. (scsi_mod_SOURCES): New variable.
  10681. (scsi_mod_CFLAGS): Likewise
  10682. (scsi_mod_LDFLAGS): Likewise.
  10683. * disk/scsi.c: New file.
  10684. * include/grub/scsi.h: Likewise.
  10685. * include/grub/scsicmd.h: Likewise.
  10686. * disk/ata.c: Include <grub/scsi.h>.
  10687. (grub_atapi_packet): Do not use grub_ata_cmd, use registers
  10688. instead.
  10689. (grub_ata_iterate): Skip ATAPI devices.
  10690. (grub_ata_open): Only handle ATAPI devices.
  10691. (struct grub_atapi_read): Removed.
  10692. (grub_atapi_readsector): Likewise.
  10693. (grub_ata_read): No longer handle ATAPI devices.
  10694. (grub_ata_write): Likewise.
  10695. (grub_atapi_iterate): New function.
  10696. (grub_atapi_read): Likewise.
  10697. (grub_atapi_write): Likewise.
  10698. (grub_atapi_open): Likewise.
  10699. (grub_atapi_close): Likewise.
  10700. (grub_atapi_dev): New variable.
  10701. (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
  10702. (GRUB_MOD_FINI(ata)): Unregister ATAPI.
  10703. * include/grub/disk.h (enum grub_disk_dev_id): Add
  10704. `GRUB_DISK_DEVICE_SCSI_ID'.
  10705. 2008-08-26 Robert Millan <rmh@aybabtu.com>
  10706. * util/biosdisk.c (grub_util_biosdisk_open, open_device)
  10707. (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
  10708. descriptive.
  10709. 2008-08-23 Bean <bean123ch@gmail.com>
  10710. * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
  10711. (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
  10712. disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
  10713. (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
  10714. dm_nv.mod.
  10715. (raid5rec_mod_SOURCES): New macro.
  10716. (raid5rec_mod_CFLAGS): Likewise.
  10717. (raid5rec_mod_LDFLAGS): Likewise.
  10718. (raid6rec_mod_SOURCES): Likewise.
  10719. (raid6rec_mod_CFLAGS): Likewise.
  10720. (raid6rec_mod_LDFLAGS): Likewise.
  10721. (mdraid_mod_SOURCES): Likewise.
  10722. (mdraid_mod_CFLAGS): Likewise.
  10723. (mdraid_mod_LDFLAGS): Likewise.
  10724. (dm_nv_mod_SOURCES): Likewise.
  10725. (dm_nv_mod_CFLAGS): Likewise.
  10726. (dm_nv_mod_LDFLAGS): Likewise.
  10727. * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
  10728. (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
  10729. disk/mdraid_linux.c and disk/dmraid_nvidia.c.
  10730. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
  10731. disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
  10732. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  10733. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  10734. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  10735. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  10736. * disk/raid5_recover.c: New file.
  10737. * disk/raid6_recover.c: Likewise.
  10738. * disk/mdraid_linux.c: Likewise.
  10739. * disk/dmraid_nvidia.c: Likewise.
  10740. * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
  10741. ULONG_MAX.
  10742. * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
  10743. calculate the size of raid device.
  10744. (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
  10745. different layout of raid5.
  10746. (grub_raid_scan_device): Remove code specific to mdraid.
  10747. (grub_raid_list): New variable.
  10748. (free_array): New function.
  10749. (grub_raid_register): Likewise.
  10750. (grub_raid_unregister): Likewise.
  10751. (grub_raid_rescan): Likewise.
  10752. (GRUB_MOD_INIT): Don't iterate device here.
  10753. (GRUB_MOD_FINI): Use free_array to release resource.
  10754. * include/grub/raid.h: Remove macro and structure specific to mdraid.
  10755. (grub_raid5_recover_func_t): New function variable type.
  10756. (grub_raid6_recover_func_t): Likewise.
  10757. (grub_raid5_recover_func): New variable.
  10758. (grub_raid6_recover_func): Likewise.
  10759. (grub_raid_register): New function.
  10760. (grub_raid_unregister): Likewise.
  10761. (grub_raid_rescan): Likewise.
  10762. (grub_raid_block_xor): Likewise.
  10763. * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
  10764. (CMD_CRC): New macro.
  10765. (part): Removed.
  10766. (read_file): Handle device as well as file.
  10767. (cmd_crc): New function.
  10768. (fstest): Handle multiple disks.
  10769. (options): Remove part, raw and long, add root and diskcount.
  10770. (usage): Add crc, remove -p, -r, -l, add -r and -c.
  10771. (main): Find the first non option entry and ignore subsequent options,
  10772. add handling for the new options, support multiple disks.
  10773. * util/grub-probe.c (probe): Add mdraid to abstraction_name.
  10774. 2008-08-23 Bean <bean123ch@gmail.com>
  10775. * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
  10776. * genfslist.sh: Ignore kernel.mod.
  10777. * genpartmaplist.sh: Likewise.
  10778. 2008-08-23 Robert Millan <rmh@aybabtu.com>
  10779. * util/getroot.c (find_root_device): Skip anything that starts with
  10780. a dot, not just directories. This avoids things like /dev/.tmp.md0.
  10781. 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
  10782. * util/update-grub.in (GRUB_GFXMODE): Export variable.
  10783. * util/grub.d/00_header.in: Allow the administrator to change default
  10784. gfxmode via ${GRUB_GFXMODE}.
  10785. 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
  10786. * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
  10787. 2008-08-21 Robert Millan <rmh@aybabtu.com>
  10788. * loader/i386/linux.c: New file. Implements generic 32-bit Linux
  10789. loader.
  10790. * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
  10791. `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
  10792. 2008-08-20 Carles Pina i Estany <carles@pina.cat>
  10793. * menu/normal.c (run_menu): Replace hardcoded numbers with macros
  10794. (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
  10795. 2008-08-19 Robert Millan <rmh@aybabtu.com>
  10796. * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
  10797. (struct grub_virtual_screen): Remove `cursor_color'.
  10798. (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
  10799. initialization.
  10800. (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
  10801. 2008-08-18 Robert Millan <rmh@aybabtu.com>
  10802. Unify (identical) linux_normal.c files.
  10803. * loader/i386/efi/linux_normal.c: Move from here ...
  10804. * loader/linux_normal.c: ... to here. Update all users.
  10805. * loader/i386/pc/linux_normal.c: Delete. Update all users.
  10806. * loader/i386/ieee1275/linux_normal.c: Likewise.
  10807. 2008-08-18 Robert Millan <rmh@aybabtu.com>
  10808. * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
  10809. (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
  10810. (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
  10811. (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
  10812. (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
  10813. New macros.
  10814. (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
  10815. * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
  10816. (GRUB_LINUX_CL_END_OFFSET): ... to here.
  10817. * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
  10818. (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
  10819. (GRUB_EFI_CL_END_OFFSET): Rename to ...
  10820. (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
  10821. (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
  10822. Initialize `params->video_cursor_x' and `params->video_cursor_y'
  10823. portably using grub_getxy().
  10824. Replace `-EFI' with `-bzImage' in boot message.
  10825. 2008-08-17 Robert Millan <rmh@aybabtu.com>
  10826. * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
  10827. 2008-08-17 Robert Millan <rmh@aybabtu.com>
  10828. * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
  10829. * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
  10830. (GRUB_MACHINE_MEMORY_RESERVED): New macros.
  10831. (grub_machine_mmap_iterate): New function declaration.
  10832. * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
  10833. structure.
  10834. (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
  10835. macros.
  10836. * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
  10837. type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
  10838. Move e820 parsing from here ...
  10839. * kern/i386/pc/mmap.c: New file.
  10840. (grub_machine_mmap_iterate): ... to here.
  10841. * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
  10842. (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
  10843. (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
  10844. (grub_available_iterate): Redeclare to return `void', and redeclare
  10845. its hook to use grub_uint64_t as addr and size parameters, and rename
  10846. to ...
  10847. (grub_machine_mmap_iterate): ... this. Update all users.
  10848. * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
  10849. to make it more readable. Rename to ...
  10850. (grub_machine_mmap_iterate): ... this.
  10851. * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
  10852. (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
  10853. (grub_multiboot): Allocate an extra region after the payload, and fill
  10854. it with a Multiboot memory map. Adjust a.out loader to calculate size
  10855. with the extra space.
  10856. (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
  10857. with the extra space.
  10858. 2008-08-17 Carles Pina i Estany <carles@pina.cat>
  10859. * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
  10860. 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
  10861. * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
  10862. mdate-sh to the list `find' searches for.
  10863. * DISTLIST: Regenerated.
  10864. 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
  10865. * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
  10866. genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
  10867. genmoddep.awk, gensymlist.sh.in.
  10868. (DISTDIRS): Add bus, docs, hook, lib.
  10869. * DISTLIST: Regenerated.
  10870. * NEWS: Add cygwin support and change the `os-prober' entry a bit.
  10871. 2008-08-16 Robert Millan <rmh@aybabtu.com>
  10872. * disk/raid.c (grub_raid_init): Handle/report errors set by
  10873. grub_device_iterate().
  10874. * disk/lvm.c (grub_lvm_init): Likewise.
  10875. 2008-08-15 Bean <bean123ch@gmail.com>
  10876. * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
  10877. and datehook.mod.
  10878. (datetime_mod_SOURCES): New macro.
  10879. (datetime_mod_CFLAGS): Likewise.
  10880. (datetime_mod_LDFLAGS): Likewise.
  10881. (date_mod_SOURCES): Likewise.
  10882. (date_mod_CFLAGS): Likewise.
  10883. (date_mod_LDFLAGS): Likewise.
  10884. (datehook_mod_SOURCES): Likewise.
  10885. (datehook_mod_CFLAGS): Likewise.
  10886. (datehook_mod_LDFLAGS): Likewise.
  10887. * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
  10888. and datehook.mod.
  10889. (datetime_mod_SOURCES): New macro.
  10890. (datetime_mod_CFLAGS): Likewise.
  10891. (datetime_mod_LDFLAGS): Likewise.
  10892. (date_mod_SOURCES): Likewise.
  10893. (date_mod_CFLAGS): Likewise.
  10894. (date_mod_LDFLAGS): Likewise.
  10895. (datehook_mod_SOURCES): Likewise.
  10896. (datehook_mod_CFLAGS): Likewise.
  10897. (datehook_mod_LDFLAGS): Likewise.
  10898. * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
  10899. and datehook.mod.
  10900. (datetime_mod_SOURCES): New macro.
  10901. (datetime_mod_CFLAGS): Likewise.
  10902. (datetime_mod_LDFLAGS): Likewise.
  10903. (date_mod_SOURCES): Likewise.
  10904. (date_mod_CFLAGS): Likewise.
  10905. (date_mod_LDFLAGS): Likewise.
  10906. (datehook_mod_SOURCES): Likewise.
  10907. (datehook_mod_CFLAGS): Likewise.
  10908. (datehook_mod_LDFLAGS): Likewise.
  10909. * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
  10910. and datehook.mod.
  10911. (datetime_mod_SOURCES): New macro.
  10912. (datetime_mod_CFLAGS): Likewise.
  10913. (datetime_mod_LDFLAGS): Likewise.
  10914. (date_mod_SOURCES): Likewise.
  10915. (date_mod_CFLAGS): Likewise.
  10916. (date_mod_LDFLAGS): Likewise.
  10917. (datehook_mod_SOURCES): Likewise.
  10918. (datehook_mod_CFLAGS): Likewise.
  10919. (datehook_mod_LDFLAGS): Likewise.
  10920. * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
  10921. and datehook.mod.
  10922. (datetime_mod_SOURCES): New macro.
  10923. (datetime_mod_CFLAGS): Likewise.
  10924. (datetime_mod_LDFLAGS): Likewise.
  10925. (date_mod_SOURCES): Likewise.
  10926. (date_mod_CFLAGS): Likewise.
  10927. (date_mod_LDFLAGS): Likewise.
  10928. (datehook_mod_SOURCES): Likewise.
  10929. (datehook_mod_CFLAGS): Likewise.
  10930. (datehook_mod_LDFLAGS): Likewise.
  10931. * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
  10932. * commands/date.c: New file.
  10933. * hook/datehook.c: Likewise.
  10934. * include/grub/lib/datetime.h: Likewise.
  10935. * include/grub/i386/cmos.h: Likewise.
  10936. * lib/datetime.c: Likewise.
  10937. * lib/i386/datetime.c: Likewise.
  10938. * lib/efi/datetime.c: Likewise.
  10939. 2008-08-14 Robert Millan <rmh@aybabtu.com>
  10940. * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
  10941. (grub_mkelfimage_SOURCES): New variable.
  10942. (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
  10943. * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
  10944. (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
  10945. * conf/powerpc-ieee1275.rmk: Likewise.
  10946. * conf/i386-ieee1275.rmk: Likewise.
  10947. * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
  10948. * kern/i386/coreboot/init.c: Likewise.
  10949. * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
  10950. with `<grub/cpu/kernel.h>'.
  10951. (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
  10952. to ...
  10953. (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
  10954. * kern/i386/coreboot/startup.S: Likewise.
  10955. * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
  10956. (GRUB_MOD_GAP): Remove.
  10957. * include/grub/powerpc/kernel.h: New file.
  10958. * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
  10959. (GRUB_KERNEL_MACHINE_DATA_END): Remove.
  10960. * include/grub/i386/kernel.h: New file.
  10961. * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
  10962. (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
  10963. (GRUB_KERNEL_MACHINE_DATA_END): Remove.
  10964. * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
  10965. `grub-mkelfimage'.
  10966. Use --directory when invoking grub_mkimage.
  10967. * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
  10968. (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
  10969. GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
  10970. and GRUB_KERNEL_CPU_PREFIX.
  10971. 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
  10972. * include/grub/err.h (grub_err_printf): New function prototype.
  10973. * util/misc.c (grub_err_printf): New function.
  10974. * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
  10975. grub_printf.
  10976. * kern/err.c (grub_print_error): Use grub_err_printf.
  10977. 2008-08-13 Robert Millan <rmh@aybabtu.com>
  10978. * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
  10979. 2008-08-13 Robert Millan <rmh@aybabtu.com>
  10980. * docs/grub.cfg: Use the native device name for the example GNU/Hurd
  10981. boot entry.
  10982. 2008-08-12 Robert Millan <rmh@aybabtu.com>
  10983. * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
  10984. of the relocation code from here ...
  10985. (grub_multiboot): ... to here.
  10986. (forward_relocator, backward_relocator): Move from here ...
  10987. * kern/i386/loader.S (grub_multiboot_forward_relocator)
  10988. (grub_multiboot_backward_relocator): ... to here.
  10989. (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
  10990. magic in %eax. Use %ebp for jumping (so %edx is not trashed).
  10991. * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
  10992. (grub_multiboot_forward_relocator_end)
  10993. (grub_multiboot_backward_relocator)
  10994. (grub_multiboot_backward_relocator_end): New variables.
  10995. 2008-08-12 Bean <bean123ch@gmail.com>
  10996. * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
  10997. 2008-08-11 Robert Millan <rmh@aybabtu.com>
  10998. * kern/i386/linuxbios/startup.S: Move from here ...
  10999. * kern/i386/coreboot/startup.S: ... to here.
  11000. * kern/i386/linuxbios/init.c: Move from here ...
  11001. * kern/i386/coreboot/init.c: ... to here.
  11002. * kern/i386/linuxbios/table.c: Move from here ...
  11003. * kern/i386/coreboot/mmap.c: ... to here.
  11004. * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
  11005. 2008-08-11 Robert Millan <rmh@aybabtu.com>
  11006. * kern/device.c (grub_device_open): Do not handle grub_disk_open()
  11007. errors. Leave it to the upper layer to handle them.
  11008. 2008-08-09 Christian Franke <franke@computer.org>
  11009. * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
  11010. * conf/common.rmk: Install `grub-pe2elf' only if requested.
  11011. Install `grub.d/10_windows' only on Cygwin.
  11012. * configure.ac: Add subst of `target_os'.
  11013. Check `target_os' also before setting TARGET_OBJ2ELF.
  11014. Add `--enable-grub-pe2elf'.
  11015. 2008-08-08 Robert Millan <rmh@aybabtu.com>
  11016. * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
  11017. (grub_last_time): Change type to grub_uint64_t.
  11018. (grub_disk_open): Migrate code from to using grub_get_time_ms().
  11019. (grub_disk_close): Likewise.
  11020. * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
  11021. (run_menu): Migrate code from to using grub_get_time_ms().
  11022. * util/misc.c (grub_get_time_ms): New function.
  11023. 2008-08-08 Marco Gerards <marco@gnu.org>
  11024. * disk/ata.c (grub_ata_regget): Change return type to
  11025. `grub_uint8_t'.
  11026. (grub_ata_regget2): Likewise.
  11027. (grub_ata_wait_status): New function.
  11028. (grub_ata_wait_busy): Removed function, updated all users to use
  11029. `grub_ata_wait_status'.
  11030. (grub_ata_wait_drq): Likewise.
  11031. (grub_ata_cmd): New function.
  11032. (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
  11033. error handling.
  11034. (grub_ata_pio_write): Add error handling.
  11035. (grub_atapi_identify): Likewise.
  11036. (grub_atapi_packet): Use `grub_ata_cmd' and improve error
  11037. handling.
  11038. (grub_ata_identify): Use `grub_ata_cmd' and improve error
  11039. handling. Actually use the detected registers. Reorder the
  11040. detection logic such that it is easier to read.
  11041. (grub_ata_pciinit): Do not assign the same ID to each controller.
  11042. (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
  11043. handling.
  11044. (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
  11045. * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
  11046. 2008-08-08 Marco Gerards <marco@gnu.org>
  11047. * NEWS: Update.
  11048. 2008-08-07 Bean <bean123ch@gmail.com>
  11049. * include/grub/x86_64/pci.h: New file.
  11050. 2008-08-07 Christian Franke <franke@computer.org>
  11051. * kern/i386/pit.c (TIMER2_SPEAKER): New define.
  11052. (TIMER2_GATE): Likewise.
  11053. (grub_pit_wait): Add enable/disable of the timer2 gate
  11054. bit of port 0x61. This fixes a possible infinite loop.
  11055. 2008-08-07 Bean <bean123ch@gmail.com>
  11056. * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
  11057. kern/i386/tsc.c and kern/i386/pit.c.
  11058. * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
  11059. x86_64 platform.
  11060. * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
  11061. <grub/i386/tsc.h>.
  11062. * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
  11063. 2008-08-07 Bean <bean123ch@gmail.com>
  11064. * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
  11065. * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
  11066. * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
  11067. multiple inclusion. Add #include <grub/types.h>.
  11068. 2008-08-06 Christian Franke <franke@computer.org>
  11069. * conf/common.rmk: Build and install `10_windows'.
  11070. * util/grub.d/10_windows.in: New script.
  11071. 2008-08-06 Pavel Roskin <proski@gnu.org>
  11072. * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
  11073. 2008-08-06 Robert Millan <rmh@aybabtu.com>
  11074. * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
  11075. * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
  11076. 2008-08-06 Bean <bean123ch@gmail.com>
  11077. * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
  11078. (grub_pxefs_fs_int): Remove dummy definition.
  11079. (grub_pxefs_open): Use data->block_size to store the current block
  11080. size setting.
  11081. (grub_pxefs_read): Use block size stored in data->block_size. As the
  11082. value of grub_pxe_blksize can be changed after the file is opened.
  11083. 2008-08-06 Bean <bean123ch@gmail.com>
  11084. * fs/i386/pc/pxe.c (curr_file): new variable.
  11085. (grub_pxefs_open): Simply the handling of pxe file system. Don't
  11086. require the dummy internal file system anymore.
  11087. (grub_pxefs_read): Removed.
  11088. (grub_pxefs_close): Likewise.
  11089. (grub_pxefs_fs_int): Likewise.
  11090. (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
  11091. connection when we switch file.
  11092. (grub_pxefs_close_int): Renamed to grub_pxefs_close.
  11093. 2008-08-06 Robert Millan <rmh@aybabtu.com>
  11094. * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
  11095. `halt.mod'.
  11096. (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
  11097. (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
  11098. * kern/i386/halt.c: New file.
  11099. * kern/i386/reboot.c: Likewise.
  11100. * include/grub/i386/reboot.h: Likewise.
  11101. * include/grub/i386/halt.h: Likewise.
  11102. * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
  11103. Include `<grub/cpu/halt.h>'.
  11104. * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
  11105. [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
  11106. * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
  11107. (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
  11108. (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
  11109. (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
  11110. (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
  11111. (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
  11112. from here ...
  11113. * include/grub/i386/at_keyboard.h: ... to here.
  11114. 2008-08-05 Robert Millan <rmh@aybabtu.com>
  11115. * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
  11116. * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
  11117. * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
  11118. `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
  11119. `kern/generic/millisleep.c'.
  11120. * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
  11121. instead of grub_get_rtc().
  11122. (grub_tsc_init): Initialize `tsc_boot_time'.
  11123. * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
  11124. (grub_machine_init): Use grub_tsc_init() rather than
  11125. installing an RTC-based handler via grub_install_get_time_ms().
  11126. * kern/i386/pit.c: New file.
  11127. * include/grub/i386/pit.h: Likewise.
  11128. 2008-08-05 Bean <bean123ch@gmail.com>
  11129. * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
  11130. * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
  11131. (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
  11132. (pxe_mod_SOURCES): New macro.
  11133. (pxe_mod_CFLAGS): Likewise.
  11134. (pxe_mod_LDFLAGS): Likewise.
  11135. (pxecmd_mod_SOURCES): Likewise.
  11136. (pxecmd_mod_CFLAGS): Likewise.
  11137. (pxecmd_mod_LDFLAGS): Likewise.
  11138. * kern/i386/pc/startup.S (grub_pxe_scan): New function.
  11139. (grub_pxe_call): Likewise.
  11140. * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
  11141. * commands/i386/pc/pxecmd.c: New file.
  11142. * fs/i386/pc/pxe.c: Likewise.
  11143. * include/grub/i386/pc/pxe.h: Likewise.
  11144. 2008-08-05 Bean <bean123ch@gmail.com>
  11145. * util/console.c (grub_console_cur_color): New variable.
  11146. (grub_console_standard_color): Likewise.
  11147. (grub_console_normal_color): Likewise.
  11148. (grub_console_highlight_color): Likewise.
  11149. (color_map): Likewise.
  11150. (use_color): Likewise.
  11151. (NUM_COLORS): New macro.
  11152. (grub_ncurses_setcolorstate): Handle color properly.
  11153. (grub_ncurses_setcolor): Don't change color here, just remember the
  11154. settings, color will be set in grub_ncurses_setcolorstate.
  11155. (grub_ncurses_getcolor): New function.
  11156. (grub_ncurses_init): Initialize color pairs.
  11157. (grub_ncurses_term): New member grub_ncurses_getcolor.
  11158. 2008-08-05 Colin D Bennett <colin@gibibit.com>
  11159. High resolution timer support. Implemented for x86 CPUs using TSC.
  11160. Extracted generic grub_millisleep() so it's linked in only as needed.
  11161. This requires a Pentium compatible CPU; if the RDTSC instruction is
  11162. not supported, then it falls back on the generic grub_get_time_ms()
  11163. implementation that uses the machine's RTC.
  11164. * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
  11165. `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
  11166. `kern/generic/millisleep.c'.
  11167. * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
  11168. `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
  11169. * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
  11170. `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
  11171. * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
  11172. * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
  11173. `kern/generic/millisleep.c'.
  11174. * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
  11175. * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
  11176. * kern/generic/rtc_get_time_ms.c: New file.
  11177. * kern/generic/millisleep.c: New file.
  11178. * kern/misc.c: Don't include
  11179. <kern/time.h> anymore.
  11180. (grub_millisleep_generic): Removed.
  11181. * commands/sleep.c (grub_interruptible_millisleep): Uses
  11182. grub_get_time_ms() instead of grub_get_rtc().
  11183. * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
  11184. function.
  11185. (grub_cpu_is_cpuid_supported): New inline function.
  11186. (grub_cpu_is_tsc_supported): New inline function.
  11187. (grub_tsc_init): New function prototype.
  11188. (grub_tsc_get_time_ms): New function prototype.
  11189. * kern/i386/tsc.c (grub_get_time_ms): New file.
  11190. * include/grub/time.h: Include <grub/types.h.
  11191. (grub_millisleep_generic): Removed.
  11192. (grub_get_time_ms): New prototype.
  11193. (grub_install_get_time_ms): New prototype.
  11194. (grub_rtc_get_time_ms): New prototype.
  11195. * kern/time.c (grub_get_time_ms): New function.
  11196. (grub_install_get_time_ms): New function.
  11197. * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
  11198. <grub/time.h> anymore.
  11199. (grub_millisleep): Removed.
  11200. (grub_machine_init): Call grub_tsc_init.
  11201. * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
  11202. get_time_ms() implementation.
  11203. * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
  11204. (ieee1275_get_time_ms): New function.
  11205. (grub_machine_init): Install get_time_ms() implementation.
  11206. * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
  11207. (grub_machine_init): Call grub_tsc_init().
  11208. (grub_millisleep): Removed.
  11209. * kern/ieee1275/init.c (grub_millisleep): Removed.
  11210. (grub_machine_init): Install ieee1275_get_time_ms()
  11211. implementation.
  11212. (ieee1275_get_time_ms): New function.
  11213. (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
  11214. real work.
  11215. 2008-08-05 Marco Gerards <marco@gnu.org>
  11216. * disk/ata.c: Include <grub/pci.h>.
  11217. (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
  11218. (grub_ata_initialize): Rewritten.
  11219. (grub_ata_device_initialize): New function.
  11220. 2008-08-04 Pavel Roskin <proski@gnu.org>
  11221. * kern/main.c: Include grub/mm.h.
  11222. 2008-08-04 Robert Millan <rmh@aybabtu.com>
  11223. * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
  11224. (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
  11225. corruption problem).
  11226. 2008-08-04 Robert Millan <rmh@aybabtu.com>
  11227. * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
  11228. warnings introduced in my last commit.
  11229. 2008-08-03 Robert Millan <rmh@aybabtu.com>
  11230. Make PCI available on all i386 architectures.
  11231. * include/grub/i386/pc/pci.h: Move from here ...
  11232. * include/grub/i386/pci.h: ... to here.
  11233. * include/grub/i386/pc/pci.h: Remove.
  11234. * include/grub/i386/efi/pci.h: Remove.
  11235. * include/grub/x86_64/efi/pci.h: Remove.
  11236. * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
  11237. `<grub/cpu/pci.h>'.
  11238. * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
  11239. (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
  11240. (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
  11241. * conf/i386-ieee1275.rmk: Likewise.
  11242. 2008-08-03 Robert Millan <rmh@aybabtu.com>
  11243. * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
  11244. (grub_console_setcursor): Make it possible to set cursor off.
  11245. 2008-08-03 Robert Millan <rmh@aybabtu.com>
  11246. * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
  11247. of modules instead of assuming which platform provides what.
  11248. * util/update-grub.in: Likewise.
  11249. 2008-08-03 Robert Millan <rmh@aybabtu.com>
  11250. * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
  11251. instead of `grub_install_dos_part' to determine whether a drive needs
  11252. to be prepended to prefix (`grub_install_dos_part' is not reliable,
  11253. because it can be overridden when loading GRUB via Multiboot).
  11254. 2008-08-02 Robert Millan <rmh@aybabtu.com>
  11255. * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
  11256. 2008-08-02 Robert Millan <rmh@aybabtu.com>
  11257. * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
  11258. of informational grub_dprintf() calls.
  11259. 2008-08-02 Robert Millan <rmh@aybabtu.com>
  11260. * disk/memdisk.c (memdisk_size): Don't initialize.
  11261. (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
  11262. * include/grub/i386/pc/kernel.h
  11263. (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
  11264. (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
  11265. (grub_memdisk_image_size, grub_arch_memdisk_addr)
  11266. (grub_arch_memdisk_size): Remove.
  11267. * include/grub/kernel.h (struct grub_module_header): Remove `offset'
  11268. field (was only used to transfer a constant). Add `type' field to
  11269. support multiple module types.
  11270. (grub_module_iterate): New function.
  11271. * kern/device.c (grub_device_open): Do not hide error messages
  11272. when grub_disk_open() fails. Use grub_print_error() instead.
  11273. * kern/i386/pc/init.c (grub_arch_modules_addr)
  11274. (grub_arch_memdisk_size): Remove functions.
  11275. (grub_arch_modules_addr): Return the module address in high memory
  11276. (now that it isn't copied anymore).
  11277. * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
  11278. (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
  11279. decompression routine (grub_total_module_size already includes that
  11280. now). Don't copy modules back to low memory.
  11281. * kern/main.c: Include `<grub/mm.h>'.
  11282. (grub_load_modules): Split out (and use) ...
  11283. (grub_module_iterate): ... this function, which iterates through
  11284. module objects and runs a hook.
  11285. Comment out grub_mm_init_region() call, as it would cause non-ELF
  11286. modules to be overwritten.
  11287. * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
  11288. the memdisk image in its own region, make it part of the module list.
  11289. * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
  11290. (main): Parse --memdisk|-m option, and pass user-provided path as
  11291. parameter to generate_image().
  11292. (add_segments): Pass `memdisk_path' down to load_modules().
  11293. (load_modules): Embed memdisk image in module section when requested.
  11294. * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
  11295. `header.type' instead of `header.offset'.
  11296. * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
  11297. (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
  11298. (memdisk_mod_LDFLAGS): New variables.
  11299. * conf/i386-coreboot.rmk: Likewise.
  11300. * conf/i386-ieee1275.rmk: Likewise.
  11301. 2008-08-02 Robert Millan <rmh@aybabtu.com>
  11302. * loader/i386/pc/multiboot.c (playground, forward_relocator)
  11303. (backward_relocator): New variables. Used to allocate and relocate
  11304. the payload, respectively.
  11305. (grub_multiboot_load_elf32): Load into heap instead of requested
  11306. address, install the appropriate relocator code in each bound of
  11307. the payload, and set the entry point such that
  11308. grub_multiboot_real_boot() will jump to one of them.
  11309. * kern/i386/loader.S (grub_multiboot_payload_size)
  11310. (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
  11311. (grub_multiboot_payload_entry_offset): New variables.
  11312. (grub_multiboot_real_boot): Set cpu context to what the relocator
  11313. expects, and jump to the relocator instead of the payload.
  11314. * include/grub/i386/loader.h (grub_multiboot_payload_size)
  11315. (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
  11316. (grub_multiboot_payload_entry_offset): Export.
  11317. 2008-08-01 Bean <bean123ch@gmail.com>
  11318. * normal/menu_entry.c (editor_getline): Don't return the original
  11319. string as result, as it will be released by lexer once it has done
  11320. using it.
  11321. 2008-08-01 Robert Millan <rmh@aybabtu.com>
  11322. * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
  11323. within menuentries, not before them.
  11324. util/grub.d/10_hurd.in: Likewise.
  11325. 2008-08-01 Bean <bean123ch@gmail.com>
  11326. * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
  11327. (bufio_mod_SOURCES): New macro.
  11328. (bufio_mod_CFLAGS): Likewise.
  11329. (bufio_mod_LDFLAGS): Likewise.
  11330. * include/grub/bufio.h: New file.
  11331. * io/bufio.c: Likewise.
  11332. * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
  11333. (grub_video_reader_png): Use grub_buffile_open to open file.
  11334. * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
  11335. (grub_video_reader_jpeg): Use grub_buffile_open to open file.
  11336. * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
  11337. (grub_video_reader_tga): Use grub_buffile_open to open file.
  11338. * font/manager.c: Include <grub/bufio.h>.
  11339. (add_font): Use grub_buffile_open to open file.
  11340. 2008-07-31 Robert Millan <rmh@aybabtu.com>
  11341. * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
  11342. ELF segments, use a macro for arbitrarily accessing any of them instead
  11343. of preparing a pointer that allows access to one at a time.
  11344. (grub_multiboot_load_elf64): Likewise.
  11345. 2008-07-31 Bean <bean123ch@gmail.com>
  11346. * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
  11347. GRUB_KERNEL_MACHINE_DATA_END.
  11348. 2008-07-30 Robert Millan <rmh@aybabtu.com>
  11349. * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
  11350. Increase from 0x50 to 0x60.
  11351. * util/i386/pc/grub-install.in: Detect cross-disk installs, and
  11352. use UUIDs to identify the root drive for them. If that's not
  11353. possible, abort.
  11354. * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
  11355. check, for cross-disk installs.
  11356. 2008-07-30 Robert Millan <rmh@aybabtu.com>
  11357. * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
  11358. is non-empty, use it to set the `prefix' environment variable instead
  11359. of the usual approach.
  11360. * kern/i386/linuxbios/init.c (make_install_device): Remove function.
  11361. (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
  11362. environment variable instead of dummy make_install_device().
  11363. * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
  11364. (start): Insert a data section, with `grub_prefix' variable.
  11365. * kern/i386/linuxbios/startup.S: Likewise.
  11366. * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
  11367. New variable reference.
  11368. * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
  11369. New macro. Defines offset of `grub_prefix' within startup.S (relative
  11370. to `start').
  11371. (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
  11372. section within startup.S (relative to `start').
  11373. * include/grub/i386/coreboot/kernel.h: Likewise.
  11374. * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
  11375. Overwrite grub_prefix with its contents, at the beginning of the
  11376. first segment.
  11377. (main): Understand -p|--prefix.
  11378. 2008-07-30 Robert Millan <rmh@aybabtu.com>
  11379. * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
  11380. 2008-07-30 Robert Millan <rmh@aybabtu.com>
  11381. * term/i386/pc/vga_text.c (grub_console_cls): Use
  11382. grub_console_gotoxy() to go back to beginning of the screen.
  11383. Found by Patrick Georgi <patrick.georgi@coresystems.de>
  11384. 2008-07-29 Christian Franke <franke@computer.org>
  11385. * util/update-grub_lib.in (make_system_path_relative_to_its_root):
  11386. Add conversion of emulated mount points on Cygwin.
  11387. 2008-07-29 Christian Franke <franke@computer.org>
  11388. * util/update-grub.in: Add a check for admin
  11389. group on Cygwin.
  11390. Remove old `grub.cfg.new' before creation.
  11391. Add `-f' to `mv' to handle the different filesystem
  11392. semantics of Windows.
  11393. 2008-07-29 Bean <bean123ch@gmail.com>
  11394. * normal/main.c (get_line): Fix buffer overflow bug.
  11395. 2008-07-28 Robert Millan <rmh@aybabtu.com>
  11396. * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
  11397. (struct grub_apple_header): New struct. Describes the layout of
  11398. the partmap header.
  11399. (apple_partition_map_iterate): Check the header magic as well as the
  11400. partition magic (which was already being checked).
  11401. 2008-07-28 Pavel Roskin <proski@gnu.org>
  11402. * genmk.rb: Add a warning to the beginning of the output that
  11403. it's a generated file and should not be edited.
  11404. 2008-07-28 Robert Millan <rmh@aybabtu.com>
  11405. * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
  11406. with the same number are found, just use issue a warning with
  11407. grub_dprintf(), as this error has been reported to be non-fatal.
  11408. 2008-07-27 Robert Millan <rmh@aybabtu.com>
  11409. * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
  11410. information.
  11411. 2008-07-27 Bean <bean123ch@gmail.com>
  11412. * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
  11413. (grub_fat_find_dir): Ignore case when comparing filename.
  11414. 2008-07-27 Bean <bean123ch@gmail.com>
  11415. * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
  11416. smallino, as it's more descriptive, and i8count can be confused with
  11417. the other field count.
  11418. (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
  11419. inode type.
  11420. 2008-07-27 Bean <bean123ch@gmail.com>
  11421. * commands/crc.c: New file.
  11422. * lib/crc.c: Likewise.
  11423. * include/grub/lib/crc.h: Likewise.
  11424. * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
  11425. * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
  11426. (hexdump): Move this function to ...
  11427. * lib/hexdump.c: ... here.
  11428. * include/grub/hexdump.h: Renamed to ...
  11429. * include/grub/lib/hexdump.h: ... this.
  11430. * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
  11431. * util/grub-editenv.c: Likewise.
  11432. * include/envblk.h: Renamed to ...
  11433. * include/lib/envblk.h: ... this.
  11434. * util/envblk.c: Renamed to ...
  11435. * lib/envblk.c: ... this.
  11436. * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
  11437. lib/hexdump.c.
  11438. (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
  11439. (pkglib_MODULES): Add crc.mod.
  11440. (hexdump_mod_SOURCES): Add lib/hexdump.c.
  11441. (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
  11442. (crc_mod_SOURCES): New macro.
  11443. (crc_mod_CFLAGS): Likewise.
  11444. (crc_mod_LDFLAGS): Likewise.
  11445. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
  11446. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  11447. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  11448. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  11449. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
  11450. 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
  11451. * commands/help.c: Include <grub/term.h>.
  11452. (TERM_WIDTH): Removed. Updated all users.
  11453. 2008-07-27 Pavel Roskin <proski@gnu.org>
  11454. * util/getroot.c (find_root_device): Rephrase a comment to avoid
  11455. spurious warnings about a comment within a comment.
  11456. 2008-07-25 Robert Millan <rmh@aybabtu.com>
  11457. * util/getroot.c (find_root_device): Skip devices that match
  11458. /dev/dm-[0-9]. This lets the real device be found for any type of
  11459. abstraction (LVM, EVMS, RAID..).
  11460. (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
  11461. and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
  11462. device is found first, find_root_device() will now skip it.
  11463. 2008-07-24 Pavel Roskin <proski@gnu.org>
  11464. * include/grub/types.h: Use __builtin_bswap32() and
  11465. __builtin_bswap64() with gcc 4.3 and newer.
  11466. 2008-07-24 Christian Franke <franke@computer.org>
  11467. * util/i386/pc/grub-install.in: If `--debug' is specified,
  11468. pass `--verbose' to grub-setup.
  11469. Abort script if make_system_path_relative_to_its_root() fails.
  11470. 2008-07-24 Bean <bean123ch@gmail.com>
  11471. * configure.ac: Fixed a bug caused by the previous cygwin patch,
  11472. variable `target_platform' should be `platform'.
  11473. 2008-07-24 Bean <bean123ch@gmail.com>
  11474. * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
  11475. (grub_png_init_fixed_block): New function.
  11476. (grub_png_decode_image_data): Handle fixed huffman code compression.
  11477. 2008-07-24 Bean <bean123ch@gmail.com>
  11478. * common.rmk (bin_UTILITIES): Add grub-pe2elf.
  11479. (grub_pe2elf_SOURCES): New macro.
  11480. (CLEANFILES): Add grub-pe2elf.
  11481. * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
  11482. (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
  11483. (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
  11484. (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
  11485. (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
  11486. (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
  11487. (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
  11488. (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
  11489. (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
  11490. (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
  11491. (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
  11492. (GRUB_PE32_SYM_CLASS_FILE): Likewise.
  11493. (GRUB_PE32_DT_FUNCTION): Likewise.
  11494. (GRUB_PE32_REL_I386_DIR32): Likewise.
  11495. (GRUB_PE32_REL_I386_REL32): Likewise.
  11496. (grub_pe32_symbol): New structure.
  11497. (grub_pe32_reloc): Likewise.
  11498. * util/grub-pe2elf.c: New file.
  11499. * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
  11500. start symbol in non pc platform.
  11501. * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
  11502. The following patches are from Christian Franke.
  11503. * include/grub/dl.h: Remove .previous, gas supports this only
  11504. for ELF format.
  11505. * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
  11506. Remove .type, gas supports this only for ELF format.
  11507. * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
  11508. nullbytes in symbol table. This fixes an infinite loop if table is
  11509. zero filled.
  11510. * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
  11511. TARGET_IMG_LDFLAGS and EXEEXT.
  11512. * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
  11513. TARGET_IMG_LDFLAGS_AC.
  11514. (grub_CHECK_STACK_ARG_PROBE): New function.
  11515. * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
  11516. * conf/i386-pc-cygwin-ld-img.sc: New linker script.
  11517. * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
  11518. to set TARGET_IMG_LD* accordingly.
  11519. Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
  11520. Add call to grub_CHECK_STACK_ARG_PROBE.
  11521. Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
  11522. * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
  11523. * genmk.rb: Add EXEEXT to CLEANFILES.
  11524. 2008-07-23 Robert Millan <rmh@aybabtu.com>
  11525. * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
  11526. define the codes for arrows and lines used for the menu).
  11527. (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
  11528. as well.
  11529. * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
  11530. fonts, because the latter are too slow.
  11531. 2008-07-21 Bean <bean123ch@gmail.com>
  11532. * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
  11533. a20. Run keyboard test last, as it will cause macbook to halt.
  11534. 2008-07-18 Pavel Roskin <proski@gnu.org>
  11535. * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
  11536. load foreign architecture modules correctly anyway. Keep
  11537. support for loading host architecture modules, whether we
  11538. compile them or not.
  11539. 2008-07-17 Pavel Roskin <proski@gnu.org>
  11540. * configure.ac: Use -m32 or -m64 regardless of whether we had to
  11541. change target_cpu. The compiler default can mismatch target_cpu
  11542. in any case.
  11543. * disk/efi/efidisk.c: Fix format warnings on x86_64.
  11544. * kern/efi/efi.c: Likewise.
  11545. * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
  11546. target compiler is functional.
  11547. * configure.ac: Call grub_PROG_TARGET_CC once all target flags
  11548. are set up.
  11549. * configure.ac: Default to efi platform for x86_64-apple. Allow
  11550. powerpc64 CPU, default to ieee1275 platform for it. Split CPU
  11551. adjustments from the rest, only do them if target is not
  11552. explicitly given. Merge other adjustments with the final sanity
  11553. check. Remove an extraneous check for supported CPU. Be
  11554. specific which CPU and which platform is not supported.
  11555. * configure.ac: Default to pc platform for x86_64.
  11556. 2008-07-17 Robert Millan <rmh@aybabtu.com>
  11557. Partial LinuxBIOS -> Coreboot rename.
  11558. * conf/i386-linuxbios.rmk: Renamed to ...
  11559. * conf/i386-coreboot.rmk: ... this.
  11560. * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
  11561. * configure.ac: Accept "coreboot" as input platform (but maintain
  11562. compatibility with "linuxbios").
  11563. * include/grub/i386/linuxbios: Renamed to ...
  11564. * include/grub/i386/coreboot: ... this.
  11565. 2008-07-17 Bean <bean123ch@gmail.com>
  11566. * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
  11567. (appleldr_mod_SOURCE): New variable.
  11568. (appleldr_mod_CFLAGS): Likewise.
  11569. (appleldr_mod_LDFLAGS): Likewise.
  11570. (pci_mod_SOURCES): Likewise.
  11571. (pci_mod_CFLAGS): Likewise.
  11572. (pci_mod_LDFLAGS): Likewise.
  11573. (lspci_mod_SOURCES): Likewise.
  11574. (lspci_mod_CFLAGS): Likewise.
  11575. (lspci_mod_LDFLAGS): Likewise.
  11576. * conf/x86_64-efi.rmk: New file.
  11577. * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
  11578. macro.
  11579. (grub_efidisk_write): Likewise.
  11580. * include/efi/api.h (efi_call_0): New macro.
  11581. (efi_call_1): Likewise.
  11582. (efi_call_2): Likewise.
  11583. (efi_call_3): Likewise.
  11584. (efi_call_4): Likewise.
  11585. (efi_call_5): Likewise.
  11586. (efi_call_6): Likewise.
  11587. * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
  11588. grub_rescue_cmd_chainloader.
  11589. * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
  11590. (grub_pe32_optional_header): Change some fields based on i386 or
  11591. x86_64 platform.
  11592. (GRUB_PE32_PE32_MAGIC): Likewise.
  11593. * include/grub/efi/uga_draw.h: New file.
  11594. * include/grub/elf.h (STN_ABS): New constant.
  11595. (R_X86_64_NONE): Relocation constant for x86_64.
  11596. (R_X86_64_64): Likewise.
  11597. (R_X86_64_PC32): Likewise.
  11598. (R_X86_64_GOT32): Likewise.
  11599. (R_X86_64_PLT32): Likewise.
  11600. (R_X86_64_COPY): Likewise.
  11601. (R_X86_64_GLOB_DAT): Likewise.
  11602. (R_X86_64_JUMP_SLOT): Likewise.
  11603. (R_X86_64_RELATIVE): Likewise.
  11604. (R_X86_64_GOTPCREL): Likewise.
  11605. (R_X86_64_32): Likewise.
  11606. (R_X86_64_32S): Likewise.
  11607. (R_X86_64_16): Likewise.
  11608. (R_X86_64_PC16): Likewise.
  11609. (R_X86_64_8): Likewise.
  11610. (R_X86_64_PC8): Likewise.
  11611. * include/grub/i386/efi/pci.h: New file.
  11612. * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
  11613. Change it value based on platform.
  11614. (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
  11615. (GRUB_E820_RAM): Likewise.
  11616. (GRUB_E820_RESERVED): Likewise.
  11617. (GRUB_E820_ACPI): Likewise.
  11618. (GRUB_E820_NVS): Likewise.
  11619. (GRUB_E820_EXEC_CODE): Likewise.
  11620. (GRUB_E820_MAX_ENTRY): Likewise.
  11621. (grub_e820_mmap): New structure.
  11622. (linux_kernel_header): Change the efi field according to different
  11623. kernel version, also field from linux_kernel_header.
  11624. * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
  11625. * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
  11626. (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
  11627. (GRUB_PCI_ADDR_SPACE_IO): Likewise.
  11628. (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
  11629. (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
  11630. (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
  11631. (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
  11632. (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
  11633. (GRUB_PCI_ADDR_MEM_MASK): Likewise.
  11634. (GRUB_PCI_ADDR_IO_MASK): Likewise.
  11635. * include/grub/x86_64/efi/kernel.h: New file.
  11636. * include/grub/x86_64/efi/loader.h: Likewise.
  11637. * include/grub/x86_64/efi/machine.h: Likewise.
  11638. * include/grub/x86_64/efi/pci.h: Likewise.
  11639. * include/grub/x86_64/efi/time.h: Likewise.
  11640. * include/grub/x86_64/linux.h: Likewise.
  11641. * include/grub/x86_64/setjmp.h: Likewise.
  11642. * include/grub/x86_64/time.h: Likewise.
  11643. * include/grub/x86_64/types.h: Likewise.
  11644. * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
  11645. GRUB_TARGET_SIZEOF_VOID_P.
  11646. * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
  11647. (grub_efi_locate_handle): Likewise.
  11648. (grub_efi_open_protocol): Likewise.
  11649. (grub_efi_set_text_mode): Likewise.
  11650. (grub_efi_stall): Likewise.
  11651. (grub_exit): Likewise.
  11652. (grub_reboot): Likewise.
  11653. (grub_halt): Likewise.
  11654. (grub_efi_exit_boot_services): Likewise.
  11655. (grub_get_rtc): Likewise.
  11656. * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
  11657. (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
  11658. (grub_efi_allocate_pages): Wrap efi calls.
  11659. (grub_efi_free_pages): Wrap efi calls.
  11660. (grub_efi_get_memory_map): Wrap efi calls.
  11661. * kern/x86_64/dl.c: New file.
  11662. * kern/x86_64/efi/callwrap.S: Likewise.
  11663. * kern/x86_64/efi/startup.S: Likewise.
  11664. * loader/efi/appleloader.c: Likewise.
  11665. * loader/efi/chainloader.c (cmdline): New variable.
  11666. (grub_chainloader_unload): Wrap efi calls.
  11667. (grub_chainloader_boot): Likewise.
  11668. (grub_rescue_cmd_chainloader): Wrap efi calls, handle
  11669. command line.
  11670. * loader/efi/chainloader_normal.c (chainloader_command):
  11671. Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
  11672. command line.
  11673. * loader/i386/efi/linux.c (allocate_pages): Change allocation
  11674. method.
  11675. (grub_e820_add_region): New function.
  11676. (grub_linux_boot): Construct e820 map from efi map, handle x86_64
  11677. booting.
  11678. (grub_find_video_card): New function.
  11679. (grub_linux_setup_video): New function.
  11680. (grub_rescue_cmd_linux): Probe for video information.
  11681. * normal/x86_64/setjmp.S: New file.
  11682. * term/efi/console.c (map_char): New function.
  11683. (grub_console_putchar): Map unicode char.
  11684. (grub_console_checkkey): Wrap efi calls.
  11685. (grub_console_getkey): Likewise.
  11686. (grub_console_getwh): Likewise.
  11687. (grub_console_gotoxy): Likewise.
  11688. (grub_console_cls): Likewise.
  11689. (grub_console_setcolorstate): Likewise.
  11690. (grub_console_setcursor): Likewise.
  11691. * util/i386/efi/grub-mkimage.c: Add support for x86_64.
  11692. 2008-07-16 Pavel Roskin <proski@gnu.org>
  11693. * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
  11694. format strings.
  11695. * util/i386/efi/grub-mkimage.c (get_target_address): Return a
  11696. pointer, not an integer. This fixes a warning and prevents
  11697. precision loss on 64-bit systems.
  11698. (relocate_addresses): Remove unneeded cast.
  11699. 2008-07-15 Pavel Roskin <proski@gnu.org>
  11700. * kern/i386/ieee1275/init.c: Include grub/cache.h.
  11701. * term/ieee1275/ofconsole.c: Disable code unused on i386.
  11702. * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
  11703. Fix comparison between signed and unsigned.
  11704. * include/grub/i386/ieee1275/console.h: Declare
  11705. grub_console_init() and grub_console_fini().
  11706. * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
  11707. It's empty and unused.
  11708. * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
  11709. beginning to avoid warnings with some compilers.
  11710. * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
  11711. [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
  11712. 2008-07-14 Pavel Roskin <proski@gnu.org>
  11713. * kern/env.c (grub_register_variable_hook): Don't copy empty
  11714. string, it leaks memory. Pass "" to grub_env_set(), it should
  11715. handle constant strings.
  11716. * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
  11717. * commands/cmp.c (grub_cmd_cmp): Likewise.
  11718. * kern/dl.c (grub_dl_flush_cache): Likewise.
  11719. (grub_dl_load_core): Likewise.
  11720. * kern/elf.c (grub_elf32_load_phdrs): Likewise.
  11721. (grub_elf64_load_phdrs): Likewise.
  11722. 2008-07-13 Pavel Roskin <proski@gnu.org>
  11723. * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
  11724. between signed and unsigned.
  11725. (LzmaEnc_Finish): Fix warning about an unused parameter.
  11726. 2008-07-13 Bean <bean123ch@gmail.com>
  11727. * Makefile.in (enable_lzo): New rule.
  11728. * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
  11729. * configure.ac (ENABLE_LZO): New option --enable-lzo.
  11730. * boot/i386/pc/lnxboot.S: #include <config.h>.
  11731. * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
  11732. its value according to the compression algorithm used, lzo or lzma.
  11733. * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
  11734. compression algorithm according to configure macro.
  11735. * kern/i386/pc/startup.S (codestart): Likewise.
  11736. * kern/i386/pc/lzma_decode.S: New file.
  11737. * include/grub/lib/LzFind.h: Likewise.
  11738. * include/grub/lib/LzHash.h: Likewise.
  11739. * include/grub/lib/LzmaDec.h: Likewise.
  11740. * include/grub/lib/LzmaEnc.h: Likewise.
  11741. * include/grub/lib/LzmaTypes.h: Likewise.
  11742. * lib/LzFind.c: Likewise.
  11743. * lib/LzmaDec.c: Likewise.
  11744. * lib/LzmaEnc.c: Likewise.
  11745. 2008-07-13 Bean <bean123ch@gmail.com>
  11746. * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
  11747. (grub_ext4_extent_header): New structure.
  11748. (grub_ext4_extent): Likewise.
  11749. (grub_ext4_extent_idx): Likewise.
  11750. (grub_ext4_find_leaf): New function.
  11751. (grub_ext2_read_block): Handle extents.
  11752. 2008-07-12 Robert Millan <rmh@aybabtu.com>
  11753. * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
  11754. 2008-07-11 Robert Millan <rmh@aybabtu.com>
  11755. * util/grub.d/40_custom.in: New file. Example on how to add custom
  11756. entries to /etc/grub.d.
  11757. * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
  11758. 40_custom (implicitly, by merging all the grub.d rules).
  11759. 2008-07-11 Pavel Roskin <proski@gnu.org>
  11760. * commands/read.c (grub_getline): Fix invalid memory access.
  11761. Don't add newline to the variable value.
  11762. * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
  11763. [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
  11764. (serial_hw_get_port): Check validity of the port number.
  11765. (grub_cmd_serial): Check return value of serial_hw_get_port().
  11766. 2008-07-07 Pavel Roskin <proski@gnu.org>
  11767. * boot/i386/pc/diskboot.S (notification_string): Replace
  11768. "Loading kernel" with just "loading". This is shorter, less
  11769. confusing and saves a few bytes for possible future changes.
  11770. 2008-07-05 Pavel Roskin <proski@gnu.org>
  11771. * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
  11772. size for ATAPI devices, they are undefined. Output sector
  11773. number in decimal form.
  11774. * disk/ata.c: Use named constants for status bits.
  11775. 2008-07-04 Pavel Roskin <proski@gnu.org>
  11776. * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
  11777. grub_addr_t before casting it to the void pointer to fix a
  11778. warning. Non-addressable regions are discarded earlier.
  11779. (grub_arch_modules_addr): Cast _end to grub_addr_t.
  11780. * kern/i386/linuxbios/table.c: Include grub/misc.h.
  11781. (check_signature): Don't shadow table_header.
  11782. (grub_linuxbios_table_iterate): Cast numeric constants to
  11783. grub_linuxbios_table_header_t.
  11784. * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
  11785. grub_stop().
  11786. * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
  11787. prevent warnings.
  11788. * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
  11789. pointer, which can cause warnings. Support 64-bit addresses.
  11790. * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
  11791. of sizeof(long). This fixes PowerPC image generation on x86_64.
  11792. 2008-07-04 Robert Millan <rmh@aybabtu.com>
  11793. This fixes a performance issue when pc & gpt partmap iterators
  11794. didn't abort iteration even after our hook found what it was
  11795. looking for (often causing expensive probes of non-existent drives).
  11796. Some callers relied on previous buggy behaviour, since they would
  11797. raise an error when their own hooks caused early abortion of its
  11798. iteration.
  11799. * kern/device.c (grub_device_open): Improve error message.
  11800. * disk/lvm.c (grub_lvm_open): Likewise.
  11801. * disk/raid.c (grub_raid_open): Likewise.
  11802. * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
  11803. when hook requests it, independently of grub_errno.
  11804. (pc_partition_map_probe): Do not fail when find_func() caused
  11805. early abortion of pc_partition_map_iterate().
  11806. * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
  11807. when hook requests it, independently of grub_errno.
  11808. (gpt_partition_map_probe): Do not fail when find_func() caused
  11809. early abortion of gpt_partition_map_iterate().
  11810. * kern/partition.c (grub_partition_iterate): Abort parent iteration
  11811. when hook requests it, independently of grub_errno. Do not fail when
  11812. part_map_iterate_hook() caused early abortion of p->iterate().
  11813. * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
  11814. when grub_partition_iterate() returned with non-zero.
  11815. 2008-07-03 Pavel Roskin <proski@gnu.org>
  11816. * disk/ata.c (grub_ata_pio_write): Check status before writing,
  11817. like we do in grub_ata_pio_read().
  11818. (grub_ata_readwrite): Always write individual sectors. Fix the
  11819. sector count for the remainder.
  11820. (grub_ata_write): Enable writing to ATA devices. Correctly
  11821. report error for ATAPI devices.
  11822. 2008-07-02 Pavel Roskin <proski@gnu.org>
  11823. * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
  11824. warning.
  11825. * disk/ata.c (grub_ata_readwrite): Don't increment sector number
  11826. for every read sector, we already increment it for the whole
  11827. batch. This fixes reading more than 256 sectors at once.
  11828. * util/grub-editenv.c (cmd_info): Cast argument to long
  11829. explicitly. ptrdiff_t reduces to int on i386.
  11830. * util/grub-editenv.c (main): Be specific which parameter is
  11831. missing.
  11832. * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
  11833. (memdisk): Make memdisk_orig_addr a pointer.
  11834. * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
  11835. for file offsets, use grub_off_t instead. Fix printf format
  11836. warnings.
  11837. * fs/reiserfs.c: Remove #warning, TODO list items don't belong
  11838. there. Real unexpected warnings should not drown in the noise
  11839. about known problems.
  11840. * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
  11841. grub_disk_addr_t for memory addresses.
  11842. * loader/aout.c (grub_aout_load): Cast load_addr to pointer
  11843. explicitly to fix a warning.
  11844. * util/grub-editenv.c (cmd_info): Fix warning in printf format.
  11845. * Makefile.in (MODULE_LDFLAGS): New variable.
  11846. * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
  11847. the linker accepts --build-id=none.
  11848. * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
  11849. MODULE_LDFLAGS.
  11850. * genmk.rb: Use MODULE_LDFLAGS when linking modules.
  11851. * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
  11852. those in Linux XFS code. Provide a way to access 64-bit parent
  11853. inode.
  11854. (grub_xfs_iterate_dir): Use the new names. Avoid reading past
  11855. the end of struct grub_xfs_dir_header.
  11856. 2008-07-02 Bean <bean123ch@gmail.com>
  11857. * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
  11858. GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
  11859. and GRUB_IEEE1275_FLAG_NO_ANSI.
  11860. * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
  11861. GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
  11862. and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
  11863. * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
  11864. immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
  11865. * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
  11866. GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
  11867. * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
  11868. esc sequence on non ANSI terminal.
  11869. (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
  11870. * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
  11871. beginning of file.
  11872. 2008-07-02 Bean <bean123ch@gmail.com>
  11873. * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
  11874. (grub_editenv_SOURCES): New variable.
  11875. (pkglib_MODULES): Add loadenv.mod.
  11876. (loadenv_mod_SOURCES): New variable.
  11877. (loadenv_mod_CFLAGS): Likewise.
  11878. (loadenv_mod_LDFLAGS): Likewise.
  11879. * include/grub/envblk.h: New file.
  11880. * util/envblk.c: New file.
  11881. * util/grub-editenv.c: New file.
  11882. * commands/loadenv.c: New file.
  11883. 2008-07-01 Pavel Roskin <proski@gnu.org>
  11884. * include/multiboot2.h (struct multiboot_tag_module): Use char,
  11885. not unsigned char. This fixes warnings and is consistent with
  11886. other tags.
  11887. * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
  11888. * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
  11889. * term/tparm.c (analyze): Always set *popcount.
  11890. * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
  11891. cast to fix a warning.
  11892. * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
  11893. cast to suppress a warning.
  11894. * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
  11895. grub_fshelp_read_file() expects.
  11896. * fs/fat.c: Fix UUID calculation on big-endian systems. We
  11897. write uuid as a 32-bit value in CPU byte order, so declare and
  11898. use it as such.
  11899. * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
  11900. long if the format specifier expects it.
  11901. * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
  11902. * partmap/pc.c (pc_partition_map_iterate): Likewise.
  11903. * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
  11904. long to fix a warning.
  11905. * fs/reiserfs.c (grub_reiserfs_read): Change casts in
  11906. grub_dprintf() arguments to fix warnings.
  11907. 2008-06-30 Pavel Roskin <proski@gnu.org>
  11908. * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
  11909. install_bsd_part immediately before core.img is embedded or
  11910. modified on disk. This fixes core.img verification if core.img
  11911. cannot be embedded.
  11912. * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
  11913. core_path to calculate the blocklist.
  11914. Patch from Javier Martín <lordhabbit@gmail.com>
  11915. 2008-06-29 Robert Millan <rmh@aybabtu.com>
  11916. * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
  11917. block to disk block.
  11918. (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
  11919. Patch from Niels Böhm <bitbucket@arcor.de>
  11920. 2008-06-29 Robert Millan <rmh@aybabtu.com>
  11921. * util/update-grub_lib.in (font_path): Search for fonts in
  11922. /boot/grub first, which is more likely to be readable (we aren't
  11923. deciding where fonts live, just looking for them).
  11924. 2008-06-26 Pavel Roskin <proski@gnu.org>
  11925. * util/biosdisk.c (read_device_map): Don't leave dead map
  11926. entries for devices failing stat() check.
  11927. * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
  11928. core_path_dev for the core.img path on the target device.
  11929. 2008-06-26 Robert Millan <rmh@aybabtu.com>
  11930. * disk/fs_uuid.c: New file.
  11931. * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
  11932. (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
  11933. (fs_uuid_mod_LDFLAGS): New variables.
  11934. * include/grub/disk.h (grub_disk_dev_id): Add
  11935. `GRUB_DISK_DEVICE_UUID_ID'.
  11936. * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
  11937. implement iterate().
  11938. 2008-06-26 Robert Millan <rmh@aybabtu.com>
  11939. * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
  11940. "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
  11941. Linux image includes no initrd.
  11942. 2008-06-21 Javier Martín <lordhabbit@gmail.com>
  11943. * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
  11944. call to resolve the core image location that effectively appended the
  11945. name twice.
  11946. 2008-06-21 Robert Millan <rmh@aybabtu.com>
  11947. * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
  11948. call from here ...
  11949. * util/grub.d/10_hurd.in: ... to here ...
  11950. * util/grub.d/10_linux.in: ... and here.
  11951. 2008-06-19 Robert Millan <rmh@aybabtu.com>
  11952. * kern/main.c (grub_main): Export `prefix' variable immediately
  11953. after it has been set by grub_machine_set_prefix().
  11954. 2008-06-19 Robert Millan <rmh@aybabtu.com>
  11955. * commands/search.c (search_label, search_fs_uuid, search_file): Print
  11956. search result when not saving to variable, not the other way around.
  11957. When saving to variable, abort iteration as soon as a match is found.
  11958. 2008-06-19 Robert Millan <rmh@aybabtu.com>
  11959. * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
  11960. check for partition that provides /boot/grub. Its logic is flawed,
  11961. as it prevents prepare_grub_to_access_device() from being called
  11962. multiple times.
  11963. 2008-06-19 Robert Millan <rmh@aybabtu.com>
  11964. * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
  11965. "insmod" command directly when abstraction modules are needed,
  11966. instead of relying on GRUB_PRELOAD_MODULES (which had no effect
  11967. since it had already been processed).
  11968. 2008-06-19 Pavel Roskin <proski@gnu.org>
  11969. * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
  11970. changed. This is needed in case GRUB_LIBDIR changes.
  11971. * conf/i386-ieee1275.rmk: Likewise.
  11972. * conf/i386-linuxbios.rmk: Likewise.
  11973. * conf/i386-pc.rmk: Likewise.
  11974. * conf/powerpc-ieee1275.rmk: Likewise.
  11975. 2008-06-18 Pavel Roskin <proski@gnu.org>
  11976. * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
  11977. kernel_elf_symlist.c to symlist.c for consistency with other
  11978. architectures. Update all users.
  11979. * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
  11980. 2008-06-18 Robert Millan <rmh@aybabtu.com>
  11981. * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
  11982. it in prefix.
  11983. * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
  11984. `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
  11985. a RAID device, run setup() for all members independently on whether
  11986. LVM abstraction is being used.
  11987. (setup): Don't handle prefix at all; let grub-mkimage take care of it.
  11988. If grub-mkimage has set `*install_dos_part == -2', don't override this
  11989. value.
  11990. Perform *install_dos_part adjustments independently on whether
  11991. we're embedding or not.
  11992. Clarify error message when image is too big for embedding.
  11993. Remove duplicate *install_dos_part stanza.
  11994. 2008-06-17 Robert Millan <rmh@aybabtu.com>
  11995. * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
  11996. (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
  11997. variables.
  11998. (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
  11999. values in grub_ofconsole_normal_color and
  12000. grub_ofconsole_highlight_color (they're not directly related to
  12001. background and foreground).
  12002. (grub_ofconsole_setcolorstate): Extract background and foreground
  12003. from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
  12004. 2008-06-17 Robert Millan <rmh@aybabtu.com>
  12005. * util/update-grub_lib.in (prepare_grub_to_access_device): Use
  12006. /boot/grub for the check in last commit, not /boot (they could be
  12007. different partitions).
  12008. 2008-06-16 Robert Millan <rmh@aybabtu.com>
  12009. * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
  12010. asked to setup access for the same partition that provides /boot,
  12011. don't bother using UUIDs since our root already has the value we
  12012. want.
  12013. 2008-06-16 Robert Millan <rmh@aybabtu.com>
  12014. * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
  12015. I2O devices.
  12016. Patch from Sven Mueller <sven@debian.org>.
  12017. 2008-06-16 Robert Millan <rmh@aybabtu.com>
  12018. * util/update-grub.in: Check for $EUID instead of $UID.
  12019. Reported by Vincent Zweije.
  12020. 2008-06-16 Bean <bean123ch@gmail.com>
  12021. * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
  12022. (grub_ext2_read_block): Likewise.
  12023. (grub_ext2_read_inode): Likewise.
  12024. (grub_ext2_mount): Likewise.
  12025. (grub_ext2_close): Likewise.
  12026. (grub_ext3_get_journal): Removed.
  12027. * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
  12028. (grub_reiserfs_read_symlink): Likewise.
  12029. (grub_reiserfs_mount): Likewise.
  12030. (grub_reiserfs_open): Likewise.
  12031. (grub_reiserfs_read): Likewise.
  12032. (grub_reiserfs_close): Likewise.
  12033. (grub_reiserfs_get_journal): Removed.
  12034. * fs/fshelp.c (grub_fshelp_read): Removed.
  12035. (grub_fshelp_map_block): Likewise.
  12036. * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
  12037. (grub_fshelp_journal): Likewise.
  12038. (grub_fshelp_read): Likewise.
  12039. (grub_fshelp_map_block): Likewise.
  12040. 2008-06-16 Pavel Roskin <proski@gnu.org>
  12041. * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
  12042. floating point anymore.
  12043. * include/grub/powerpc/libgcc.h: Leave only necessary exports.
  12044. 2008-06-15 Pavel Roskin <proski@gnu.org>
  12045. * commands/ls.c (grub_ls_list_files): Use integer calculations
  12046. for human readable format, avoid floating point use.
  12047. * kern/misc.c (grub_ftoa): Remove.
  12048. (grub_vsprintf): Remove floating point support.
  12049. 2008-06-15 Robert Millan <rmh@aybabtu.com>
  12050. * util/grub.d/10_linux.in: Use the underlying device for loop-AES
  12051. devices.
  12052. Reported by Max Vozeler.
  12053. 2008-06-15 Robert Millan <rmh@aybabtu.com>
  12054. * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
  12055. in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
  12056. skipped later.
  12057. (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
  12058. the beginning of the prefix.
  12059. * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
  12060. It is assumed that if we have a memdisk, grub-mkimage has set
  12061. grub_prefix to include the "(memdisk)" drive in it.
  12062. 2008-06-15 Robert Millan <rmh@aybabtu.com>
  12063. * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
  12064. Initialize keyboard controller after registering the terminal, so that
  12065. grub_printf() can be called from grub_keyboard_controller_init().
  12066. 2008-06-15 Robert Millan <rmh@aybabtu.com>
  12067. * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
  12068. extent-btree which is written as big endian on disk.
  12069. Reported by Alain Greppin <al@chilibi.org>.
  12070. 2008-06-14 Robert Millan <rmh@aybabtu.com>
  12071. * util/i386/efi/grub-install.in (modules): Remove `_chain'.
  12072. * util/i386/pc/grub-install.in (modules): Likewise.
  12073. 2008-06-13 Pavel Roskin <proski@gnu.org>
  12074. * commands/ls.c (grub_ls_list_files): Fix format warnings.
  12075. 2008-06-13 Bean <bean123ch@gmail.com>
  12076. * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
  12077. * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
  12078. * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
  12079. to indicate sparse block.
  12080. 2008-06-12 Pavel Roskin <proski@gnu.org>
  12081. * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
  12082. number, grub_fshelp_read() does it for us.
  12083. * fs/fshelp.c (grub_fshelp_read): New function. Implement
  12084. linear disk read with journal translation.
  12085. * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
  12086. * include/grub/fshelp.h: Declare grub_fshelp_read().
  12087. 2008-06-09 Pavel Roskin <proski@gnu.org>
  12088. * fs/minix.c (grub_minix_mount): Handle error reading
  12089. superblock.
  12090. 2008-06-08 Robert Millan <rmh@aybabtu.com>
  12091. * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
  12092. don't append the RAID prefix afterwards.
  12093. Reported by Clint Adams.
  12094. 2008-06-08 Robert Millan <rmh@aybabtu.com>
  12095. Based on description from Pavel:
  12096. * kern/disk.c (grub_disk_check_range): Rename to ...
  12097. (grub_disk_adjust_range): ... this. Add a comment explaining the
  12098. tasks performed by this function.
  12099. 2008-06-08 Robert Millan <rmh@aybabtu.com>
  12100. * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
  12101. `num_serial' (for consistency with other variables).
  12102. (struct grub_ntfs_data): Add `uuid' member.
  12103. * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
  12104. (grub_ntfs_uuid): New function.
  12105. (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
  12106. 2008-06-07 Pavel Roskin <proski@gnu.org>
  12107. * util/biosdisk.c (open_device): Revert last change to the
  12108. function, it broke installation. The sector needs to be
  12109. different dependent on which device is opened.
  12110. 2008-06-06 Robert Millan <rmh@aybabtu.com>
  12111. Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
  12112. rest of GRUB, and breakage doesn't happen if its value were modified.
  12113. * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
  12114. Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
  12115. a constant (same value).
  12116. * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
  12117. `GRUB_KERNEL_MACHINE_DATA_END' (same value).
  12118. 2008-06-06 Robert Millan <rmh@aybabtu.com>
  12119. * util/biosdisk.c (open_device): Do not modify sector offset when
  12120. accessing a partition. kern/disk.c already handles this for us.
  12121. 2008-06-06 Robert Millan <rmh@aybabtu.com>
  12122. * util/grub-emu.c (grub_machine_init): Move code in this function from
  12123. here ...
  12124. (main): ... to here (before grub_util_biosdisk_init() call, to prevent
  12125. segfault in case grub_printf() is called).
  12126. * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
  12127. grub_probe. Update all users not to explicitly add it again.
  12128. (grub_device): New variable; contains corresponding device for grubdir.
  12129. (fs_module, partmap_module, devabstraction_module): Pass
  12130. `--device ${grub_device}' to grub_probe to avoid traversing /dev
  12131. every time.
  12132. 2008-06-05 Robert Millan <rmh@aybabtu.com>
  12133. * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
  12134. is found, print it (same layout as with labels).
  12135. 2008-06-04 Robert Millan <rmh@aybabtu.com>
  12136. * util/biosdisk.c (get_drive): Rename to ...
  12137. (find_grub_drive): ... this. Update all users.
  12138. (get_os_disk): Rename to ...
  12139. (convert_system_partition_to_system_disk): ... this. Update all users.
  12140. (find_drive): Rename to ...
  12141. (find_system_device): ... this. Update all users.
  12142. 2008-06-04 Robert Millan <rmh@aybabtu.com>
  12143. * util/biosdisk.c (get_os_disk): Handle IDA devices.
  12144. * util/grub-mkdevicemap.c (get_mmc_disk_name)
  12145. (make_device_map): Likewise.
  12146. 2008-06-01 Robert Millan <rmh@aybabtu.com>
  12147. * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
  12148. before dereferencing it.
  12149. * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
  12150. union with fat12/fat16-specific ones. Add some new fields, including
  12151. `num_serial' for both versions.
  12152. (struct grub_fat_data): Add `uuid' member.
  12153. (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
  12154. names. Initialize `data->uuid' using `num_serial'.
  12155. (grub_fat_uuid): New function.
  12156. (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
  12157. * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
  12158. (grub_reiserfs_uuid): New function.
  12159. (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
  12160. member.
  12161. * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
  12162. (grub_xfs_uuid): New function.
  12163. (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
  12164. 2008-06-01 Robert Millan <rmh@aybabtu.com>
  12165. * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
  12166. code that is backward compatible with pre-uuid search command.
  12167. 2008-05-31 Robert Millan <rmh@aybabtu.com>
  12168. * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
  12169. floppies after everything else, to ensure floppy drive isn't accessed
  12170. unnecessarily (patch from Bean).
  12171. 2008-05-31 Robert Millan <rmh@aybabtu.com>
  12172. * commands/search.c (search_label, search_fs_uuid, search_file): Do
  12173. not print device names when we were asked to set a variable.
  12174. 2008-05-31 Robert Millan <rmh@aybabtu.com>
  12175. * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
  12176. using "cursor-on" and "cursor-off" commands (understood at least by
  12177. the Open Firmware flavour on OLPC).
  12178. 2008-05-31 Michael Gorven <michael@gorven.za.net>
  12179. * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
  12180. on and off sequences.
  12181. 2008-05-31 Robert Millan <rmh@aybabtu.com>
  12182. * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
  12183. * util/update-grub.in: Likewise.
  12184. 2008-05-30 Pavel Roskin <proski@gnu.org>
  12185. * util/biosdisk.c (linux_find_partition): Simplify logic and
  12186. make the code more universal. Keep special processing for
  12187. devfs, but use a simple rule for all other devices. If the
  12188. device ends with a number, append 'p' and the partition number.
  12189. Otherwise, append only the partition number.
  12190. 2008-05-30 Robert Millan <rmh@aybabtu.com>
  12191. * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
  12192. * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
  12193. GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
  12194. the `root' parameter to Linux.
  12195. 2008-05-30 Robert Millan <rmh@aybabtu.com>
  12196. * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
  12197. * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
  12198. --fs_uuid with --fs-uuid.
  12199. * util/update-grub.in: Allow filesystem UUID probes to fail (since not
  12200. all filesystems support them).
  12201. 2008-05-30 Robert Millan <rmh@aybabtu.com>
  12202. * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
  12203. grub_printf() flags, since we're printing in units of 2 bytes.
  12204. 2008-05-30 Robert Millan <rmh@aybabtu.com>
  12205. * util/grub.d/00_header.in: Remove obsolete comment referencing
  12206. convert_system_path_to_grub_path().
  12207. * util/update-grub.in: Likewise.
  12208. * util/update-grub_lib.in (is_path_readable_by_grub): New function.
  12209. (convert_system_path_to_grub_path): Add a warning message explaining
  12210. that this function is deprecated. Rely on is_path_readable_by_grub()
  12211. for the readability checks.
  12212. (font_path): Use is_path_readable_by_grub() for the readability
  12213. check rather than convert_system_path_to_grub_path().
  12214. 2008-05-30 Robert Millan <rmh@aybabtu.com>
  12215. * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
  12216. * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
  12217. converting it first.
  12218. * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
  12219. grub.cfg for access to font file, and afterwards call it again to set
  12220. the root device.
  12221. 2008-05-30 Robert Millan <rmh@aybabtu.com>
  12222. * commands/search.c (options): Add --fs_uuid option.
  12223. (search_fs_uuid): New function.
  12224. (grub_cmd_search): Fix --set argument passing.
  12225. Use search_fs_uuid() when requested via --fs_uuid.
  12226. (grub_search_init): Update help message.
  12227. * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
  12228. and redeclare it as an array of 16-bit words.
  12229. (grub_ext2_uuid): New function.
  12230. (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
  12231. * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
  12232. * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
  12233. (GRUB_DEVICE_BOOT_UUID): New variables.
  12234. (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
  12235. * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
  12236. whenever possible.
  12237. * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
  12238. just assume `root' variable has the right value.
  12239. * util/grub.d/10_linux.in: Likewise.
  12240. * util/grub-probe.c (probe): Probe for filesystem UUID when requested
  12241. via PRINT_FS_UUID.
  12242. (main): Recognise `-t fs_uuid' argument.
  12243. 2008-05-30 Robert Millan <rmh@aybabtu.com>
  12244. * util/biosdisk.c (map): Redefine structure to hold information
  12245. about GRUB drive name.
  12246. (get_drive): Reimplement without assuming (and verifying) BIOS-like
  12247. drive names.
  12248. (call_hook): Remove.
  12249. (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
  12250. member. Assume drive has partitions.
  12251. (grub_util_biosdisk_open): Access device names via `.device' struct
  12252. member.
  12253. (open_device): Likewise.
  12254. (find_drive): Likewise.
  12255. (read_device_map): Adjust map[] usage to match the new struct
  12256. definition. Don't check for duplicates (still possible, but not cheap
  12257. anymore).
  12258. (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
  12259. (make_device_name): Remove assumption of BIOS-like drive names.
  12260. 2008-05-30 Pavel Roskin <proski@gnu.org>
  12261. * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
  12262. compiling execute.c doesn't need grub_script.tab.h anymore.
  12263. (normal/command.c_DEPENDENCIES): Likewise.
  12264. (normal/function.c_DEPENDENCIES): Likewise.
  12265. * conf/i386-ieee1275.rmk: Likewise.
  12266. * conf/i386-linuxbios.rmk: Likewise.
  12267. * conf/i386-pc.rmk: Likewise.
  12268. * conf/powerpc-ieee1275.rmk: Likewise.
  12269. * conf/sparc64-ieee1275.rmk: Likewise.
  12270. 2008-05-29 Pavel Roskin <proski@gnu.org>
  12271. * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
  12272. when scanning metadata for volume group name.
  12273. * include/grub/script.h: Don't include grub_script.tab.h. It's
  12274. a generated file, which may only be included from the files with
  12275. DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
  12276. use union YYSTYPE, as the later allows forward declaration.
  12277. * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
  12278. 2008-05-29 Robert Millan <rmh@aybabtu.com>
  12279. * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
  12280. (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
  12281. [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
  12282. (grub_console_checkkey): Add grub_dprintf() call to report unknown
  12283. scan codes.
  12284. 2008-05-29 Robert Millan <rmh@aybabtu.com>
  12285. * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
  12286. control key combinations.
  12287. 2008-05-29 Robert Millan <rmh@aybabtu.com>
  12288. * util/powerpc/ieee1275/grub-install.in: Move from here ...
  12289. * util/ieee1275/grub-install.in: ... to here.
  12290. * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
  12291. * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
  12292. (grub_install_SOURCES): Likewise.
  12293. 2008-05-29 Robert Millan <rmh@aybabtu.com>
  12294. * fs/affs.c: Update copyright year.
  12295. * fs/ext2.c: Likewise.
  12296. * fs/fshelp.c: Likewise.
  12297. * fs/hfsplus.c: Likewise.
  12298. * fs/ntfs.c: Likewise.
  12299. * fs/xfs.c: Likewise.
  12300. * include/grub/fshelp.h: Likewise.
  12301. * util/grub-mkdevicemap.c: Likewise.
  12302. 2008-05-28 Robert Millan <rmh@aybabtu.com>
  12303. * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
  12304. might need to be fatfs to support some firmware implementations
  12305. (e.g. OFW or EFI).
  12306. 2008-05-28 Robert Millan <rmh@aybabtu.com>
  12307. * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
  12308. devices.
  12309. * util/grub-mkdevicemap.c (get_mmc_disk_name)
  12310. (make_device_map): Likewise.
  12311. 2008-05-20 Bean <bean123ch@gmail.com>
  12312. * fs/fshelp.c (grub_fshelp_map_block): New function.
  12313. (grub_fshelp_find_file): Use 64-bit type for pos and block address.
  12314. Use `>>' and `&' operator to avoid 64-bit divide and modulo.
  12315. * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
  12316. (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
  12317. (grub_fshelp_journal): New structure.
  12318. (grub_fshelp_map_block): New function prototype.
  12319. (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
  12320. (grub_fshelp_map_block): Likewise.
  12321. * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
  12322. (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
  12323. (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
  12324. (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
  12325. (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
  12326. (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
  12327. (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
  12328. (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
  12329. (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
  12330. (EXT3_JOURNAL_FLAG_DELETED): Likewise.
  12331. (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
  12332. (grub_ext2_sblock): New members for journal support.
  12333. (grub_ext3_journal_header): New structure.
  12334. (grub_ext3_journal_revoke_header): Likewise.
  12335. (grub_ext3_journal_block_tag): Likewise.
  12336. (grub_ext3_journal_sblock): Likewise.
  12337. (grub_fshelp_node): New members logfile and journal.
  12338. (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
  12339. grub_fshelp_map_block to get real block number.
  12340. (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
  12341. number.
  12342. (grub_ext2_read_inode): Likewise.
  12343. (grub_ext3_get_journal): New function.
  12344. (grub_read_inode): Initialize journal using grub_ext3_get_journal.
  12345. (grub_ext2_close): Release memory used by journal.
  12346. * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
  12347. (REISERFS_MAGIC_DESC_BLOCK): New macro.
  12348. (grub_reiserfs_transaction_header): Renamed to
  12349. grub_reiserfs_description_block, replace field data with real_blocks.
  12350. (grub_reiserfs_commit_block): New structure.
  12351. (grub_reiserfs_data): New member journal.
  12352. (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
  12353. number.
  12354. (grub_reiserfs_read_symlink): Likewise.
  12355. (grub_reiserfs_iterate_dir): Likewise.
  12356. (grub_reiserfs_open): Likewise.
  12357. (grub_reiserfs_read): Likewise.
  12358. (grub_reiserfs_get_journal): New function.
  12359. (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
  12360. three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
  12361. using grub_reiserfs_get_journal.
  12362. (grub_reiserfs_close): Release memory used by journal.
  12363. * fs/affs.c (grub_affs_read_block): Change block type to
  12364. grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
  12365. * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
  12366. * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
  12367. * fs/ntfs.c (grub_ntfs_read_block): Likewise.
  12368. * fs/udf.c (grub_udf_read_block): Change block type to
  12369. grub_disk_addr_t. Use type cast to avoid warning.
  12370. * fs/xfs.c (grub_xfs_read_block): Likewise.
  12371. 2008-05-16 Christian Franke <franke@computer.org>
  12372. * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
  12373. to ensure that break with ESC will always work.
  12374. * commands/sleep.c (grub_interruptible_millisleep): Likewise.
  12375. Remove ESC from keyboard queue.
  12376. 2008-05-16 Christian Franke <franke@computer.org>
  12377. * util/biosdisk.c: [__CYGWIN__] Add includes.
  12378. (grub_util_biosdisk_open): Use Linux code also for Cygwin.
  12379. (get_os_disk): Move variable declarations to OS specific
  12380. parts to avoid warning.
  12381. [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
  12382. [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
  12383. (grub_util_biosdisk_get_grub_dev): Use Linux code also for
  12384. Cygwin.
  12385. * util/getroot.c: [__CYGWIN__] Add includes.
  12386. (strip_extra_slashes): Fix "/" case.
  12387. [__CYGWIN__] (get_win32_path): New function.
  12388. [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
  12389. [__CYGWIN__] (find_root_device): Disable.
  12390. [__CYGWIN__] (get_bootsec_serial): New function.
  12391. [__CYGWIN__] (find_cygwin_root_device): Likewise.
  12392. [__linux__] (grub_guess_root_device): Add early returns to simplify
  12393. structure.
  12394. [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
  12395. [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
  12396. check for Linux only.
  12397. 2008-05-15 Bean <bean123ch@gmail.com>
  12398. * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
  12399. keyboard hang problem in apple's intel mac.
  12400. 2008-05-09 Robert Millan <rmh@aybabtu.com>
  12401. * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
  12402. devices.
  12403. * util/grub-mkdevicemap.c (get_virtio_disk_name)
  12404. (make_device_map): Likewise.
  12405. Reported by Aurelien Jarno <aurel32@debian.org>
  12406. 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
  12407. * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
  12408. * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
  12409. (make_device_map): Output entries for xvd type disks.
  12410. 2008-05-07 Robert Millan <rmh@aybabtu.com>
  12411. * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
  12412. devices.
  12413. * util/grub-mkdevicemap.c (get_cciss_disk_name)
  12414. (make_device_map): Likewise.
  12415. Reported by Roland Dreier <rdreier@cisco.com>
  12416. 2008-05-07 Robert Millan <rmh@aybabtu.com>
  12417. * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
  12418. grub_strstr() call. Correct a few mistakes in failure path handling.
  12419. 2008-05-06 Robert Millan <rmh@aybabtu.com>
  12420. * util/update-grub_lib.in (make_system_path_relative_to_its_root):
  12421. Do not print a trailing slash (therefore, the root directory is an
  12422. empty string).
  12423. (convert_system_path_to_grub_path): Do not remove trailing slash
  12424. from make_system_path_relative_to_its_root() output.
  12425. * util/i386/pc/grub-install.in: Add trailing slash to output from
  12426. make_system_path_relative_to_its_root().
  12427. 2008-05-06 Robert Millan <rmh@aybabtu.com>
  12428. * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
  12429. ensures that output lines aren't intermangled with those sent to
  12430. stderr (via grub_util_info()).
  12431. * util/grub-probe.c (grub_refresh): Likewise.
  12432. * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
  12433. 2008-05-05 Christian Franke <franke@computer.org>
  12434. * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
  12435. Add Cygwin device names.
  12436. (get_ide_disk_name) [__CYGWIN__]: Likewise.
  12437. (get_scsi_disk_name) [__CYGWIN__]: Likewise.
  12438. (check_device): Return error instead of success on empty name.
  12439. (make_device_map): Move label inside linux specific code to
  12440. prevent compiler warning.
  12441. 2008-04-30 Robert Millan <rmh@aybabtu.com>
  12442. Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
  12443. * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
  12444. first boot option.
  12445. * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
  12446. 2008-04-29 Robert Millan <rmh@aybabtu.com>
  12447. * docs/grub.cfg: New file (example GRUB configuration).
  12448. 2008-04-26 Robert Millan <rmh@aybabtu.com>
  12449. * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
  12450. `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
  12451. and `disk/ieee1275/nand.c'.
  12452. 2008-04-25 Bean <bean123ch@gmail.com>
  12453. * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
  12454. i386-linuxbios.
  12455. * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
  12456. change the buffer size to 4096 for cdrom device.
  12457. * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
  12458. and nand.mod.
  12459. (_linux_mod_SOURCES): New variable.
  12460. (_linux_mod_CFLAGS): Likewise.
  12461. (_linux_mod_LDFLAGS): Likewise.
  12462. (linux_mod_SOURCES): Likewise.
  12463. (linux_mod_CFLAGS): Likewise.
  12464. (linux_mod_LDFLAGS): Likewise.
  12465. (nand_mod_SOURCES): Likewise.
  12466. (nand_mod_CFLAGS): Likewise.
  12467. (nand_mod_LDFLAGS): Likewise.
  12468. * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
  12469. GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
  12470. type property. (nand device in olpc don't have this property)
  12471. * include/grub/disk.h (grub_disk_dev_id): New macro
  12472. GRUB_DISK_DEVICE_NAND_ID.
  12473. * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
  12474. function prototype.
  12475. (grub_rescue_cmd_initrd): Likewise.
  12476. * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
  12477. (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
  12478. ofw_cif_handler and ofw_idt, adjust padding number.
  12479. * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
  12480. GRUB_MACHINE_IEEE1275 is defined.
  12481. * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
  12482. Use NESTED_FUNC_ATTR attribute on the hook parameter.
  12483. * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
  12484. on nested function heap_init.
  12485. (grub_upper_mem): New variable for i386-ieee1275.
  12486. (grub_get_extended_memory): New function for i386-ieee1275.
  12487. (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
  12488. * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
  12489. NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
  12490. property.
  12491. * loader/i386/ieee1275/linux.c: New file.
  12492. * loader/i386/ieee1275/linux_normal.c: New file.
  12493. * disk/ieee1275/nand.c: New file.
  12494. 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
  12495. * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
  12496. value.
  12497. * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
  12498. 2008-04-18 Robert Millan <rmh@aybabtu.com>
  12499. Restructures early code path on ieee1275 to unify grub_main() as
  12500. the first C function that is executed in every platform.
  12501. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
  12502. * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
  12503. cmain().
  12504. * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
  12505. * kern/ieee1275/cmain.c (cmain): Rename to ...
  12506. * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
  12507. * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
  12508. at the beginning.
  12509. 2008-04-18 Robert Millan <rmh@aybabtu.com>
  12510. * util/update-grub.in: Fix syntax error when setting
  12511. `GRUB_PRELOAD_MODULES'.
  12512. Reported by Stephane Chazelas <stephane@artesyncp.com>
  12513. 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
  12514. * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
  12515. section into account, newer toolchains generate unique build ids
  12516. * configure.ac: remove the test for --build-id=none acceptance,
  12517. we want build ids to be preserved
  12518. * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
  12519. far from other sections don't cause the raw binary images grow
  12520. size
  12521. 2008-04-15 Robert Millan <rmh@aybabtu.com>
  12522. * disk/lvm.c: Update copyright year.
  12523. * kern/misc.c: Likewise.
  12524. 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
  12525. * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
  12526. there is no memory left for physical volume name.
  12527. 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
  12528. * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
  12529. volume name mapping to support bigger than 9 character names properly.
  12530. 2008-04-13 Robert Millan <rmh@aybabtu.com>
  12531. * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
  12532. as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
  12533. 2008-04-13 Christian Franke <franke@computer.org>
  12534. * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
  12535. to create a floppy emulation boot CD when non emulation mode
  12536. does not work.
  12537. Enable Joliet CD filesystem extension.
  12538. 2008-04-13 Robert Millan <rmh@aybabtu.com>
  12539. * kern/misc.c (grub_strncat): Fix off-by-one error.
  12540. Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
  12541. * kern/env.c (grub_env_context_close): Clear current context, not
  12542. previous one.
  12543. Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
  12544. * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
  12545. 2008-04-13 Robert Millan <rmh@aybabtu.com>
  12546. Improve robustness when handling LVM.
  12547. * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
  12548. (and leave `*p' unmodified).
  12549. (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
  12550. through it.
  12551. (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
  12552. iterating through it.
  12553. (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
  12554. through it.
  12555. (grub_lvm_scan_device): Check the return value (and fail gracefully
  12556. when due) on each grub_lvm_getvalue() or grub_strstr() call.
  12557. Don't assume `vg->pvs != NULL' when iterating through it.
  12558. 2008-04-13 Robert Millan <rmh@aybabtu.com>
  12559. * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
  12560. * genmk.rb (partmap): New variable.
  12561. (CLEANFILES, PARTMAPFILES): Add #{partmap}.
  12562. (#{partmap}): New target rule.
  12563. * genpartmaplist.sh: New file.
  12564. * Makefile.in (pkglib_DATA): Add partmap.lst.
  12565. (partmap.lst): New target rule.
  12566. * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
  12567. modules (including all partition maps), instead of preloading them.
  12568. 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
  12569. * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
  12570. `linux-boot-prober' (if installed) to detect other operating
  12571. systems which are installed on the computer and add them to
  12572. the boot menu.
  12573. * conf/common.rmk: Build and install 30_os-prober.
  12574. 2008-04-12 Robert Millan <rmh@aybabtu.com>
  12575. * kern/powerpc/ieee1275/init.c: Move from here ...
  12576. * kern/ieee1275/init.c: ... to here. Update all users.
  12577. * kern/powerpc/ieee1275/cmain.c: Move from here ...
  12578. * kern/ieee1275/cmain.c: ... to here. Update all users.
  12579. * kern/powerpc/ieee1275/openfw.c: Move from here ...
  12580. * kern/ieee1275/openfw.c: ... to here. Update all users.
  12581. * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
  12582. * loader/ieee1275/multiboot2.c: ... to here. Update all users.
  12583. 2008-04-10 Pavel Roskin <proski@gnu.org>
  12584. * configure.ac: Always use "_cv_" in cache variables for
  12585. compatibility with Autoconf 2.62.
  12586. 2008-04-07 Robert Millan <rmh@aybabtu.com>
  12587. Revert grub/machine/init.h addition by Pavel (since it breaks on
  12588. i386-ieee1275 and others):
  12589. * util/i386/pc/misc.c: Remove grub/machine/init.h.
  12590. * util/powerpc/ieee1275/misc.c: Likewise.
  12591. 2008-04-07 Robert Millan <rmh@aybabtu.com>
  12592. * util/grub-probe.c (probe): Improve error message.
  12593. 2008-04-07 Robert Millan <rmh@aybabtu.com>
  12594. * util/biosdisk.c (read_device_map): Skip devices that don't exist
  12595. (this prevents the presence of a bogus entry from ruining the whole
  12596. thing).
  12597. 2008-04-06 Pavel Roskin <proski@gnu.org>
  12598. * util/biosdisk.c: Include grub/util/biosdisk.h.
  12599. * util/grub-fstest.c (execute_command): Make static.
  12600. * util/grub-mkdevicemap.c (check_device): Likewise.
  12601. * util/i386/pc/misc.c: Include grub/machine/init.h.
  12602. * util/powerpc/ieee1275/misc.c: Likewise.
  12603. * util/lvm.c: Include grub/util/lvm.h.
  12604. * util/misc.c: Include grub/kernel.h, grub/misc.h and
  12605. grub/cache.h.
  12606. * util/raid.c: Include grub/util/raid.h.
  12607. (grub_util_getdiskname): Make static.
  12608. * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
  12609. grub_hostfs_fini(), as they are called from grub_init_all() and
  12610. grub_fini_all() respectively. This fixes an infinite loop in
  12611. grub-fstest due to double registration of hostfs.
  12612. Reported by Christian Franke <Christian.Franke@t-online.de>
  12613. 2008-04-05 Pavel Roskin <proski@gnu.org>
  12614. * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
  12615. all 8 functions. Otherwise, probe function 0 only.
  12616. 2008-04-04 Pavel Roskin <proski@gnu.org>
  12617. * commands/lspci.c (grub_lspci_iter): Print the bus number
  12618. correctly.
  12619. * commands/lspci.c (grub_pci_classes): Fix typos.
  12620. (grub_lspci_iter): Don't print func twice. Print vendor ID
  12621. before device ID, as it's normally done.
  12622. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
  12623. Fix signedness warnings.
  12624. * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
  12625. Likewise.
  12626. * util/ieee1275/get_disk_name.c: Include config.h so that
  12627. _GNU_SOURCE is defined and getline() is declared. Mark an
  12628. unused argument as such. Fix a signedness warning.
  12629. 2008-04-02 Pavel Roskin <proski@gnu.org>
  12630. * genkernsyms.sh.in: Use more robust assignments for CC and
  12631. srcdir. Quote srcdir.
  12632. * gensymlist.sh.in: Likewise. Assert at the compile time that
  12633. the symbol table is not empty.
  12634. * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
  12635. * fs/cpio.c (grub_cpio_read): Likewise.
  12636. 2008-04-01 Pavel Roskin <proski@gnu.org>
  12637. * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
  12638. * disk/host.c (grub_host_open): Likewise.
  12639. * disk/loopback.c (grub_loopback_open): Likewise.
  12640. * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
  12641. disk->id as in disk/host.c, not a multi-character constant.
  12642. * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
  12643. later is obsolete, potentially dangerous and sets a bad example.
  12644. * util/i386/efi/grub-mkimage.c (make_header): Likewise.
  12645. * util/misc.c (grub_util_get_image_size): Likewise.
  12646. * disk/loopback.c (options): Improve help for "--partitions".
  12647. * normal/arg.c (grub_arg_show_help): Fix spacing of the long
  12648. options to align them with the short options, e.g. "echo -e".
  12649. 2008-03-31 Bean <bean123ch@gmail.com>
  12650. * video/reader/png.c (grub_png_data): New member is_16bit and
  12651. image_data.
  12652. (grub_png_decode_image_header): Detect 16 bit png image.
  12653. (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
  12654. (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
  12655. (grub_video_reader_png): Release memory occupied by image_data.
  12656. * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
  12657. 4096 bytes.
  12658. (grub_nfs_mount): Skip the test for sector per cluster.
  12659. * include/grub/ntfs.h (MAX_SPC): Removed.
  12660. 2008-03-31 Bean <bean123ch@gmail.com>
  12661. * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
  12662. (grub_probe_SOURCES): Add fs/afs.c.
  12663. (grub_fstest_SOURCES): Likewise.
  12664. (afs_mod_SOURCES): New variable.
  12665. (afs_mod_CFLAGS): Likewise.
  12666. (afs_mod_LDFLAGS): Likewise.
  12667. * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
  12668. (grub_emu_SOURCES): Likewise.
  12669. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  12670. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  12671. * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
  12672. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  12673. * fs/afs.c: New file.
  12674. 2008-03-30 Pavel Roskin <proski@gnu.org>
  12675. * disk/host.c: Include grub/misc.h to fix a warning.
  12676. * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
  12677. warnings about implicit declarations.
  12678. * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
  12679. variable.
  12680. * include/grub/i386/loader.h: Change declaration of
  12681. grub_linux_boot() to match what grub_loader_set() expects.
  12682. * util/getroot.c (grub_guess_root_device): Return const char* to
  12683. fix a warning.
  12684. * util/grub-probe.c (probe): Fix a warning about uninitialized
  12685. abstraction_name variable.
  12686. * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
  12687. second argument as unused to fix a warning.
  12688. * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
  12689. missing grub_error() call.
  12690. * util/update-grub_lib.in: Define datarootdir, since Autoconf
  12691. 2.60 and newer uses it to define datadir.
  12692. * commands/sleep.c: Fix warning about implicit declaration.
  12693. * disk/memdisk.c: Likewise.
  12694. * loader/aout.c: Likewise.
  12695. * loader/i386/bsd_normal.c: Likewise.
  12696. * util/grub-probe.c: Likewise.
  12697. * commands/i386/cpuid.c (has_longmode): Make static.
  12698. * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
  12699. * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
  12700. * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
  12701. GDT. This is more robust, as %ds can change.
  12702. (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
  12703. calling real_to_prot().
  12704. (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
  12705. 2008-03-28 Pavel Roskin <proski@gnu.org>
  12706. * kern/i386/pc/startup.S: Assert that uncompressed functions
  12707. don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
  12708. * kern/i386/pc/lzo1x.S: Remove all .align directives in the
  12709. code, as they push parts of the code (error handlers) beyond
  12710. GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
  12711. code as correctness and size.
  12712. 2008-03-28 Pavel Roskin <proski@gnu.org>
  12713. * kern/i386/pc/startup.S
  12714. (grub_biosdisk_get_diskinfo_int13_extensions): When converting
  12715. data block address to the real mode, keep offset minimal. This
  12716. works around a bug in AWARD BIOS on old Athlon systems, which
  12717. makes CD detection hang.
  12718. 2008-03-26 Pavel Roskin <proski@gnu.org>
  12719. * normal/color.c (grub_parse_color_name_pair): Make `name' a
  12720. const.
  12721. * include/grub/normal.h: Add grub_parse_color_name_pair()
  12722. declaration.
  12723. 2008-03-24 Bean <bean123ch@gmail.com>
  12724. * disk/i386/pc/biosdisk.c (cd_start): Removed.
  12725. (cd_count): Removed.
  12726. (cd_drive): New variable.
  12727. (grub_biosdisk_get_drive): Don't check for (cdN) device.
  12728. (grub_biosdisk_call_hook): Likewise.
  12729. (grub_biosdisk_iterate): Change cdrom detection method.
  12730. (grub_biosdisk_open): Replace cd_start with cd_drive.
  12731. (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
  12732. detect cdrom device.
  12733. * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
  12734. Removed.
  12735. (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
  12736. (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
  12737. (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
  12738. (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
  12739. (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
  12740. (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
  12741. (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
  12742. (grub_biosdisk_cdrp): New structure.
  12743. (grub_biosdisk_get_cdinfo_int13_extensions): New function.
  12744. * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
  12745. * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
  12746. device.
  12747. * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
  12748. New function.
  12749. 2008-03-20 Robert Millan <rmh@aybabtu.com>
  12750. Remove 2 TiB limit in ata.mod.
  12751. * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
  12752. (grub_ata_dumpinfo): Print sector count with 0x%llx.
  12753. (grub_ata_identify): Interpret `&info16[100]' as a pointer to
  12754. grub_uint64_t instead of grub_uint32_t.
  12755. 2008-03-05 Bean <bean123ch@gmail.com>
  12756. * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
  12757. (grub_multiboot): Set boot device.
  12758. * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
  12759. 2008-03-02 Bean <bean123ch@gmail.com>
  12760. * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
  12761. symlink_buffer.
  12762. 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
  12763. * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
  12764. texinfo.tex.
  12765. * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
  12766. modified.
  12767. * docs/fdl.texi: New file.
  12768. * docs/mdate-sh: New file. Copied from gnulib.
  12769. * docs/texinfo.tex: Likewise.
  12770. * config.guess: Updated from gnulib.
  12771. * install-sh: Likewise.
  12772. 2008-02-28 Robert Millan <rmh@aybabtu.com>
  12773. * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
  12774. (aout_mod_SOURCES): New variable.
  12775. (aout_mod_CFLAGS): Likewise.
  12776. (aout_mod_LDFLAGS): Likewise.
  12777. * conf/i386-ieee1275.rmk: Likewise.
  12778. 2008-02-28 Robert Millan <rmh@aybabtu.com>
  12779. * util/update-grub.in: Reorganise terminal validity check. Accept
  12780. `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
  12781. Based on suggestion by Franklin PIAT.
  12782. 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
  12783. * include/grub/util/getroot.h (grub_util_check_block_device): Export new
  12784. function.
  12785. * util/getroot.c (grub_util_check_block_device): New function that
  12786. returns the given argument if it is a block device and returns NULL else.
  12787. * util/grub-probe.c (argument_is_device): New variable.
  12788. (probe): Promote device_name from a variable to an argument. Receive
  12789. device_name from grub_util_check_block_device() if path is NULL and from
  12790. grub_guess_root_device() else. Do not free() device_name anymore.
  12791. (options): Introduce new parameter '-d, --device'.
  12792. (main): Add description of the new parameter to the help screen.
  12793. Rename path variable to argument. Set argument_is_device if the '-d'
  12794. option is given. Pass argument to probe() depending on
  12795. argument_is_device.
  12796. 2008-02-24 Bean <bean123ch@gmail.com>
  12797. * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
  12798. (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
  12799. (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
  12800. (GRUB_ISO9660_VOLDESC_PART): Likewise.
  12801. (GRUB_ISO9660_VOLDESC_END): Likewise.
  12802. (grub_iso9660_primary_voldesc): New member escape.
  12803. (grub_iso9660_data): New member joliet.
  12804. (grub_iso9660_convert_string): New function.
  12805. (grub_iso9660_mount): Detect joliet extension.
  12806. (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
  12807. (grub_iso9660_iso9660_label): Likewise.
  12808. * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
  12809. (grub_setup_SOURCES): Add fs/udf.c.
  12810. (grub_fstest_SOURCES): Likewise.
  12811. (udf_mod_SOURCES): New variable.
  12812. (udf_mod_CFLAGS): Likewise.
  12813. (udf_mod_LDFLAGS): Likewise.
  12814. * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
  12815. (grub_emu_SOURCES): Likewise.
  12816. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  12817. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  12818. * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
  12819. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  12820. * fs/udf.c: New file.
  12821. 2008-02-24 Robert Millan <rmh@aybabtu.com>
  12822. * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
  12823. (normal/lexer.c_DEPENDENCIES): New variables.
  12824. * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
  12825. (normal/lexer.c_DEPENDENCIES): Likewise.
  12826. * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
  12827. (normal/lexer.c_DEPENDENCIES): Likewise.
  12828. * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
  12829. (normal/lexer.c_DEPENDENCIES): Likewise.
  12830. * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
  12831. (normal/lexer.c_DEPENDENCIES): Likewise.
  12832. * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
  12833. (normal/lexer.c_DEPENDENCIES): Likewise.
  12834. 2008-02-23 Robert Millan <rmh@aybabtu.com>
  12835. * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
  12836. since they were intended to be in hex. This didn't break previously
  12837. because of a bug in gpt_partition_map_iterate() (see below).
  12838. (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
  12839. when checking the validity of GPT header.
  12840. Remove `partno', since it always provides the same information as `i'.
  12841. 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
  12842. * include/grub/efi/time.h: Fix a wrong comment.
  12843. 2008-02-19 Pavel Roskin <proski@gnu.org>
  12844. * kern/rescue.c (grub_enter_rescue_mode): Improve initial
  12845. message.
  12846. 2008-02-19 Bean <bean123ch@gmail.com>
  12847. * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
  12848. (aout_mod_SOURCES): New variable.
  12849. (aout_mod_CFLAGS): Likewise.
  12850. (aout_mod_LDFLAGS): Likewise.
  12851. (_bsd_mod_SOURCES): New variable.
  12852. (_bsd_mod_CFLAGS): Likewise.
  12853. (_bsd_mod_LDFLAGS): Likewise.
  12854. (bsd_mod_SOURCES): New variable.
  12855. (bsd_mod_CFLAGS): Likewise.
  12856. (bsd_mod_LDFLAGS): Likewise.
  12857. * include/grub/aout.h: New file.
  12858. * include/grub/i386/loader.h (grub_unix_real_boot): New function.
  12859. * include/grub/i386/bsd.h: New file.
  12860. * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
  12861. to make it public.
  12862. * kern/elf.c (grub_elf32_load): Get the physical address after the hook
  12863. function is called, so that it's possible to change it inside the hook.
  12864. (grub_elf64_load): Likewise.
  12865. (grub_elf_file): Don't close the file if elf header is not found.
  12866. (grub_elf_close): Close the file if grub_elf_file fails (The new
  12867. grub_elf_file won't close it).
  12868. (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
  12869. (grub_elf64_size): Likewise.
  12870. * kern/i386/loader.S (grub_unix_real_boot): New function.
  12871. * loader/aout.c: New file.
  12872. * loader/i386/bsd.c: New file.
  12873. * loader/i386/bsd_normal.c: New file.
  12874. * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
  12875. * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
  12876. can test other formats.
  12877. 2008-02-19 Robert Millan <rmh@aybabtu.com>
  12878. * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
  12879. (grub_gpt_partition_type_empty): Redefine with macro from
  12880. `<grub/gpt_partition.h>'.
  12881. (gpt_partition_map_iterate): Adjust partition type comparison.
  12882. Export `entry' as partmap-specific `part.data' struct.
  12883. (grub_gpt_header, grub_gpt_partentry): Move from here ...
  12884. * include/grub/gpt_partition.h (grub_gpt_header)
  12885. (grub_gpt_partentry): ... to here (new file).
  12886. * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
  12887. (grub_gpt_partition_type_bios_boot): New const variable, defined
  12888. with macro from `<grub/gpt_partition.h>'.
  12889. (setup): Replace `first_start' with `embed_region', which keeps
  12890. track of the embed region (and is partmap-agnostic).
  12891. Replace find_first_partition_start() with find_usable_region(),
  12892. which finds a usable region for embedding using partmap-specific
  12893. knowledge (supports PC/MSDOS and GPT).
  12894. Fix all assumptions that the embed region start at sector 1, using
  12895. `embed_region.start' from now on. Similarly, use `embed_region.end'
  12896. rather than `first_start' to calculate available size.
  12897. In grub_util_info() message, replace "into after the MBR" with an
  12898. indication of the specific sector our embed region starts at.
  12899. 2008-02-19 Robert Millan <rmh@aybabtu.com>
  12900. * DISTLIST: Replace `commands/ieee1275/halt.c' and
  12901. `commands/ieee1275/reboot.c' with `commands/halt.c' and
  12902. `commands/reboot.c'.
  12903. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
  12904. (halt_mod_SOURCES): Likewise.
  12905. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
  12906. (halt_mod_SOURCES): Likewise.
  12907. 2008-02-17 Christian Franke <franke@computer.org>
  12908. * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
  12909. 2008-02-17 Robert Millan <rmh@aybabtu.com>
  12910. * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
  12911. set `first_start' to 0 for non-PC/MSDOS partition maps.
  12912. 2008-02-16 Robert Millan <rmh@aybabtu.com>
  12913. * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
  12914. do not assume partition map is PC/MSDOS before performing checks that
  12915. are specific to that layout.
  12916. 2008-02-13 Robert Millan <rmh@aybabtu.com>
  12917. * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
  12918. `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
  12919. * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
  12920. 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
  12921. * configure.ac: Only a cosmetic change on the handling of
  12922. -fno-stack-protector.
  12923. 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
  12924. * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
  12925. commands/i386/pc/halt.c and reboot.c by commands/halt.c and
  12926. reboot.c.
  12927. (grub_install_SOURCES): Add halt.mod and reboot.mod.
  12928. (halt_mod_SOURCES): New variable.
  12929. (halt_mod_CFLAGS): Likewise.
  12930. (halt_mod_LDFLAGS): Likewise.
  12931. (reboot_mod_SOURCES): Likewise.
  12932. (reboot_mod_CFLAGS): Likewise.
  12933. (reboot_mod_LDFLAGS): Likewise.
  12934. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
  12935. commands/ieee1275/halt.c and reboot.c by commands/halt.c and
  12936. reboot.c.
  12937. (halt_mod_SOURCES): Likewise.
  12938. (reboot_mod_SOURCES): Likewise.
  12939. * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
  12940. commands/i386/pc/reboot.c by commands/reboot.c.
  12941. (reboot_mod_SOURCES): Likewise.
  12942. * commands/i386/pc/reboot.c: merge this file ...
  12943. * commands/ieee1275/reboot.c: ... and this file ...
  12944. * commands/reboot.c: ... to this file.
  12945. Add some precompiler directive to include the correct header for
  12946. each machine.
  12947. * commands/ieee1275/halt.c: move this file ...
  12948. * commands/halt.c: ... to here.
  12949. Add some precompiler directive to include the correct header for
  12950. each machine.
  12951. * include/grub/efi/efi.h (grub_reboot): New function declaration.
  12952. (grub_halt): Likewise.
  12953. * kern/efi/efi.c (grub_reboot): New function.
  12954. (grub_halt): Likewise.
  12955. 2008-02-12 Robert Millan <rmh@aybabtu.com>
  12956. * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
  12957. /dev (like it is done for /dev/mapper). This doesn't provide support
  12958. for EVMS, but at least it is now easy to identify the problem when it
  12959. arises.
  12960. 2008-02-11 Robert Millan <rmh@aybabtu.com>
  12961. * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
  12962. (grub_util_biosdisk_get_grub_dev): Check open() exit status by
  12963. comparing it with -1, not 0.
  12964. 2008-02-10 Robert Millan <rmh@aybabtu.com>
  12965. * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
  12966. `disk/lvm.c'.
  12967. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  12968. * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
  12969. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
  12970. `disk/lvm.c' to the end of the list.
  12971. * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
  12972. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  12973. 2008-02-10 Robert Millan <rmh@aybabtu.com>
  12974. * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
  12975. grub_print_error() instead. This will let user know why we're entering
  12976. rescue mode.
  12977. Based on suggestions from Sam Morris.
  12978. 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
  12979. * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
  12980. on remaining N args, instead of "--" arg N times.
  12981. 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
  12982. * font/manager.c (unknown_glyph): Added variable for unknown glyph.
  12983. (fill_with_default_glyph): Changed to use unknown_glyph for fill
  12984. pattern for unknown glyphs.
  12985. 2008-02-09 Robert Millan <rmh@aybabtu.com>
  12986. * configure.ac: Probe for `help2man'.
  12987. * Makefile.in (builddir): New variable.
  12988. (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
  12989. or otherwise add a few flags/options to it.
  12990. (install-local): For every executable utility or script that is
  12991. installed, invoke $(HELP2MAN) to install a manpage based on --help
  12992. output.
  12993. * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
  12994. that it doesn't prevent --help from working in build tree.
  12995. * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
  12996. with `bug-grub@gnu.org'.
  12997. * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
  12998. * util/update-grub.in (usage): New function.
  12999. Implement proper argument check, with support for --help and --version
  13000. (as well as existing -y).
  13001. 2008-02-09 Christian Franke <franke@computer.org>
  13002. * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
  13003. avoid overwriting previous output.
  13004. * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
  13005. 2008-02-09 Robert Millan <rmh@aybabtu.com>
  13006. * normal/menu.c (run_menu): If timeout is set to zero, don't bother
  13007. drawing the menu.
  13008. 2008-02-09 Robert Millan <rmh@aybabtu.com>
  13009. * commands/sleep.c: New file.
  13010. * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
  13011. (sleep_mod_SOURCES): New variable.
  13012. (sleep_mod_CFLAGS): Likewise.
  13013. (sleep_mod_LDFLAGS): Likewise.
  13014. 2008-02-09 Robert Millan <rmh@aybabtu.com>
  13015. * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
  13016. situations in which we can deduce the RAID size and the superblock
  13017. doesn't match it.
  13018. 2008-02-09 Robert Millan <rmh@aybabtu.com>
  13019. * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
  13020. and return a grub_diskmemberlist_t composed of LVM physical volumes.
  13021. [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
  13022. * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
  13023. and return a grub_diskmemberlist_t composed of physical array members.
  13024. [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
  13025. * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
  13026. prototype.
  13027. [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
  13028. [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
  13029. [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
  13030. * util/grub-probe.c (probe): Move partmap probing code from here ...
  13031. (probe_partmap): ... to here.
  13032. (probe): Use probe_partmap() once for the disk we're probing, and
  13033. additionally, when such disk contains a memberlist() struct member,
  13034. once for each disk that is contained in the structure returned by
  13035. memberlist().
  13036. 2008-02-09 Robert Millan <rmh@aybabtu.com>
  13037. * util/grub-probe.c (main): When `verbosity > 1', set `debug'
  13038. environment variable to 'all' in order to obtain debug output from
  13039. non-util/ code.
  13040. * util/i386/pc/grub-setup.c (main): Likewise.
  13041. 2008-02-08 Robert Millan <rmh@aybabtu.com>
  13042. * disk/raid.c (grub_raid_scan_device): Check for
  13043. `array->device[sb.this_disk.number]' rather than for
  13044. `array->device[sb.this_disk.number]->name', since the latter is not
  13045. guaranteed to be accessible.
  13046. 2008-02-08 Robert Millan <rmh@aybabtu.com>
  13047. * disk/raid.c: Update copyright.
  13048. * fs/cpio.c: Likewise.
  13049. * include/grub/raid.h: Likewise.
  13050. * loader/i386/pc/multiboot.c: Likewise.
  13051. * util/hostfs.c: Likewise.
  13052. 2008-02-08 Robert Millan <rmh@aybabtu.com>
  13053. * include/grub/raid.h (struct grub_raid_array): Change type of `device'
  13054. to a grub_disk_t array.
  13055. * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
  13056. `device[x]'.
  13057. (grub_raid_scan_device): Replace `device[x].name' accesses with
  13058. `device[x]->name'. Simplify initialization of `array->device[x]'.
  13059. 2008-02-08 Robert Millan <rmh@aybabtu.com>
  13060. * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
  13061. grub_dprintf() calls.
  13062. * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
  13063. error message.
  13064. 2008-02-07 Christian Franke <franke@computer.org>
  13065. * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
  13066. instead of fseek and ftell to support large files.
  13067. (grub_hostfs_read): Likewise.
  13068. 2008-02-07 Robert Millan <rmh@aybabtu.com>
  13069. Patch from Jeroen Dekkers.
  13070. * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
  13071. failure, since successfully reading all array members might not be
  13072. required.
  13073. 2008-02-06 Robert Millan <rmh@aybabtu.com>
  13074. * util/grub-probe.c (probe): Simplify partmap probing (with the
  13075. assumption that the first word up to the underscore equals to
  13076. the module name).
  13077. 2008-02-06 Christian Franke <franke@computer.org>
  13078. * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
  13079. (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
  13080. last block of a cpio or tar stream.
  13081. Check for "TRAILER!!!" instead of any empty data
  13082. block to detect last block of a cpio stream.
  13083. (grub_cpio_dir): Fix constness of variable np.
  13084. (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
  13085. cpio or tar trailer is detected. This fixes a crash
  13086. on open of a non existing file.
  13087. 2008-02-05 Bean <bean123ch@gmail.com>
  13088. * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
  13089. address of entry.
  13090. (grub_multiboot_load_elf64): Likewise.
  13091. (grub_multiboot): Initialize mbi structure.
  13092. * util/grub-fstest.c: Don't include unused header file script.h.
  13093. * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
  13094. of file.
  13095. (grub_fstest_SOURCES): Likewise.
  13096. 2008-02-05 Robert Millan <rmh@aybabtu.com>
  13097. * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
  13098. (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
  13099. (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
  13100. (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
  13101. * kern/i386/pc/startup.S: Include `<grub/term.h>'.
  13102. (translation_table): Replace hardcoded values with macros
  13103. provided by `<grub/term.h>'.
  13104. * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
  13105. (keyboard_map): Correct/add a few values, with macros provided
  13106. by `<grub/term.h>'.
  13107. (keyboard_map_shift): Zero values that don't differ from their
  13108. `keyboard_map' equivalents.
  13109. (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
  13110. Discard the second scan code that is always sent by Caps lock.
  13111. Only use `keyboard_map_shift' when it provides a non-zero value,
  13112. otherwise fallback to `keyboard_map'.
  13113. 2008-02-04 Bean <bean123ch@gmail.com>
  13114. * Makefile.in (enable_grub_fstest): New variable.
  13115. * conf/common.rmk (grub_fstest_init.lst): New rule.
  13116. (grub_fstest_init.h): Likewise.
  13117. (grub_fstest_init.c): Likewise.
  13118. (util/grub-fstest.c_DEPENDENCIES): New variable.
  13119. (grub_fstest_SOURCES): Likewise.
  13120. * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
  13121. * util/grub-fstest.c: New file.
  13122. 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
  13123. Make grub-setup handle a separate root device.
  13124. * util/i386/pc/grub-setup.c (setup): Always open the root device,
  13125. so that the root device can be compared with the destination
  13126. device.
  13127. When embedding the core image, if the root and destination devices
  13128. are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
  13129. 0xFF.
  13130. When not embedding, set ROOT_DRIVE to 0xFF.
  13131. 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
  13132. Add support for having a grub directory in a different drive. This
  13133. is still only the data handling part.
  13134. * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
  13135. (codestart): Save %dh in GRUB_ROOT_DRIVE.
  13136. (grub_root_drive): New variable.
  13137. * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
  13138. instead of GRUB_BOOT_DRIVE to construct a device name. Set
  13139. GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
  13140. as it was.
  13141. * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
  13142. * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
  13143. macro.
  13144. (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
  13145. * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
  13146. is bogus, because PXE booting does not specify any drive
  13147. correctly.
  13148. * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
  13149. am not sure if this is really correct.
  13150. * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
  13151. is always identical to the boot drive when booting from a CD.
  13152. * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
  13153. longer.
  13154. (root_drive): New variable.
  13155. (real_start): Unconditionally set %dh to ROOT_DRIVE.
  13156. (setup_sectors): Push %dx right after popping it, because %dh will
  13157. be modified later.
  13158. (copy_buffer): Restore %dx.
  13159. 2008-02-03 Robert Millan <rmh@aybabtu.com>
  13160. * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
  13161. use `cdboot.img' for cdrom images.
  13162. 2008-02-03 Robert Millan <rmh@aybabtu.com>
  13163. * util/grub.d/00_header.in: Issue scripting commands for GRUB to
  13164. only setup gfxterm when `font' command has succeeded.
  13165. 2008-02-03 Robert Millan <rmh@aybabtu.com>
  13166. * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
  13167. (grub_rescue_cmd_multiboot_loader)
  13168. (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
  13169. 2008-02-03 Pavel Roskin <proski@gnu.org>
  13170. * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
  13171. %edx and %esi from stack only after grub_gate_a20() is called.
  13172. grub_gate_a20() clobbers %edx.
  13173. 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
  13174. * configure.ac (AC_INIT): Bumped to 1.96.
  13175. * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
  13176. commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
  13177. include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
  13178. video/readers/png.c.
  13179. 2008-02-03 Bean <bean123ch@gmail.com>
  13180. * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
  13181. (cdboot_img_SOURCES): New variable.
  13182. (cdboot_img_ASFLAGS): New variable.
  13183. (cdboot_img_LDFLAGS): New variable.
  13184. * boot/i386/pc/cdboot.S: New file.
  13185. * disk/i386/pc/biosdisk.c (cd_start): New variable.
  13186. (cd_count): Likewise.
  13187. (grub_biosdisk_get_drive): Add support for cd device.
  13188. (grub_biosdisk_call_hook): Likewise.
  13189. (grub_biosdisk_iterate): Likewise.
  13190. (grub_biosdisk_open): Likewise.
  13191. (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
  13192. (grub_biosdisk_rw): Support reading from cd device.
  13193. (GRUB_MOD_INIT): Iterate cd devices.
  13194. * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
  13195. (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
  13196. (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
  13197. * kern/i386/pc/init.c (make_install_device): Check for cd device.
  13198. 2008-02-02 Robert Millan <rmh@aybabtu.com>
  13199. * commands/read.c: New file.
  13200. * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
  13201. (read_mod_SOURCES): New variable.
  13202. (read_mod_CFLAGS): Likewise.
  13203. (read_mod_LDFLAGS): Likewise.
  13204. 2008-02-02 Robert Millan <rmh@aybabtu.com>
  13205. * normal/main.c (grub_normal_execute): Check for `menu->size' when
  13206. determining whether menu has to be displayed.
  13207. 2008-02-02 Marco Gerards <marco@gnu.org>
  13208. * bus/pci.c: New file.
  13209. * include/grub/pci.h: Likewise.
  13210. * include/grub/i386/pc/pci.h: Likewise.
  13211. * commands/lspci.c: Likewise.
  13212. * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
  13213. `lspci.mod'.
  13214. (pci_mod_SOURCES): New variable.
  13215. (pci_mod_CFLAGS): Likewise.
  13216. (pci_mod_LDFLAGS): Likewise.
  13217. (lspci_mod_SOURCES): Likewise.
  13218. (lspci_mod_CFLAGS): Likewise.
  13219. (lspci_mod_LDFLAGS): Likewise.
  13220. 2008-02-02 Bean <bean123ch@gmail.com>
  13221. * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
  13222. (grub_ufs_get_file_block): Fix indirect block calculation problem.
  13223. * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
  13224. (grub_xfs_btree_node): New structure.
  13225. (grub_xfs_btree_root): New structure.
  13226. (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
  13227. (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
  13228. (GRUB_XFS_EXTENT_BLOCK): Likewise.
  13229. (GRUB_XFS_EXTENT_SIZE): Likewise.
  13230. (grub_xfs_read_block): Support btree format type.
  13231. (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
  13232. Use directory block as basic unit.
  13233. * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
  13234. * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
  13235. __attribute__ ((__regparm__ (1))).
  13236. 2008-02-01 Robert Millan <rmh@aybabtu.com>
  13237. Correct a mistake in previous commit.
  13238. * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
  13239. top.
  13240. (normal/command.c_DEPENDENCIES): New variable.
  13241. 2008-02-01 Robert Millan <rmh@aybabtu.com>
  13242. * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
  13243. top.
  13244. (normal/command.c_DEPENDENCIES): New variable.
  13245. (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
  13246. * conf/i386-ieee1275.rmk: Likewise.
  13247. * conf/i386-linuxbios.rmk: Likewise.
  13248. * conf/i386-pc.rmk: Likewise.
  13249. * conf/sparc64-ieee1275.rmk: Likewise.
  13250. * conf/powerpc-ieee1275.rmk: Likewise.
  13251. (grub_emu_SOURCES): Add `fs/fshelp.c'.
  13252. * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
  13253. 2008-02-01 Robert Millan <rmh@aybabtu.com>
  13254. * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
  13255. call at beginning of function.
  13256. 2008-01-31 Pavel Roskin <proski@gnu.org>
  13257. * util/powerpc/ieee1275/grub-mkrescue.in: New file.
  13258. * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
  13259. (grub_mkrescue_SOURCES): Likewise.
  13260. * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
  13261. 2008-01-30 Robert Millan <rmh@aybabtu.com>
  13262. * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
  13263. (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
  13264. * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
  13265. (grub_probe_SOURCES): ... to here.
  13266. * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
  13267. (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
  13268. * conf/i386-ieee1275.rmk: Likewise.
  13269. * conf/i386-linuxbios.rmk: Likewise.
  13270. * conf/powerpc-ieee1275.rmk: Likewise.
  13271. 2008-01-30 Tristan Gingold <gingold@free.fr>
  13272. * kern/rescue.c: Silently accept empty lines.
  13273. 2008-01-29 Bean <bean123ch@gmail.com>
  13274. * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
  13275. (real_code_2): Code cleanup and change comment style.
  13276. (move_memory): Avoid using 32-bit address mode.
  13277. 2008-01-29 Bean <bean123ch@gmail.com>
  13278. * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
  13279. (png_mod_SOURCES): New variable.
  13280. (png_mod_CFLAGS): Likewise.
  13281. (png_mod_LDFLAGS): Likewise.
  13282. * video/readers/png.c: New file.
  13283. 2008-01-28 Robert Millan <rmh@aybabtu.com>
  13284. * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
  13285. * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
  13286. `ifndef GRUB_MOD_GAP' hack.
  13287. * util/elf/grub-mkimage.c (add_segments): Likewise.
  13288. 2008-01-27 Robert Millan <rmh@aybabtu.com>
  13289. * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
  13290. `GRUB_MOD_GAP' for platforms in which it's not defined.
  13291. * util/elf/grub-mkimage.c (add_segments): Likewise.
  13292. 2008-01-27 Robert Millan <rmh@aybabtu.com>
  13293. Get grub-emu to build again (including parallel builds).
  13294. * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
  13295. Split into ...
  13296. (util/grub-emu.c_DEPENDENCIES): ... this, ...
  13297. (normal/execute.c_DEPENDENCIES): ... this, ...
  13298. (grub-emu_DEPENDENCIES): ... and this.
  13299. * conf/i386-efi.rmk: Likewise.
  13300. * conf/i386-linuxbios.rmk: Likewise.
  13301. * conf/i386-ieee1275.rmk: Likewise.
  13302. * conf/powerpc-ieee1275.rmk: Likewise.
  13303. (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
  13304. 2008-01-27 Robert Millan <rmh@aybabtu.com>
  13305. * NEWS: Add a few items.
  13306. 2008-01-27 Robert Millan <rmh@aybabtu.com>
  13307. Fix parallel builds with grub-emu. Based on earlier commit for
  13308. grub-probe and grub-setup.
  13309. * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
  13310. (util/grub-emu.c_DEPENDENCIES): ... this.
  13311. * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
  13312. (util/grub-emu.c_DEPENDENCIES): ... this.
  13313. * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
  13314. (util/grub-emu.c_DEPENDENCIES): ... this.
  13315. * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
  13316. (util/grub-emu.c_DEPENDENCIES): ... this.
  13317. * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
  13318. (util/grub-emu.c_DEPENDENCIES): ... this.
  13319. 2008-01-27 Pavel Roskin <proski@gnu.org>
  13320. * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
  13321. to create a gap between _end and the modules added to the image
  13322. with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
  13323. * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
  13324. * util/elf/grub-mkimage.c (add_segments): Likewise.
  13325. 2008-01-26 Pavel Roskin <proski@gnu.org>
  13326. * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
  13327. just return an error.
  13328. 2008-01-26 Bean <bean123ch@gmail.com>
  13329. * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
  13330. (grub_reiserfs_get_item): Save offset of the next item.
  13331. (grub_reiserfs_iterate_dir): Use next_offset to find next item.
  13332. 2008-01-25 Robert Millan <rmh@aybabtu.com>
  13333. * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
  13334. make all filesystem sources appear together (possibly fixing omissions
  13335. while at it).
  13336. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  13337. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  13338. * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
  13339. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  13340. * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
  13341. add `kern/file.c'.
  13342. * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
  13343. * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
  13344. * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
  13345. * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
  13346. * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
  13347. (probe): Add a sanity check to make sure of our ability to read
  13348. requested files when probing for filesystem type.
  13349. * genmk.rb: Update copyright year (2007).
  13350. * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
  13351. (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
  13352. (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
  13353. (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
  13354. (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
  13355. : Remove function prototypes.
  13356. 2008-01-25 Robert Millan <rmh@aybabtu.com>
  13357. Revert my previous commits (based on wrong assumption of how grub_errno
  13358. works).
  13359. * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
  13360. * kern/file.c (grub_file_open): Likewise.
  13361. 2008-01-24 Pavel Roskin <proski@gnu.org>
  13362. * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
  13363. that hang if GRUB tries to setup colors.
  13364. * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
  13365. colors for firmwares that don't support it.
  13366. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
  13367. Recognize Open Hack'Ware, set flags to work around its
  13368. limitations.
  13369. 2008-01-24 Robert Millan <rmh@aybabtu.com>
  13370. * kern/file.c (grub_file_open): Do not account previous failures of
  13371. unrelated functions when grub_errno is checked for.
  13372. Reported by Oleg Strikov.
  13373. 2008-01-24 Bean <bean123ch@gmail.com>
  13374. * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
  13375. (grub_ufs_sblock): New member volume name.
  13376. (grub_ufs_find_file): Fix string copy bug.
  13377. (grub_ufs_label): Implement this function properly.
  13378. * fs/hfs.c (grub_hfs_cnid_type): New enum.
  13379. (grub_hfs_iterate_records): Use the correct file number for extents
  13380. and catalog file. Fix problem in next index calculation.
  13381. (grub_hfs_find_node): Replace recursive function call with loop.
  13382. (grub_hfs_iterate_dir): Replace recursive function call with loop.
  13383. 2008-01-23 Robert Millan <rmh@aybabtu.com>
  13384. * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
  13385. `<grub/symbol.h>' and `<grub/multiboot.h>'.
  13386. (grub_multiboot2_real_boot): New function prototype.
  13387. * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
  13388. [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
  13389. * kern/i386/ieee1275/init.c (grub_os_area_addr)
  13390. (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
  13391. 2008-01-23 Robert Millan <rmh@aybabtu.com>
  13392. * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
  13393. #ifdef'ed out grub_printf().
  13394. 2008-01-23 Robert Millan <rmh@aybabtu.com>
  13395. * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
  13396. grub_dprintf calls, since they make "debug=all" mode unusable.
  13397. (grub_console_checkkey): Likewise.
  13398. 2008-01-23 Robert Millan <rmh@aybabtu.com>
  13399. * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
  13400. `term/i386/pc/at_keyboard.c'.
  13401. (pkglib_MODULES): Add `serial.mod'.
  13402. (serial_mod_SOURCES): New variable.
  13403. (serial_mod_CFLAGS): Likewise.
  13404. (serial_mod_LDFLAGS): Likewise.
  13405. * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
  13406. `<grub/powerpc/ieee1275/console.h>'.
  13407. (grub_keyboard_controller_init): New function prototype.
  13408. (grub_console_checkkey): Likewise.
  13409. (grub_console_getkey): Likewise.
  13410. * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
  13411. keyboard on i386.
  13412. * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
  13413. grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
  13414. 2008-01-23 Robert Millan <rmh@aybabtu.com>
  13415. * kern/i386/pc/init.c (make_install_device): When memdisk image is
  13416. present, "(memdisk)/boot/grub" becomes the default prefix.
  13417. * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
  13418. a memdisk tarball with all the modules. Add --overlay=DIR option that
  13419. allows users to overlay additional files into the image.
  13420. 2008-01-23 Robert Millan <rmh@aybabtu.com>
  13421. * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
  13422. and `machine/memory.h'.
  13423. (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
  13424. (_multiboot_mod_SOURCES): New variable.
  13425. (_multiboot_mod_CFLAGS): Likewise.
  13426. (_multiboot_mod_LDFLAGS): Likewise.
  13427. (multiboot_mod_SOURCES): Likewise.
  13428. (multiboot_mod_CFLAGS): Likewise.
  13429. (multiboot_mod_LDFLAGS): Likewise.
  13430. * include/grub/i386/ieee1275/loader.h: New file.
  13431. * include/grub/i386/ieee1275/machine.h: Likewise.
  13432. * include/grub/i386/ieee1275/memory.h: Likewise.
  13433. * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
  13434. variable declaration.
  13435. (grub_os_area_size): Likewise.
  13436. * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
  13437. (grub_lower_mem, grub_upper_mem): New variables.
  13438. (grub_stop_floppy): New function (just to make
  13439. grub_multiboot2_real_boot() happy).
  13440. * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
  13441. `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
  13442. (grub_stop): New function.
  13443. Include `"../realmode.S"' and `"../loader.S"'.
  13444. * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
  13445. Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
  13446. * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
  13447. rely on grub_multiboot2_real_boot() for final boot.
  13448. 2008-01-22 Robert Millan <rmh@aybabtu.com>
  13449. * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
  13450. `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
  13451. device that doesn't look like an SD card.
  13452. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
  13453. `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
  13454. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
  13455. OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
  13456. found.
  13457. 2008-01-22 Robert Millan <rmh@aybabtu.com>
  13458. * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
  13459. avoid claiming over our own code.
  13460. 2008-01-22 Bean <bean123ch@gmail.com>
  13461. * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
  13462. (jpeg_mod_SOURCES): New variable.
  13463. (jpeg_mod_CFLAGS): Likewise.
  13464. (jpeg_mod_LDFLAGS): Likewise.
  13465. * video/readers/jpeg.c : New file.
  13466. 2008-01-22 Bean <bean123ch@gmail.com>
  13467. * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
  13468. there are no more items.
  13469. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13470. * kern/mm.c (grub_mm_init_region): Improve debug message.
  13471. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13472. * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
  13473. (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
  13474. address.
  13475. (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
  13476. a C macro.
  13477. * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
  13478. Indicates start of upper memory.
  13479. * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
  13480. (generate_image): Abort when image size is big enough to corrupt
  13481. upper memory.
  13482. * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
  13483. (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
  13484. * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
  13485. instead of hardcoding 0xA0000.
  13486. * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
  13487. (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
  13488. instead of hardcoding 0xA0000.
  13489. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13490. * disk/memdisk.c (memdisk_size): New variable.
  13491. (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
  13492. `memdisk_size'.
  13493. (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
  13494. image to dynamic memory.
  13495. (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
  13496. `memdisk_size'. Free memdisk block.
  13497. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13498. Fix detection of very small filesystems (like tar).
  13499. * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
  13500. contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
  13501. GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
  13502. a problem with this disk).
  13503. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13504. * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
  13505. on grub_biosdisk_rw_standard() error.
  13506. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13507. * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
  13508. recent changes.
  13509. * kern/elf.c: Likewise.
  13510. * kern/ieee1275/ieee1275.c: Likewise.
  13511. * kern/powerpc/ieee1275/openfw.c: Likewise.
  13512. * term/ieee1275/ofconsole.c: Likewise.
  13513. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13514. * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
  13515. * include/grub/kernel.h (grub_arch_memdisk_addr)
  13516. (grub_arch_memdisk_size): Moved from here ...
  13517. * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
  13518. (grub_arch_memdisk_size): ... to here.
  13519. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13520. Mostly based on bugfix from Bean.
  13521. * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
  13522. attribute with hook() parameter.
  13523. (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
  13524. declaration.
  13525. (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
  13526. attribute with hook() parameter.
  13527. (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
  13528. declaration.
  13529. 2008-01-21 Robert Millan <rmh@aybabtu.com>
  13530. * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
  13531. (pkglib_MODULES): Add `memdisk.mod'.
  13532. (memdisk_mod_SOURCES): New variable.
  13533. (memdisk_mod_CFLAGS): Likewise.
  13534. (memdisk_mod_LDFLAGS): Likewise.
  13535. * disk/memdisk.c: New file.
  13536. * include/grub/disk.h (grub_disk_dev_id): Add
  13537. `GRUB_DISK_DEVICE_MEMDISK_ID'.
  13538. * include/grub/i386/pc/kernel.h
  13539. (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
  13540. (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
  13541. (grub_kernel_image_size): New variable declaration.
  13542. (grub_total_module_size): Likewise.
  13543. (grub_memdisk_image_size): Likewise.
  13544. * include/grub/i386/pc/memory.h
  13545. (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
  13546. * include/grub/kernel.h: Include `<grub/symbol.h>'.
  13547. (grub_arch_memdisk_addr): New variable declaration.
  13548. (grub_arch_memdisk_size): Likewise.
  13549. * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
  13550. (grub_arch_memdisk_size): Likewise.
  13551. * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
  13552. (codestart): Replace hardcoded `0x100000' with
  13553. `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
  13554. * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
  13555. (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
  13556. not NULL, append the contents of the file it refers to, at the end of
  13557. the compressed kernel image. Initialize `grub_memdisk_image_size'
  13558. variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
  13559. (options): Add "memdisk"|'m' option.
  13560. (main): Parse --memdisk|-m option, and pass user-provided path as
  13561. parameter to generate_image().
  13562. 2008-01-20 Robert Millan <rmh@aybabtu.com>
  13563. * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
  13564. grub_dprintf() calls from here ...
  13565. * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
  13566. 2008-01-20 Robert Millan <rmh@aybabtu.com>
  13567. Fix detection of "real mode" when /options/real-mode? doesn't exist.
  13568. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
  13569. declaration.
  13570. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
  13571. (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
  13572. `GRUB_IEEE1275_FLAG_REAL_MODE'.
  13573. (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
  13574. property).
  13575. * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
  13576. `grub_ieee1275_mmu' rather than obtaining a handler on every call.
  13577. 2008-01-19 Robert Millan <rmh@aybabtu.com>
  13578. Get rid of confusing function (superseded by
  13579. `grub_ieee1275_get_integer_property')
  13580. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
  13581. prototype.
  13582. * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
  13583. function.
  13584. * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
  13585. grub_ieee1275_decode_int_4(), by obtaining integer properties directly
  13586. in native endianness from grub_ieee1275_get_integer_property().
  13587. 2008-01-19 Robert Millan <rmh@aybabtu.com>
  13588. * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
  13589. command after "shut-down", since implementations differ on which
  13590. the command for halt is.
  13591. 2008-01-19 Robert Millan <rmh@aybabtu.com>
  13592. * include/grub/i386/linuxbios/console.h: Add header protection.
  13593. (grub_keyboard_controller_init): New function prototype.
  13594. * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
  13595. (KEYBOARD_COMMAND_READ): Likewise.
  13596. (KEYBOARD_COMMAND_WRITE): Likewise.
  13597. (KEYBOARD_SCANCODE_SET1): Likewise.
  13598. (grub_keyboard_controller_write): New function.
  13599. (grub_keyboard_controller_read): Likewise.
  13600. (grub_keyboard_controller_init): Likewise.
  13601. * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
  13602. (grub_console_init): On coreboot/LinuxBIOS, call
  13603. grub_keyboard_controller_init().
  13604. 2008-01-19 Robert Millan <rmh@aybabtu.com>
  13605. PowerPC changes provided by Pavel Roskin.
  13606. * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
  13607. * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
  13608. don't rely on cmain() doing it.
  13609. * kern/i386/ieee1275/startup.S (_start): Store %eax in
  13610. grub_ieee1275_entry_fn, don't rely on cmain() doing it.
  13611. 2008-01-16 Robert Millan <rmh@aybabtu.com>
  13612. * include/grub/i386/linuxbios/memory.h
  13613. (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
  13614. * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
  13615. receive `table_header' as argument. Instead, probe for it in the
  13616. known memory ranges where it can be present.
  13617. (grub_available_iterate): Do not pass a fixed `table_header' address
  13618. to grub_linuxbios_table_iterate().
  13619. 2008-01-15 Robert Millan <rmh@aybabtu.com>
  13620. * configure.ac: Add `i386-ieee1275' to the list of supported targets.
  13621. * conf/i386-ieee1275.rmk: New file.
  13622. * include/grub/i386/ieee1275/console.h: Likewise.
  13623. * include/grub/i386/ieee1275/ieee1275.h: Likewise.
  13624. * include/grub/i386/ieee1275/kernel.h: Likewise.
  13625. * include/grub/i386/ieee1275/time.h: Likewise.
  13626. * kern/i386/ieee1275/init.c: Likewise.
  13627. * kern/i386/ieee1275/startup.S: Likewise.
  13628. 2008-01-15 Robert Millan <rmh@aybabtu.com>
  13629. * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
  13630. when pointers are 32-bit (but still do set it to one when they are
  13631. 64-bit).
  13632. 2008-01-15 Robert Millan <rmh@aybabtu.com>
  13633. * include/grub/ieee1275/ieee1275.h
  13634. (grub_ieee1275_get_integer_property): New function prototype.
  13635. * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
  13636. (grub_ieee1275_get_integer_property): New function. Wraps around
  13637. grub_ieee1275_get_property() to handle endianness.
  13638. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
  13639. grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
  13640. where appropriate.
  13641. * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
  13642. (grub_map): Likewise.
  13643. * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
  13644. 2008-01-15 Bean <bean123ch@gmail.com>
  13645. * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
  13646. (grub_script_execute_cmdline): Reset grub_errno.
  13647. * normal/main.c (read_config_file): Reset grub_errno.
  13648. * normal/parse.y (script_init): New.
  13649. (script): Move function and menuentry here.
  13650. (delimiter): New.
  13651. (command): Add delimiter at the end of command.
  13652. (commands): Adjust to match the new command.
  13653. (commandblock): Remove grub_script_lexer_record_start.
  13654. (menuentry): Add grub_script_lexer_record_start, use the new commands.
  13655. (if): Use the new commands.
  13656. * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
  13657. 2008-01-15 Robert Millan <rmh@aybabtu.com>
  13658. * normal/menu.c (run_menu): Move timeout message from here ...
  13659. (print_timeout): ... to here.
  13660. (run_menu): Use print_timeout() once during initial draw to print
  13661. the whole message, and again in every clock tick to update only
  13662. the number of seconds.
  13663. 2008-01-15 Robert Millan <rmh@aybabtu.com>
  13664. * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
  13665. actual size of `available' from grub_ieee1275_get_property(), and
  13666. restrict parsing to that bound.
  13667. 2008-01-15 Christian Franke <franke@computer.org>
  13668. * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
  13669. (argp_program_version): Remove variable.
  13670. (argp_program_bug_address): Likewise.
  13671. (options): Convert from struct argp_option to struct option.
  13672. (struct arguments): Remove.
  13673. (parse_opt): Remove.
  13674. (usage): New function.
  13675. (main): Replace struct args members by simple variables.
  13676. Replace argp_parse() by getopt_long().
  13677. Add switch to evaluate options.
  13678. Add missing "(...)" around root_dev in prefix string.
  13679. 2008-01-14 Robert Millan <rmh@aybabtu.com>
  13680. * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
  13681. for grub_ieee1275_exit(), in order to improve portability.
  13682. 2008-01-14 Robert Millan <rmh@aybabtu.com>
  13683. * util/grub.d/10_linux.in (prefix): Define.
  13684. (exec_prefix): Likewise. Both definitions are later used by `libdir'.
  13685. 2008-01-13 Pavel Roskin <proski@gnu.org>
  13686. * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
  13687. grub_errno if no errors have been detected.
  13688. 2008-01-12 Robert Millan <rmh@aybabtu.com>
  13689. * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
  13690. (grub_util_get_dev_abstraction): New function prototype.
  13691. * util/getroot.c: Include `<grub/util/getroot.h>'
  13692. (grub_util_get_grub_dev): Move detection of abstraction type to ...
  13693. (grub_util_get_dev_abstraction): ... here (new function).
  13694. * util/grub-probe.c: Convert PRINT_* to an enum. Add
  13695. `PRINT_ABSTRACTION'.
  13696. (probe): Probe for abstraction type when requested.
  13697. (main): Understand `--target=abstraction'.
  13698. * util/i386/efi/grub-install.in: Add abstraction module to core
  13699. image when it is found to be necessary.
  13700. * util/i386/pc/grub-install.in: Likewise.
  13701. * util/powerpc/ieee1275/grub-install.in: Likewise.
  13702. * util/update-grub_lib.in (font_path): Return system path without
  13703. converting to GRUB path.
  13704. * util/update-grub.in: Convert system path returned by font_path()
  13705. to a GRUB path. Use `grub-probe -t abstraction' to determine what
  13706. abstraction module is needed for loading fonts (if any). Export
  13707. that as `GRUB_PRELOAD_MODULES'.
  13708. * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
  13709. insmod commands).
  13710. 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
  13711. Remove some unused code from reiserfs.
  13712. * fs/reiserfs.c (struct grub_reiserfs_key)
  13713. [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
  13714. (struct grub_reiserfs_node_body): Removed.
  13715. (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
  13716. Likewise.
  13717. (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
  13718. Likewise.
  13719. (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
  13720. Likewise.
  13721. (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
  13722. Likewise.
  13723. (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
  13724. Likewise.
  13725. (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
  13726. Likewise.
  13727. (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
  13728. (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
  13729. (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
  13730. 2008-01-10 Robert Millan <rmh@aybabtu.com>
  13731. * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
  13732. Determines if a file is garbage left by packaging systems, etc.
  13733. * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
  13734. for processing /etc/grub.d scripts.
  13735. * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
  13736. * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
  13737. as a condition for processing Linux images.
  13738. 2008-01-10 Pavel Roskin <proski@gnu.org>
  13739. * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
  13740. to compile reiserfs.c on PowerPC.
  13741. 2008-01-10 Robert Millan <rmh@aybabtu.com>
  13742. * kern/device.c (grub_device_iterate): Do not abort device iteration
  13743. when one of the devices cannot be opened.
  13744. * kern/disk.c (grub_disk_open): Do not account previous failures of
  13745. unrelated functions when grub_errno is checked for.
  13746. 2008-01-08 Robert Millan <rmh@aybabtu.com>
  13747. * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
  13748. `! grub_linux_is_bzimage', change order of address comparison to make
  13749. it more intuitive, and improve "too big zImage" error message.
  13750. 2008-01-08 Robert Millan <rmh@aybabtu.com>
  13751. * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
  13752. `$(update-grub_DATA)'.
  13753. (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
  13754. targets.
  13755. 2008-01-07 Robert Millan <rmh@aybabtu.com>
  13756. * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
  13757. which instruction is modified by grub-setup during installation
  13758. (since it wasn't obvious by only looking at this file).
  13759. 2008-01-07 Robert Millan <rmh@aybabtu.com>
  13760. * TODO: Rewrite. Just refer to the wiki and the BTS instead of
  13761. listing actual TODO items.
  13762. 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
  13763. * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
  13764. correctly.
  13765. (grub_reiserfs_get_key_offset): Likewise.
  13766. (grub_reiserfs_set_key_offset): Likewise.
  13767. (grub_reiserfs_set_key_type): Likewise.
  13768. (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
  13769. (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
  13770. better to remove the bitfield version completely.
  13771. 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
  13772. * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
  13773. allocated from the heap, due to the fshelp implementation.
  13774. (grub_reiserfs_dir): Free NODE, due to the same reason.
  13775. 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
  13776. Mostly from Vincent Pelletier:
  13777. * fs/reiserfs.c: New file.
  13778. * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
  13779. (reiserfs_mod_SOURCES): New variable.
  13780. (reiserfs_mod_CFLAGS): Likewise.
  13781. (reiserfs_mod_LDFLAGS): Likewise.
  13782. * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
  13783. disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
  13784. include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
  13785. normal/color.c.
  13786. 2008-01-06 Robert Millan <rmh@aybabtu.com>
  13787. * normal/color.c: Remove `<grub/env.h>'.
  13788. 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
  13789. * include/grub/normal.h: Include <grub/env.h>.
  13790. 2008-01-05 Robert Millan <rmh@aybabtu.com>
  13791. * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
  13792. usage example with `(hd0,1)'.
  13793. Reported by Samuel Thibault.
  13794. 2008-01-05 Robert Millan <rmh@aybabtu.com>
  13795. * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
  13796. (grub_linux_boot_zimage): Rename to ...
  13797. (grub_linux_boot): ... this.
  13798. (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
  13799. (grub_linux_boot_zimage): Conditionalize zImage copy.
  13800. * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
  13801. (grub_linux_boot_bzimage): Remove prototype.
  13802. (grub_linux_boot_zimage): Rename to ...
  13803. (grub_linux_boot): ... this.
  13804. * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
  13805. (grub_linux_boot): Remove function.
  13806. 2008-01-05 Robert Millan <rmh@aybabtu.com>
  13807. * include/grub/normal.h (grub_env_write_color_normal): New prototype.
  13808. (grub_env_write_color_highlight): Likewise.
  13809. (grub_wait_after_message): Likewise.
  13810. * normal/color.c: New file.
  13811. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
  13812. (normal_mod_DEPENDENCIES): Likewise.
  13813. * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
  13814. (normal_mod_DEPENDENCIES): Likewise.
  13815. * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
  13816. (normal_mod_DEPENDENCIES): Likewise.
  13817. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
  13818. (normal_mod_DEPENDENCIES): Likewise.
  13819. * normal/menu_entry.c (run): Rely on grub_wait_after_message()
  13820. for waiting after a message is printed.
  13821. * normal/main.c (read_config_file): Likewise.
  13822. (grub_normal_init): Register grub_env_write_color_normal() and
  13823. grub_env_write_color_highlight() hooks. Mark `color_normal' and
  13824. `color_highlight' variables as global.
  13825. * normal/menu.c (grub_wait_after_message): New function.
  13826. (grub_color_menu_normal): New variable. Replaces ...
  13827. (GRUB_COLOR_MENU_NORMAL): ... this macro.
  13828. (grub_color_menu_highlight): New variable. Replaces ...
  13829. (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
  13830. (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
  13831. `GRUB_TERM_COLOR_STANDARD'.
  13832. (print_message): Use `grub_setcolorstate' to reload colors. Rename
  13833. `normal_code' and `highlight_code' to `old_color_normal' and
  13834. `old_color_highlight', respectively.
  13835. (grub_menu_init_page): Update colors when drawing the menu, based on
  13836. `menu_color_normal' and `menu_color_highlight' variables.
  13837. (grub_menu_run): Rely on grub_wait_after_message() for waiting after
  13838. a message is printed.
  13839. 2008-01-05 Robert Millan <rmh@aybabtu.com>
  13840. * kern/env.c (grub_env_context_open): Propagate hooks for global
  13841. variables to new context.
  13842. * kern/main.c (grub_set_root_dev): Export `root' variable.
  13843. 2008-01-05 Robert Millan <rmh@aybabtu.com>
  13844. * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
  13845. discs unconditionally, since udev and others have options to provide
  13846. them.
  13847. 2008-01-05 Robert Millan <rmh@aybabtu.com>
  13848. * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
  13849. 2008-01-04 Christian Franke <franke@computer.org>
  13850. * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
  13851. of eisa_mmap.
  13852. 2008-01-03 Pavel Roskin <proski@gnu.org>
  13853. * kern/i386/linuxbios/init.c: Put "void" to all function
  13854. declarations with no arguments.
  13855. * kern/powerpc/ieee1275/init.c: Likewise.
  13856. * term/i386/pc/at_keyboard.c: Likewise.
  13857. * term/i386/pc/vga_text.c: Likewise.
  13858. * util/grub-mkdevicemap.c: Likewise.
  13859. 2008-01-02 Robert Millan <rmh@aybabtu.com>
  13860. * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
  13861. message when loaded image is out of bounds.
  13862. (grub_multiboot_load_elf64): Likewise.
  13863. 2008-01-02 Pavel Roskin <proski@gnu.org>
  13864. * util/grub.d/10_linux.in: Try version without ".old" when
  13865. looking for initrd. It's better to use initrd from the newer
  13866. kernel of the same version than no initrd at all.
  13867. 2008-01-01 Robert Millan <rmh@aybabtu.com>
  13868. * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
  13869. 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
  13870. * include/grub/video.h: Added grub_video_unmap_color and
  13871. grub_video_get_active_render_target.
  13872. (grub_video_adapter): Added unmap_color and get_active_render_target.
  13873. * video/video.c: Added grub_video_unmap_color and
  13874. grub_video_get_active_render_target.
  13875. (grub_video_get_info): Changed method to accept NULL pointer as an
  13876. argument to allow detection of active video adapter.
  13877. * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
  13878. grub_video_vbe_unmap_color_int.
  13879. Added grub_video_vbe_unmap_color and
  13880. grub_video_vbe_get_active_render_target.
  13881. (grub_video_vbe_adapter): Added unmap_color and
  13882. get_active_render_target.
  13883. * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
  13884. with grub_video_vbe_unmap_color_int.
  13885. * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
  13886. (DEFAULT_NORMAL_COLOR): Likewise.
  13887. (DEFAULT_HIGHLIGHT_COLOR) Likewise.
  13888. (DEFAULT_FG_COLOR): Removed.
  13889. (DEFAULT_BG_COLOR): Likewise.
  13890. (DEFAULT_CURSOR_COLOR): Changed value.
  13891. (grub_virtual_screen): Added standard_color_setting,
  13892. normal_color_setting, highlight_color_setting and term_color.
  13893. (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
  13894. (bitmap_width): Added.
  13895. (bitmap_height): Likewise.
  13896. (bitmap): Likewise.
  13897. (set_term_color): Likewise.
  13898. (grub_virtual_screen_setup): Changed to use new terminal coloring
  13899. settings.
  13900. (grub_gfxterm_init): Added init for bitmap.
  13901. (grub_gfxterm_fini): Added destroy for bitmap.
  13902. (redraw_screen_rect): Updated to use background bitmap and new
  13903. terminal coloring.
  13904. (scroll_up): Added optimization for case when there is no bitmap.
  13905. (grub_gfxterm_cls): Fixed to use correct background color.
  13906. (grub_virtual_screen_setcolorstate): Changed to use new terminal
  13907. coloring.
  13908. (grub_virtual_screen_setcolor): Likewise.
  13909. (grub_virtual_screen_getcolor): Added.
  13910. (grub_gfxterm_background_image_cmd): Likewise.
  13911. (grub_video_term): Added setcolor and getcolor.
  13912. (MOD_INIT): Added registration of background_image command.
  13913. (MOD_TERM): Added unregistration for background_image command.
  13914. 2007-12-30 Pavel Roskin <proski@gnu.org>
  13915. * loader/multiboot_loader.c: Fix multiboot command
  13916. unregistration. Fix all typos in the word "multiboot".
  13917. 2007-12-29 Pavel Roskin <proski@gnu.org>
  13918. * util/grub.d/10_linux.in: Refactor search for initrd. Add
  13919. support for initrd names used in Fedora.
  13920. 2007-12-26 Bean <bean123ch@gmail.com>
  13921. * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
  13922. (cpio_mod_SOURCES): New variable.
  13923. (cpio_mod_CFLAGS): Likewise.
  13924. (cpio_mod_LDFLAGS): Likewise.
  13925. * fs/cpio.c: New file.
  13926. * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
  13927. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
  13928. * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
  13929. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  13930. 2007-12-25 Robert Millan <rmh@aybabtu.com>
  13931. * include/grub/term.h (struct grub_term): Add `getcolor' function.
  13932. (grub_getcolor): New function.
  13933. * kern/term.c (grub_getcolor): New function.
  13934. * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
  13935. (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
  13936. (print_entry): Set normal and highlight colors to
  13937. `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
  13938. respectively, before printing and restore them to old
  13939. values afterwards.
  13940. (grub_menu_init_page): Likewise. Fill an additional colored space
  13941. that would otherwise be left blank.
  13942. * term/efi/console.c (grub_console_getcolor): New function.
  13943. (struct grub_console_term.getcolor): New variable.
  13944. * term/i386/pc/console.c (grub_console_getcolor): New function.
  13945. (struct grub_console_term.getcolor): New variable.
  13946. * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
  13947. (struct grub_console_term.getcolor): New variable.
  13948. * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
  13949. (struct grub_console_term.setcolor): Remove variable.
  13950. * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
  13951. (struct grub_console_term.setcolor): Remove variable.
  13952. * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
  13953. (struct grub_console_term.setcolor): Remove variable.
  13954. * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
  13955. (struct grub_console_term.setcolor): Remove variable.
  13956. 2007-12-25 Robert Millan <rmh@aybabtu.com>
  13957. * configure.ac: Search for possible unifont.hex locations, and
  13958. define UNIFONT_HEX if found.
  13959. * Makefile.in (UNIFONT_HEX): Define variable.
  13960. (DATA): Rename to ...
  13961. (PKGLIB): ... this. Update all users.
  13962. (PKGDATA): New variable.
  13963. (pkgdata_IMAGES): Rename to ...
  13964. (pkglib_IMAGES): ... this. Update all users.
  13965. (pkgdata_MODULES): Rename to ...
  13966. (pkglib_MODULES): ... this. Update all users.
  13967. (pkgdata_PROGRAMS): Rename to ...
  13968. (pkglib_PROGRAMS): ... this. Update all users.
  13969. (pkgdata_DATA): Rename to ...
  13970. (pkglib_DATA): ... this. Update all users.
  13971. (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
  13972. (unicode.pff, ascii.pff): New rules.
  13973. (all-local): Add `$(PKGDATA)' dependency.
  13974. (install-local): Process `$(PKGDATA)'.
  13975. * util/update-grub_lib.in (font_path): Search for *.pff files in
  13976. a few more locations, including `${pkgdata}'.
  13977. 2007-12-23 Robert Millan <rmh@aybabtu.com>
  13978. Patch from Bean <bean123ch@gmail.com>:
  13979. * disk/loopback.c (grub_loopback_read): Add missing bit shift to
  13980. `size'.
  13981. 2007-12-21 Bean <bean123ch@gmail.com>
  13982. * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
  13983. (ntfscomp_mod_SOURCES): New variable.
  13984. (ntfscomp_mod_CFLAGS): Likewise.
  13985. (ntfscomp_mod_LDFLAGS): Likewise.
  13986. * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
  13987. (grub_probe_SOURCES): Likewise.
  13988. (grub_emu_SOURCES): Likewise.
  13989. * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
  13990. (grub_emu_SOURCES): Likewise.
  13991. * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
  13992. (grub_emu_SOURCES): Likewise.
  13993. * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
  13994. (grub_emu_SOURCES): Likewise.
  13995. * fs/ntfs.c (grub_ntfscomp_func): New variable.
  13996. (read_run_list): Renamed to grub_ntfs_read_run_list.
  13997. (decomp_nextvcn): Moved to ntfscomp.c.
  13998. (decomp_getch): Likewise.
  13999. (decomp_get16): Likewise.
  14000. (decomp_block): Likewise.
  14001. (read_block): Likewise.
  14002. (read_data): Partially moved to ntfscomp.c.
  14003. (fixup): Change unsigned to grub_uint16_t.
  14004. (read_mft): Change unsigned long to grub_uint32_t.
  14005. (read_attr): Likewise.
  14006. (read_data): Likewise.
  14007. (read_run_data): Likewise.
  14008. (read_run_list): Likewise.
  14009. (read_mft): Likewise.
  14010. * fs/ntfscomp.c: New file.
  14011. * include/grub/ntfs.h: New file.
  14012. 2007-12-16 Robert Millan <rmh@aybabtu.com>
  14013. * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
  14014. IDE disk check, since Linux is known to support 20 IDE disks.
  14015. Reported by Colin Watson.
  14016. 2007-12-15 Bean <bean123ch@gmail.com>
  14017. * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
  14018. (lnxboot_img_SOURCES): New variable.
  14019. (lnxboot_img_ASFLAGS): Likewise.
  14020. (lnxboot_img_LDFLAGS): Likewise.
  14021. * boot/i386/pc/lnxboot.S: New file.
  14022. 2007-11-24 Pavel Roskin <proski@gnu.org>
  14023. * configure.ac: Test if '--build-id=none' is supported by the
  14024. linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
  14025. objcopy to generate incorrect binary files (binutils
  14026. 2.17.50.0.18-1 as shipped by Fedora 8).
  14027. * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
  14028. linking, so that build ID doesn't break the test.
  14029. 2007-11-24 Pavel Roskin <proski@gnu.org>
  14030. * include/grub/i386/time.h: use "void" in the argument list
  14031. of grub_cpu_idle().
  14032. * include/grub/powerpc/time.h: Likewise.
  14033. * include/grub/sparc64/time.h: Likewise.
  14034. 2007-11-18 Christian Franke <franke@computer.org>
  14035. * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
  14036. now return control chars instead of GRUB_CONSOLE_KEY_* constants.
  14037. This fixes the problem that function keys did not work in grub-emu.
  14038. 2007-11-18 Christian Franke <franke@computer.org>
  14039. * disk/host.c (grub_host_open): Remove attribute unused from
  14040. name parameter. Add check for "host". This fixes the problem
  14041. that grub-emu does not find partitions.
  14042. 2007-11-18 Christian Franke <franke@computer.org>
  14043. * util/hostfs.c (is_dir): New function.
  14044. (grub_hostfs_dir): Handle missing dirent.d_type case.
  14045. (grub_hostfs_read): Add missing fseek().
  14046. (grub_hostfs_label): Clear label pointer. This fixes a crash
  14047. of grub-emu on "ls (host)".
  14048. 2007-11-18 Christian Franke <franke@computer.org>
  14049. * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
  14050. Add attribute packed, gcc 3.4.4 on Cygwin aligns this
  14051. to 64 bit boundary by default.
  14052. 2007-11-18 Bean <bean123ch@gmail.com>
  14053. * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
  14054. (hexdump_mod_SOURCES): New variable.
  14055. (hexdump_mod_CFLAGS): Likewise.
  14056. (hexdump_mod_LDFLAGS): Likewise.
  14057. * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
  14058. * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
  14059. * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
  14060. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
  14061. * include/grub/hexdump.h: New file.
  14062. * commands/hexdump.c: New file.
  14063. 2007-11-10 Robert Millan <rmh@aybabtu.com>
  14064. * commands/i386/pc/play.c (beep_off): Switch order of arguments
  14065. in grub_outb() calls.
  14066. (beep_on): Likewise.
  14067. 2007-11-10 Christian Franke <franke@computer.org>
  14068. * normal/menu.c (run_menu): Check for empty menu to avoid crash.
  14069. (grub_menu_run): Likewise.
  14070. 2007-11-10 Robert Millan <rmh@aybabtu.com>
  14071. * include/grub/i386/efi/machine.h: New file.
  14072. * include/grub/i386/linuxbios/machine.h: Likewise.
  14073. * include/grub/i386/pc/machine.h: Likewise.
  14074. * include/grub/powerpc/ieee1275/machine.h: Likewise.
  14075. * include/grub/sparc64/ieee1275/machine.h: Likewise.
  14076. * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
  14077. (serial_hw_io_addr): New variable.
  14078. (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
  14079. instead of `(unsigned short *) 0x400'.
  14080. 2007-11-10 Bean <bean123ch@gmail.com>
  14081. * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
  14082. 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
  14083. * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
  14084. (vga_mod_SOURCES): Added.
  14085. (vga_mod_CFLAGS): Likewise.
  14086. (vga_mod_LDFLAGS): Likewise.
  14087. * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
  14088. grub_outb() calls.
  14089. (set_map_mask): Likewise.
  14090. (set_read_map): Likewise.
  14091. (set_read_address): Likewise.
  14092. (vga_font): Removed variable.
  14093. (get_vga_glyph): Removed function.
  14094. (invalidate_char): Likewise.
  14095. (write_char): Changed to use grub_font_get_glyph() for font
  14096. information.
  14097. (grub_vga_putchar): Likewise.
  14098. (grub_vga_getcharwidth): Likewise.
  14099. 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
  14100. * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
  14101. flags.
  14102. (pxeboot_img_LDFLAGS): Likewise.
  14103. (diskboot_img_LDFLAGS): Likewise.
  14104. (kernel_img_LDFLAGS): Likewise.
  14105. 2007-11-06 Robert Millan <rmh@aybabtu.com>
  14106. * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
  14107. in grub_outb() calls.
  14108. (serial_hw_init): Likewise.
  14109. 2007-11-05 Robert Millan <rmh@aybabtu.com>
  14110. * util/update-grub.in: Allow files in ${update_grub_dir} to contain
  14111. spaces. Skip non-regular files.
  14112. 2007-11-05 Robert Millan <rmh@aybabtu.com>
  14113. * kern/disk.c (grub_disk_firmware_fini)
  14114. (grub_disk_firmware_is_tainted): New variables.
  14115. * include/grub/disk.h (grub_disk_firmware_fini)
  14116. (grub_disk_firmware_is_tainted): Likewise.
  14117. * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
  14118. (grub_disk_biosdisk_fini): ... to here.
  14119. (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
  14120. (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
  14121. is set. Register grub_disk_biosdisk_fini() in
  14122. `grub_disk_firmware_fini'.
  14123. * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
  14124. (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
  14125. Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
  14126. to finish existing firmware disk interface.
  14127. * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
  14128. (ata_mod_SOURCES): New variable.
  14129. (ata_mod_CFLAGS): Likewise.
  14130. (ata_mod_LDFLAGS): Likewise.
  14131. 2007-11-05 Robert Millan <rmh@aybabtu.com>
  14132. * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
  14133. (grub_ata_wait): Reimplement using grub_millisleep().
  14134. * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
  14135. * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
  14136. 2007-11-03 Marco Gerards <marco@gnu.org>
  14137. * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
  14138. (CRTC_ADDR_PORT): New macro.
  14139. (CRTC_DATA_PORT): Likewise.
  14140. (CRTC_CURSOR): Likewise.
  14141. (CRTC_CURSOR_ADDR_HIGH): Likewise.
  14142. (CRTC_CURSOR_ADDR_LOW): Likewise.
  14143. (update_cursor): New function.
  14144. (grub_console_real_putchar): Call `update_cursor'.
  14145. (grub_console_gotoxy): Likewise.
  14146. (grub_console_cls): Set the default color when clearing the
  14147. screen.
  14148. (grub_console_setcursor): Implemented.
  14149. 2007-11-03 Marco Gerards <marco@gnu.org>
  14150. * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
  14151. become activate.
  14152. (grub_ata_pio_write): Likewise.
  14153. (grub_atapi_identify): Wait after issuing an ATA command.
  14154. (grub_atapi_packet): Likewise.
  14155. (grub_ata_identify): Likewise.
  14156. (grub_ata_readwrite): Likewise.
  14157. 2007-11-03 Marco Gerards <marco@gnu.org>
  14158. * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
  14159. (grub_ata_pio_write): Likewise.
  14160. (grub_ata_readwrite): Use `grub_error', instead of
  14161. returning `grub_errno'.
  14162. 2007-11-03 Marco Gerards <marco@gnu.org>
  14163. * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
  14164. grub_ata_pio_write once for every single sector, instead of for
  14165. multiple sectors.
  14166. 2007-10-31 Robert Millan <rmh@aybabtu.com>
  14167. * configure.ac: Add `i386-linuxbios' to the list of supported targets.
  14168. * conf/i386-linuxbios.rmk: New file.
  14169. * kern/i386/pc/hardware.c: Likewise.
  14170. * term/i386/pc/at_keyboard.c: Likewise.
  14171. * term/i386/pc/vga_text.c: Likewise.
  14172. * include/grub/i386/linuxbios/boot.h: Likewise.
  14173. * include/grub/i386/linuxbios/console.h: Likewise.
  14174. * include/grub/i386/linuxbios/init.h: Likewise.
  14175. * include/grub/i386/linuxbios/kernel.h: Likewise.
  14176. * include/grub/i386/linuxbios/loader.h: Likewise.
  14177. * include/grub/i386/linuxbios/memory.h: Likewise.
  14178. * include/grub/i386/linuxbios/serial.h: Likewise.
  14179. * include/grub/i386/linuxbios/time.h: Likewise.
  14180. * kern/i386/linuxbios/init.c: Likewise.
  14181. * kern/i386/linuxbios/startup.S: Likewise.
  14182. * kern/i386/linuxbios/table.c: Likewise.
  14183. 2007-10-31 Marco Gerards <marco@gnu.org>
  14184. * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
  14185. (ata_mod_SOURCES): New variable.
  14186. (ata_mod_CFLAGS): Likewise.
  14187. (ata_mod_LDFLAGS): Likewise.
  14188. * disk/ata.c: New file.
  14189. * include/grub/disk.h (grub_disk_dev_id): Add
  14190. `GRUB_DISK_DEV_ATA_ID'.
  14191. 2007-10-31 Robert Millan <rmh@aybabtu.com>
  14192. * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
  14193. * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
  14194. * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
  14195. * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
  14196. * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
  14197. `<grub/types.h>'.
  14198. * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
  14199. 2007-10-27 Robert Millan <rmh@aybabtu.com>
  14200. * include/grub/types.h (ULONG_MAX): Define macro.
  14201. 2007-10-22 Robert Millan <rmh@aybabtu.com>
  14202. * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
  14203. `"../realmode.S"'.
  14204. Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
  14205. 2007-10-22 Robert Millan <rmh@aybabtu.com>
  14206. * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
  14207. (pkgdata_MODULES): Add `biosdisk.mod'.
  14208. (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
  14209. variables.
  14210. * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
  14211. (grub_biosdisk_init): Replace with ...
  14212. (GRUB_MOD_INIT(biosdisk)): ... this.
  14213. (grub_biosdisk_fini): Replace with ...
  14214. (GRUB_MOD_FINI(biosdisk)): ... this.
  14215. * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
  14216. (grub_machine_init): Remove call to grub_biosdisk_init().
  14217. (grub_machine_fini): Remove call to grub_machine_fini().
  14218. * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
  14219. 2007-10-22 Robert Millan <rmh@aybabtu.com>
  14220. * include/grub/time.h: New file.
  14221. * include/grub/i386/time.h: Likewise.
  14222. * include/grub/powerpc/time.h: Likewise.
  14223. * include/grub/sparc64/time.h: Likewise.
  14224. * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
  14225. instances to ...
  14226. (KERNEL_MACHINE_TIME_HEADER): ... this.
  14227. * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
  14228. instances to ...
  14229. (KERNEL_MACHINE_TIME_HEADER): ... this.
  14230. * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
  14231. instances to ...
  14232. (KERNEL_MACHINE_TIME_HEADER): ... this.
  14233. * kern/i386/efi/init.c: Include `<grub/time.h>'.
  14234. (grub_millisleep): New function.
  14235. * kern/i386/pc/init.c: Include `<grub/time.h>'.
  14236. (grub_millisleep): New function.
  14237. * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
  14238. Remove `grub/machine/time.h' include.
  14239. (grub_millisleep): New function.
  14240. * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
  14241. Remove `grub/machine/time.h' include.
  14242. (grub_millisleep): New function.
  14243. * include/grub/misc.h (grub_div_roundup): New function.
  14244. * kern/misc.c: Include `<grub/time.h>'.
  14245. (grub_millisleep_generic): New function.
  14246. * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
  14247. Add `time.h'.
  14248. * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
  14249. Add `time.h'.
  14250. * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
  14251. `machine/time.h'. Add `time.h'.
  14252. * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
  14253. 2007-10-21 Robert Millan <rmh@aybabtu.com>
  14254. * include/grub/misc.h (grub_max): New function.
  14255. 2007-10-21 Robert Millan <rmh@aybabtu.com>
  14256. * util/misc.c (grub_util_info): Call fflush() before returning.
  14257. 2007-10-20 Robert Millan <rmh@aybabtu.com>
  14258. * genmk.rb (Image): Copy `extra_flags' from here ...
  14259. (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
  14260. * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
  14261. to `argc' and `args' arguments.
  14262. 2007-10-17 Robert Millan <rmh@aybabtu.com>
  14263. * kern/i386/loader.S: New file.
  14264. * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
  14265. * kern/i386/loader.S (grub_linux_prot_size)... to here.
  14266. * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
  14267. * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
  14268. * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
  14269. * kern/i386/loader.S (grub_linux_real_addr)... to here.
  14270. * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
  14271. * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
  14272. * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
  14273. * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
  14274. * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
  14275. * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
  14276. * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
  14277. * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
  14278. * kern/i386/realmode.S: New file.
  14279. * kern/i386/pc/startup.S (protstack): Moved from here ...
  14280. * kern/i386/realmode.S (protstack)... to here.
  14281. * kern/i386/pc/startup.S (gdt): Moved from here ...
  14282. * kern/i386/realmode.S (gdt)... to here.
  14283. * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
  14284. * kern/i386/realmode.S (prot_to_real)... to here.
  14285. * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
  14286. `kern/i386/realmode.S'.
  14287. 2007-10-17 Robert Millan <rmh@aybabtu.com>
  14288. * include/grub/i386/loader.h: New file.
  14289. * include/grub/i386/pc/loader.h (grub_linux_prot_size)
  14290. (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
  14291. (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
  14292. (grub_multiboot_real_boot, grub_multiboot2_real_boot)
  14293. (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
  14294. * include/grub/i386/loader.h (grub_linux_prot_size)
  14295. (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
  14296. (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
  14297. (grub_multiboot_real_boot, grub_multiboot2_real_boot)
  14298. (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
  14299. * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
  14300. 2007-10-15 Robert Millan <rmh@aybabtu.com>
  14301. * normal/misc.c (grub_normal_print_device_info): Do not probe for
  14302. filesystem when dev->disk is unset.
  14303. Do probe for filesystem even when dev->disk->has_partitions is set.
  14304. In case a filesystem is found, always report it.
  14305. In case it isn't, if dev->disk->has_partitions is set, report that
  14306. a partition table was found instead of reporting that no filesystem
  14307. could be identified.
  14308. 2007-10-12 Robert Millan <rmh@aybabtu.com>
  14309. * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
  14310. to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
  14311. * include/grub/types.h (grub_host_to_target16): New macro.
  14312. (grub_host_to_target32): Likewise.
  14313. (grub_host_to_target64): Likewise.
  14314. (grub_target_to_host16): Likewise.
  14315. (grub_target_to_host32): Likewise.
  14316. (grub_target_to_host64): Likewise.
  14317. * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
  14318. Renamed from to ...
  14319. (GRUB_MOD_ALIGN): ...this. Update all users.
  14320. * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
  14321. grub_host_to_target32.
  14322. Replace grub_be_to_cpu32 with grub_target_to_host32.
  14323. (load_modules): Likewise.
  14324. (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
  14325. Replace grub_be_to_cpu32 with grub_target_to_host32.
  14326. Replace grub_cpu_to_be16 with grub_host_to_target16.
  14327. Replace grub_cpu_to_be32 grub_host_to_target32.
  14328. 2007-10-12 Robert Millan <rmh@aybabtu.com>
  14329. * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
  14330. * util/elf/grub-mkimage.c: ... here.
  14331. * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
  14332. `util/powerpc/ieee1275/grub-mkimage.c'.
  14333. 2007-10-07 Robert Millan <rmh@aybabtu.com>
  14334. * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
  14335. and make it easier to figure out.
  14336. Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
  14337. (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
  14338. Do not avoid claiming a region above HEAP_MAX_ADDR if that would
  14339. leave us with less than HEAP_MIN_SIZE total heap.
  14340. Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
  14341. 2007-10-03 Robert Millan <rmh@aybabtu.com>
  14342. * include/grub/i386/io.h: New file.
  14343. * commands/i386/pc/play.c (inb): Removed.
  14344. (outb): Removed.
  14345. Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
  14346. with grub_outb().
  14347. * term/i386/pc/serial.c (inb): Removed.
  14348. (outb): Removed.
  14349. Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
  14350. with grub_outb().
  14351. * term/i386/pc/vga.c (inb): Removed.
  14352. (outb): Removed.
  14353. Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
  14354. with grub_outb().
  14355. 2007-10-02 Robert Millan <rmh@aybabtu.com>
  14356. * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
  14357. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  14358. Reported by Marcin Kurek.
  14359. 2007-09-07 Robert Millan <rmh@aybabtu.com>
  14360. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
  14361. SmartFirmware version updates (as released by Sven Luther), and avoid
  14362. setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
  14363. GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
  14364. known broken.
  14365. 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
  14366. From Hitoshi Ozeki:
  14367. * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
  14368. when merging two regions.
  14369. 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
  14370. * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
  14371. * normal/completion.c (grub_normal_do_completion): Likewise.
  14372. Reported by Hitoshi Ozeki.
  14373. 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
  14374. Do not use devices at boot in chainloading.
  14375. * loader/i386/pc/chainloader.c (boot_drive): New variable.
  14376. (boot_part_addr): Likewise.
  14377. (grub_chainloader_boot): Simply call grub_chainloader_real_boot
  14378. with BOOT_DRIVE and BOOT_PART_ADDR.
  14379. (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
  14380. Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
  14381. 2007-08-29 Robert Millan <rmh@aybabtu.com>
  14382. Patch from Simon Peter <dn.tlp@gmx.net>:
  14383. * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
  14384. * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
  14385. util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
  14386. util/i386/pc/grub-setup.c_DEPENDENCIES.
  14387. * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
  14388. util/grub-probe.c_DEPENDENCIES.
  14389. * conf/powerpc-ieee1275.rmk: Likewise.
  14390. 2007-08-28 Robert Millan <rmh@aybabtu.com>
  14391. * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
  14392. to tell grub-mkdevicemap how to name devices.
  14393. * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
  14394. feature).
  14395. * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
  14396. util/i386/get_disk_name.c.
  14397. * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
  14398. * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
  14399. util/ieee1275/get_disk_name.c.
  14400. * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
  14401. * DISTLIST: Add util/i386/get_disk_name.c and
  14402. util/ieee1275/get_disk_name.c.
  14403. * util/grub-mkdevicemap.c: Replace device naming logic with
  14404. grub_util_get_disk_name() calls.
  14405. 2007-08-20 Robert Millan <rmh@aybabtu.com>
  14406. * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
  14407. (so that it works for both plural and singular quantities).
  14408. 2007-08-05 Robert Millan <rmh@aybabtu.com>
  14409. * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
  14410. so that [xz] isn't taken into account when determining order.
  14411. 2007-08-02 Marco Gerards <marco@gnu.org>
  14412. * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
  14413. `include/multiboot2.h', `include/grub/elfload.h',
  14414. `include/multiboot.h', `include/grub/multiboot.h',
  14415. `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
  14416. `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
  14417. `kern/elf.c', `loader/multiboot_loader.c',
  14418. `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
  14419. `loader/i386/pc/multiboot2.c',
  14420. `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
  14421. `util/i386/pc/grub-mkrescue.in'. Remove
  14422. `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
  14423. `include/grub/i386/pc/util/biosdisk.h' and
  14424. `include/grub/powerpc/ieee1275/multiboot.h'.
  14425. 2007-08-02 Bean <bean123ch@gmail.com>
  14426. * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
  14427. (ntfs_mod_SOURCES): New variable.
  14428. (ntfs_mod_CFLAGS): Likewise.
  14429. (ntfs_mod_LDFLAGS): Likewise.
  14430. * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
  14431. (grub_probe_SOURCES): Likewise.
  14432. (grub_emu_SOURCES): Likewise.
  14433. * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
  14434. (grub_emu_SOURCES): Likewise.
  14435. * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
  14436. (grub_emu_SOURCES): Likewise.
  14437. * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
  14438. * fs/ntfs.c: New file.
  14439. 2007-08-02 Bean <bean123ch@gmail.com>
  14440. * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
  14441. * file.h (grub_file): Likewise.
  14442. * fshelp.h (grub_fshelp_read_file): Likewise.
  14443. * util/i386/pc/grub-setup.c (setup): Likewise.
  14444. (save_first_sector): Likewise.
  14445. (save_blocklists): Likewise.
  14446. * fs/affs.c (grub_affs_read_file): Likewise.
  14447. * fs/ext2.c (grub_ext2_read_file): Likewise.
  14448. * fs/fat.c (grub_fat_read_data): Likewise.
  14449. * fs/fshelp.c (grub_fshelp_read_file): Likewise.
  14450. * fs/hfs.c (grub_hfs_read_file): Likewise.
  14451. * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
  14452. * fs/jfs.c (grub_jfs_read_file): Likewise.
  14453. * fs/minix.c (grub_minix_read_file): Likewise.
  14454. * fs/sfs.c (grub_sfs_read_file): Likewise.
  14455. * fs/ufs.c (grub_ufs_read_file): Likewise.
  14456. * fs/xfs.c (grub_xfs_read_file): Likewise.
  14457. * command/blocklist.c (read_blocklist): Likewise.
  14458. (print_blocklist): Likewise.
  14459. 2007-08-02 Marco Gerards <marco@gnu.org>
  14460. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
  14461. `util/hostfs.c'.
  14462. * disk/host.c: New file.
  14463. * util/hostfs.c: Likewise.
  14464. * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
  14465. return `GRUB_ERR_BAD_FS'.
  14466. * fs/sfs.c (grub_sfs_mount): Likewise.
  14467. * fs/xfs.c (grub_xfs_mount): Likewise.
  14468. * include/grub/disk.h (enum grub_disk_dev_id): Add
  14469. `GRUB_DISK_DEVICE_HOST_ID'.
  14470. * util/grub-emu.c (main): Initialize and de-initialize hostfs.
  14471. 2007-07-24 Jerone Young <jerone@gmail.com>
  14472. * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
  14473. modules for compilation.
  14474. * conf/powerpc-ieee1275.rmk: Likewise.
  14475. * include/multiboot.h: Move multiboot definitions to one file. Rename
  14476. many definitions to not get grub specific.
  14477. * include/multiboot2.h: Create header with multiboot 2 definitions.
  14478. * include/grub/multiboot.h: Header for grub specific function
  14479. prototypes and definitions.
  14480. * include/grub/multiboot2.h: Likewise.
  14481. * include/grub/multiboot_loader.h: Likewise.
  14482. * include/grub/i386/pc/multiboot.h: Removed.
  14483. * include/grub/powerpc/ieee1275/multiboot.h: Removed.
  14484. * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
  14485. and 2 to allow for one multiboot and module commands.
  14486. * loader/multiboot2.c: Add multiboot2 functionality.
  14487. * loader/i386/pc/multiboot.c: Modify for new multiboot header location
  14488. and definition names.
  14489. * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
  14490. 2 functions.
  14491. * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
  14492. ieee1275 specific multiboot2 code.
  14493. * kern/i386/pc/startup.S: Change headers and definition names for
  14494. multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
  14495. 2007-07-22 Robert Millan <rmh@aybabtu.com>
  14496. * geninitheader.sh: Process file specified in first parameter rather
  14497. than hardcoding grub_modules_init.lst.
  14498. * geninit.sh: Likewise. Also, construct header name dynamically rather
  14499. than hardcoding grub_modules_init.h.
  14500. * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
  14501. grub-emu to grub_emu_init.[ch]. Add rules to build analogous
  14502. grub_probe_init.[ch] and grub_setup_init.[ch].
  14503. * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
  14504. grub_modules_init.h with grub_emu_init.h.
  14505. (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
  14506. grub_probe_init.[ch] files.
  14507. * conf/i386-efi.rmk: Likewise.
  14508. * conf/i386-pc.rmk: Likewise.
  14509. (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
  14510. grub_setup_init.[ch] files.
  14511. * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
  14512. * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
  14513. to initialize modules rather than a list of hardcoded functions.
  14514. * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
  14515. grub_init_all() to initialize modules rather than a list of hardcoded
  14516. functions.
  14517. 2007-07-22 Robert Millan <rmh@aybabtu.com>
  14518. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
  14519. GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
  14520. 2007-07-22 Robert Millan <rmh@aybabtu.com>
  14521. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
  14522. GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
  14523. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
  14524. flag when running on SmartFirmware.
  14525. * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
  14526. "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
  14527. was set.
  14528. * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
  14529. Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
  14530. rather than decreasing it.
  14531. * util/i386/pc/grub-setup.c (setup): When embedding is required, but
  14532. there's not enough space to do it, fail in the same way as when it
  14533. can't be done because there are no partitions.
  14534. * util/powerpc/ieee1275/grub-install.in: Improve error message shown
  14535. when nvsetenv failed.
  14536. 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
  14537. * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
  14538. because this rule is automatically generated.
  14539. (grub-mkrescue): Removed for the same reason as above.
  14540. 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
  14541. Migrate to GNU General Public License Version 3.
  14542. * COPYING: Replaced with the plain text version of GPLv3.
  14543. * config.guess: Updated from gnulib.
  14544. * config.sub: Likewise.
  14545. * geninit.sh: Output a GPLv3 copyright notice.
  14546. * geninitheader.sh: Likewise.
  14547. * genmodsrc.sh: Likewise.
  14548. * gensymlist.sh.in: Likewise.
  14549. * boot/i386/pc/boot.S: Upgraded to GPLv3.
  14550. * boot/i386/pc/diskboot.S: Likewise.
  14551. * boot/i386/pc/pxeboot.S: Likewise.
  14552. * commands/blocklist.c: Likewise.
  14553. * commands/boot.c: Likewise.
  14554. * commands/cat.c: Likewise.
  14555. * commands/cmp.c: Likewise.
  14556. * commands/configfile.c: Likewise.
  14557. * commands/echo.c: Likewise.
  14558. * commands/help.c: Likewise.
  14559. * commands/ls.c: Likewise.
  14560. * commands/search.c: Likewise.
  14561. * commands/terminal.c: Likewise.
  14562. * commands/test.c: Likewise.
  14563. * commands/videotest.c: Likewise.
  14564. * commands/i386/cpuid.c: Likewise.
  14565. * commands/i386/pc/halt.c: Likewise.
  14566. * commands/i386/pc/play.c: Likewise.
  14567. * commands/i386/pc/reboot.c: Likewise.
  14568. * commands/i386/pc/vbeinfo.c: Likewise.
  14569. * commands/i386/pc/vbetest.c: Likewise.
  14570. * commands/ieee1275/halt.c: Likewise.
  14571. * commands/ieee1275/reboot.c: Likewise.
  14572. * commands/ieee1275/suspend.c: Likewise.
  14573. * disk/loopback.c: Likewise.
  14574. * disk/lvm.c: Likewise.
  14575. * disk/raid.c: Likewise.
  14576. * disk/efi/efidisk.c: Likewise.
  14577. * disk/i386/pc/biosdisk.c: Likewise.
  14578. * disk/ieee1275/ofdisk.c: Likewise.
  14579. * font/manager.c: Likewise.
  14580. * fs/affs.c: Likewise.
  14581. * fs/ext2.c: Likewise.
  14582. * fs/fat.c: Likewise.
  14583. * fs/fshelp.c: Likewise.
  14584. * fs/hfs.c: Likewise.
  14585. * fs/hfsplus.c: Likewise.
  14586. * fs/iso9660.c: Likewise.
  14587. * fs/jfs.c: Likewise.
  14588. * fs/minix.c: Likewise.
  14589. * fs/sfs.c: Likewise.
  14590. * fs/ufs.c: Likewise.
  14591. * fs/xfs.c: Likewise.
  14592. * hello/hello.c: Likewise.
  14593. * include/grub/acorn_filecore.h: Likewise.
  14594. * include/grub/arg.h: Likewise.
  14595. * include/grub/bitmap.h: Likewise.
  14596. * include/grub/boot.h: Likewise.
  14597. * include/grub/cache.h: Likewise.
  14598. * include/grub/device.h: Likewise.
  14599. * include/grub/disk.h: Likewise.
  14600. * include/grub/dl.h: Likewise.
  14601. * include/grub/elfload.h: Likewise.
  14602. * include/grub/env.h: Likewise.
  14603. * include/grub/err.h: Likewise.
  14604. * include/grub/file.h: Likewise.
  14605. * include/grub/font.h: Likewise.
  14606. * include/grub/fs.h: Likewise.
  14607. * include/grub/fshelp.h: Likewise.
  14608. * include/grub/gzio.h: Likewise.
  14609. * include/grub/hfs.h: Likewise.
  14610. * include/grub/kernel.h: Likewise.
  14611. * include/grub/loader.h: Likewise.
  14612. * include/grub/lvm.h: Likewise.
  14613. * include/grub/misc.h: Likewise.
  14614. * include/grub/mm.h: Likewise.
  14615. * include/grub/net.h: Likewise.
  14616. * include/grub/normal.h: Likewise.
  14617. * include/grub/parser.h: Likewise.
  14618. * include/grub/partition.h: Likewise.
  14619. * include/grub/pc_partition.h: Likewise.
  14620. * include/grub/raid.h: Likewise.
  14621. * include/grub/rescue.h: Likewise.
  14622. * include/grub/script.h: Likewise.
  14623. * include/grub/setjmp.h: Likewise.
  14624. * include/grub/symbol.h: Likewise.
  14625. * include/grub/term.h: Likewise.
  14626. * include/grub/terminfo.h: Likewise.
  14627. * include/grub/tparm.h: Likewise.
  14628. * include/grub/types.h: Likewise.
  14629. * include/grub/video.h: Likewise.
  14630. * include/grub/efi/api.h: Likewise.
  14631. * include/grub/efi/chainloader.h: Likewise.
  14632. * include/grub/efi/console.h: Likewise.
  14633. * include/grub/efi/console_control.h: Likewise.
  14634. * include/grub/efi/disk.h: Likewise.
  14635. * include/grub/efi/efi.h: Likewise.
  14636. * include/grub/efi/pe32.h: Likewise.
  14637. * include/grub/efi/time.h: Likewise.
  14638. * include/grub/i386/linux.h: Likewise.
  14639. * include/grub/i386/setjmp.h: Likewise.
  14640. * include/grub/i386/types.h: Likewise.
  14641. * include/grub/i386/efi/kernel.h: Likewise.
  14642. * include/grub/i386/efi/loader.h: Likewise.
  14643. * include/grub/i386/efi/time.h: Likewise.
  14644. * include/grub/i386/pc/biosdisk.h: Likewise.
  14645. * include/grub/i386/pc/boot.h: Likewise.
  14646. * include/grub/i386/pc/chainloader.h: Likewise.
  14647. * include/grub/i386/pc/console.h: Likewise.
  14648. * include/grub/i386/pc/init.h: Likewise.
  14649. * include/grub/i386/pc/kernel.h: Likewise.
  14650. * include/grub/i386/pc/loader.h: Likewise.
  14651. * include/grub/i386/pc/memory.h: Likewise.
  14652. * include/grub/i386/pc/multiboot.h: Likewise.
  14653. * include/grub/i386/pc/serial.h: Likewise.
  14654. * include/grub/i386/pc/time.h: Likewise.
  14655. * include/grub/i386/pc/vbe.h: Likewise.
  14656. * include/grub/i386/pc/vbeblit.h: Likewise.
  14657. * include/grub/i386/pc/vbefill.h: Likewise.
  14658. * include/grub/i386/pc/vbeutil.h: Likewise.
  14659. * include/grub/i386/pc/vga.h: Likewise.
  14660. * include/grub/ieee1275/ieee1275.h: Likewise.
  14661. * include/grub/ieee1275/ofdisk.h: Likewise.
  14662. * include/grub/powerpc/libgcc.h: Likewise.
  14663. * include/grub/powerpc/setjmp.h: Likewise.
  14664. * include/grub/powerpc/types.h: Likewise.
  14665. * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
  14666. * include/grub/powerpc/ieee1275/console.h: Likewise.
  14667. * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
  14668. * include/grub/powerpc/ieee1275/kernel.h: Likewise.
  14669. * include/grub/powerpc/ieee1275/loader.h: Likewise.
  14670. * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
  14671. * include/grub/powerpc/ieee1275/time.h: Likewise.
  14672. * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
  14673. * include/grub/sparc64/libgcc.h: Likewise.
  14674. * include/grub/sparc64/setjmp.h: Likewise.
  14675. * include/grub/sparc64/types.h: Likewise.
  14676. * include/grub/sparc64/ieee1275/console.h: Likewise.
  14677. * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
  14678. * include/grub/sparc64/ieee1275/kernel.h: Likewise.
  14679. * include/grub/sparc64/ieee1275/time.h: Likewise.
  14680. * include/grub/util/biosdisk.h: Likewise.
  14681. * include/grub/util/getroot.h: Likewise.
  14682. * include/grub/util/lvm.h: Likewise.
  14683. * include/grub/util/misc.h: Likewise.
  14684. * include/grub/util/raid.h: Likewise.
  14685. * include/grub/util/resolve.h: Likewise.
  14686. * io/gzio.c: Likewise.
  14687. * kern/device.c: Likewise.
  14688. * kern/disk.c: Likewise.
  14689. * kern/dl.c: Likewise.
  14690. * kern/elf.c: Likewise.
  14691. * kern/env.c: Likewise.
  14692. * kern/err.c: Likewise.
  14693. * kern/file.c: Likewise.
  14694. * kern/fs.c: Likewise.
  14695. * kern/loader.c: Likewise.
  14696. * kern/main.c: Likewise.
  14697. * kern/misc.c: Likewise.
  14698. * kern/mm.c: Likewise.
  14699. * kern/parser.c: Likewise.
  14700. * kern/partition.c: Likewise.
  14701. * kern/rescue.c: Likewise.
  14702. * kern/term.c: Likewise.
  14703. * kern/efi/efi.c: Likewise.
  14704. * kern/efi/init.c: Likewise.
  14705. * kern/efi/mm.c: Likewise.
  14706. * kern/i386/dl.c: Likewise.
  14707. * kern/i386/efi/init.c: Likewise.
  14708. * kern/i386/efi/startup.S: Likewise.
  14709. * kern/i386/pc/init.c: Likewise.
  14710. * kern/i386/pc/lzo1x.S: Likewise.
  14711. * kern/i386/pc/startup.S: Likewise.
  14712. * kern/ieee1275/ieee1275.c: Likewise.
  14713. * kern/powerpc/cache.S: Likewise.
  14714. * kern/powerpc/dl.c: Likewise.
  14715. * kern/powerpc/ieee1275/cmain.c: Likewise.
  14716. * kern/powerpc/ieee1275/crt0.S: Likewise.
  14717. * kern/powerpc/ieee1275/init.c: Likewise.
  14718. * kern/powerpc/ieee1275/openfw.c: Likewise.
  14719. * kern/sparc64/cache.S: Likewise.
  14720. * kern/sparc64/dl.c: Likewise.
  14721. * kern/sparc64/ieee1275/init.c: Likewise.
  14722. * kern/sparc64/ieee1275/openfw.c: Likewise.
  14723. * loader/efi/chainloader.c: Likewise.
  14724. * loader/efi/chainloader_normal.c: Likewise.
  14725. * loader/i386/efi/linux.c: Likewise.
  14726. * loader/i386/efi/linux_normal.c: Likewise.
  14727. * loader/i386/pc/chainloader.c: Likewise.
  14728. * loader/i386/pc/chainloader_normal.c: Likewise.
  14729. * loader/i386/pc/linux.c: Likewise.
  14730. * loader/i386/pc/linux_normal.c: Likewise.
  14731. * loader/i386/pc/multiboot.c: Likewise.
  14732. * loader/i386/pc/multiboot_normal.c: Likewise.
  14733. * loader/powerpc/ieee1275/linux.c: Likewise.
  14734. * loader/powerpc/ieee1275/linux_normal.c: Likewise.
  14735. * normal/arg.c: Likewise.
  14736. * normal/cmdline.c: Likewise.
  14737. * normal/command.c: Likewise.
  14738. * normal/completion.c: Likewise.
  14739. * normal/execute.c: Likewise.
  14740. * normal/function.c: Likewise.
  14741. * normal/lexer.c: Likewise.
  14742. * normal/main.c: Likewise.
  14743. * normal/menu.c: Likewise.
  14744. * normal/menu_entry.c: Likewise.
  14745. * normal/misc.c: Likewise.
  14746. * normal/parser.y: Likewise.
  14747. * normal/script.c: Likewise.
  14748. * normal/i386/setjmp.S: Likewise.
  14749. * normal/powerpc/setjmp.S: Likewise.
  14750. * normal/sparc64/setjmp.S: Likewise.
  14751. * partmap/acorn.c: Likewise.
  14752. * partmap/amiga.c: Likewise.
  14753. * partmap/apple.c: Likewise.
  14754. * partmap/gpt.c: Likewise.
  14755. * partmap/pc.c: Likewise.
  14756. * partmap/sun.c: Likewise.
  14757. * term/gfxterm.c: Likewise.
  14758. * term/terminfo.c: Likewise.
  14759. * term/efi/console.c: Likewise.
  14760. * term/i386/pc/console.c: Likewise.
  14761. * term/i386/pc/serial.c: Likewise.
  14762. * term/i386/pc/vesafb.c: Likewise.
  14763. * term/i386/pc/vga.c: Likewise.
  14764. * term/ieee1275/ofconsole.c: Likewise.
  14765. * util/biosdisk.c: Likewise.
  14766. * util/console.c: Likewise.
  14767. * util/genmoddep.c: Likewise.
  14768. * util/getroot.c: Likewise.
  14769. * util/grub-emu.c: Likewise.
  14770. * util/grub-mkdevicemap.c: Likewise.
  14771. * util/grub-probe.c: Likewise.
  14772. * util/lvm.c: Likewise.
  14773. * util/misc.c: Likewise.
  14774. * util/raid.c: Likewise.
  14775. * util/resolve.c: Likewise.
  14776. * util/update-grub.in: Likewise.
  14777. * util/update-grub_lib.in: Likewise.
  14778. * util/grub.d/00_header.in: Likewise.
  14779. * util/grub.d/10_hurd.in: Likewise.
  14780. * util/grub.d/10_linux.in: Likewise.
  14781. * util/i386/efi/grub-install.in: Likewise.
  14782. * util/i386/efi/grub-mkimage.c: Likewise.
  14783. * util/i386/pc/grub-install.in: Likewise.
  14784. * util/i386/pc/grub-mkimage.c: Likewise.
  14785. * util/i386/pc/grub-mkrescue.in: Likewise.
  14786. * util/i386/pc/grub-setup.c: Likewise.
  14787. * util/i386/pc/misc.c: Likewise.
  14788. * util/powerpc/ieee1275/grub-install.in: Likewise.
  14789. * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
  14790. * util/powerpc/ieee1275/misc.c: Likewise.
  14791. * video/bitmap.c: Likewise.
  14792. * video/video.c: Likewise.
  14793. * video/i386/pc/vbe.c: Likewise.
  14794. * video/i386/pc/vbeblit.c: Likewise.
  14795. * video/i386/pc/vbefill.c: Likewise.
  14796. * video/i386/pc/vbeutil.c: Likewise.
  14797. * video/readers/tga.c: Likewise.
  14798. 2007-07-02 Robert Millan <rmh@aybabtu.com>
  14799. * conf/i386-efi.rmk: Replace obsolete reference to
  14800. util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
  14801. with util/getroot.c.
  14802. * conf/powerpc-ieee1275.rmk: Likewise.
  14803. * conf/sparc64-ieee1275.rmk: Likewise.
  14804. * util/grub-emu.c (main): Fix unchecked pointer handling.
  14805. 2007-07-02 Robert Millan <rmh@aybabtu.com>
  14806. * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
  14807. invocation to fail, in order to support partition-less media.
  14808. * util/i386/pc/grub-install.in: Likewise.
  14809. * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
  14810. which fs or partmap modules are needed (akin to its sister scripts).
  14811. Also use grub-probe to get rid of unportable /proc/mounts check.
  14812. Print the same informational message that the other scripts do, before
  14813. exiting.
  14814. 2007-06-23 Robert Millan <rmh@aybabtu.com>
  14815. * util/update-grub_lib.in (font_path): New function. Determine whether
  14816. a font file can be found and, if so, echo the GRUB path to it.
  14817. * util/update-grub.in: Handle multiple terminals depending on user
  14818. input, platform availability and font file presence. Propagate
  14819. variables of our findings to /etc/grub.d/ children.
  14820. * util/grub.d/00_header.in: Handle multiple terminals, based on
  14821. environment setup by update-grub.
  14822. 2007-06-23 Robert Millan <rmh@aybabtu.com>
  14823. * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
  14824. 2007-06-21 Robert Millan <rmh@aybabtu.com>
  14825. * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
  14826. indicate end of data section in kernel image.
  14827. * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
  14828. GRUB_KERNEL_MACHINE_DATA_END.
  14829. * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
  14830. space for it.
  14831. * kern/i386/efi/startup.S: Likewise.
  14832. * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
  14833. during image generation. Implement --prefix option to override this
  14834. patch.
  14835. * util/i386/efi/grub-mkimage.c: Likewise.
  14836. * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
  14837. code to make path relative to its root into a separate function.
  14838. * util/i386/pc/grub-install.in: Use newly provided
  14839. make_system_path_relative_to_its_root() to convert ${grubdir}, then
  14840. pass the result to grub-install --prefix.
  14841. 2007-06-13 Robert Millan <rmh@aybabtu.com>
  14842. * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
  14843. DEFAULT_DEVICE_MAP.
  14844. * util/grub-emu.c: Use above definitions from misc.h instead of
  14845. defining them.
  14846. * util/grub-mkdevicemap.c: Likewise.
  14847. * util/i386/pc/grub-setup.c: Likewise.
  14848. * util/grub-probe.c: Likewise.
  14849. (probe): Abort with grub_util_error() when either
  14850. grub_guess_root_device or grub_util_get_grub_dev fails.
  14851. 2007-06-12 Robert Millan <rmh@aybabtu.com>
  14852. * normal/command.c (grub_command_execute): Use NULL rather than 0 for
  14853. "pager" assignment.
  14854. * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
  14855. "pcdata".
  14856. * util/grub-probe.c (probe): Likewise for "drive_name".
  14857. 2007-06-11 Robert Millan <rmh@aybabtu.com>
  14858. * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
  14859. not just the cdrom one.
  14860. 2007-06-11 Robert Millan <rmh@aybabtu.com>
  14861. * util/i386/pc/grub-mkrescue.in: Add "set -e".
  14862. Add --pkglibdir=DIR option to override pkglibdir.
  14863. Mention --image-type=TYPE in help output.
  14864. Fix --grub-mkimage (it was a no-op).
  14865. Abort gracefully when no parameter is given.
  14866. 2007-06-11 Robert Millan <rmh@aybabtu.com>
  14867. * util/i386/pc/grub-mkrescue.in: New file.
  14868. * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
  14869. * Makefile.in: Handle bin_SCRIPTS.
  14870. 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
  14871. * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
  14872. list of video modes.
  14873. 2007-06-06 Robert Millan <rmh@aybabtu.com>
  14874. * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
  14875. file doesn't exist, or if it is in a filesystem grub can't read.
  14876. * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
  14877. not abort if GRUB_DRIVE could not be defined. Rearrange generated
  14878. header comment to fit in 80 columns when the variables are resolved.
  14879. * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
  14880. could be identified by update-grub. Remove redundant check for
  14881. unifont.pff existence (since convert_system_path_to_grub_path now
  14882. handles that).
  14883. 2007-06-04 Robert Millan <rmh@aybabtu.com>
  14884. * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
  14885. * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
  14886. * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
  14887. 2007-06-04 Robert Millan <rmh@aybabtu.com>
  14888. * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
  14889. * include/grub/partition.h: Declare grub_apple_partition_map_init and
  14890. grub_apple_partition_map_fini.
  14891. * util/biosdisk.c
  14892. (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
  14893. to access >2 TiB disks).
  14894. Print disk->total_sectors with %llu instead of %lu, since this
  14895. variable is always 64-bit (prevents wrong disk size from being displayed
  14896. on either >2 TiB disk or big-endian CPU).
  14897. (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
  14898. into a generic case that supports all (sane) partition maps.
  14899. Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
  14900. breaks big-endian.
  14901. * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
  14902. and grub_apple_partition_map_fini() after that.
  14903. 2007-06-01 Robert Millan <rmh@aybabtu.com>
  14904. * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
  14905. * util/grub.d/00_header.in: Only enable gfxterm when
  14906. convert_system_path_to_grub_path() succeeds.
  14907. 2007-05-20 Robert Millan <rmh@aybabtu.com>
  14908. * util/update-grub_lib.in: New file.
  14909. * DISTLIST: Add update-grub_lib.in.
  14910. * conf/common.rmk: Generate update-grub_lib and install it in
  14911. $(lib_DATA).
  14912. * Makefile.in: Add install routine for $(lib_DATA).
  14913. * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
  14914. function provided by update-grub_lib to support arbitrary paths of
  14915. unifont.pff.
  14916. * util/update-grub.in: Use convert_system_path_to_grub_path() to
  14917. initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
  14918. 2007-05-19 Robert Millan <rmh@aybabtu.com>
  14919. * commands/i386/cpuid.c: New module.
  14920. * DISTLIST: Add it.
  14921. * conf/i386-efi.rmk: Enable cpuid.mod.
  14922. * conf/i386-pc.rmk: Likewise.
  14923. 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
  14924. * kern/disk.c (grub_disk_read): Check return value of
  14925. grub_realloc().
  14926. 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
  14927. * util/getroot.c (grub_util_get_grub_dev): Support partitionable
  14928. arrays.
  14929. * disk/raid.c (grub_raid_open): Likewise.
  14930. 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
  14931. * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
  14932. stack instead of on the heap.
  14933. * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
  14934. before doing a read on it.
  14935. * configure.ac: Only use -fno-stack-protector for the target
  14936. environment.
  14937. 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
  14938. * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
  14939. __attribute_ ((unused)) to mode_type argument.
  14940. * util/getroot.c (grub_guess_root_device): Fix #endif.
  14941. * kern/misc.c (memcmp): Fix prototype.
  14942. * include/grub/partition.h [GRUB_UTIL]
  14943. (grub_gpt_partition_map_init): Add prototype.
  14944. (grub_gpt_partition_map_fini): Likewise.
  14945. * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
  14946. at the right place.
  14947. * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
  14948. (grub_fat_read_data): Likewise.
  14949. (grub_fat_find_dir): Likewise.
  14950. * font/manager.c (find_glyph): Make table a const.
  14951. (grub_font_get_glyph): Remove bitmap from if statement.
  14952. 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
  14953. * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
  14954. code, first search for device in /dev/mapper, then in /dev.
  14955. (grub_util_get_grub_dev): New function.
  14956. * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
  14957. prototype.
  14958. * util/grub-probe.c (probe): Remove check for RAID, call
  14959. grub_util_get_grub_dev() instead of
  14960. grub_util_biosdisk_get_grub_dev().
  14961. * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
  14962. grub_util_biosdisk_get_grub_dev().
  14963. * util/i386/pc/grub-setup.c (main): Likewise.
  14964. 2007-05-16 Robert Millan <rmh@aybabtu.com>
  14965. * DISTLIST: Update for the latest changes.
  14966. * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
  14967. util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
  14968. * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
  14969. grub/util/biosdisk.h.
  14970. * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
  14971. grub/util/biosdisk.h.
  14972. 2007-05-16 Robert Millan <rmh@aybabtu.com>
  14973. * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
  14974. 2007-05-16 Robert Millan <rmh@aybabtu.com>
  14975. * util/i386/efi/grub-install.in: New.
  14976. * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
  14977. newly added grub-install.
  14978. * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
  14979. include.
  14980. * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
  14981. grub/util/biosdisk.h.
  14982. * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
  14983. grub/util/biosdisk.h.
  14984. 2007-05-16 Robert Millan <rmh@aybabtu.com>
  14985. * include/grub/i386/pc/util/biosdisk.h: Moved to ...
  14986. * include/grub/util/biosdisk.h: ... here.
  14987. * util/i386/pc/biosdisk.c: Moved to ...
  14988. * util/biosdisk.c: ... here.
  14989. * util/i386/pc/getroot.c: Moved to ...
  14990. * util/getroot.c: ... here.
  14991. * util/i386/pc/grub-mkdevicemap.c: Moved to ...
  14992. * util/grub-mkdevicemap.c: ... here.
  14993. * util/i386/pc/grub-probe.c: Moved to ...
  14994. * util/grub-probe.c: ... here.
  14995. 2007-05-15 Robert Millan <rmh@aybabtu.com>
  14996. * util/update-grub.in: Remove duplicated line in grub.cfg header
  14997. message.
  14998. 2007-05-13 Robert Millan <rmh@aybabtu.com>
  14999. * util/update-grub.in: Fix a few assumptions about the devices holding
  15000. /, /boot and /boot/grub being the same.
  15001. * util/grub.d/00_header.in: Likewise.
  15002. * util/grub.d/10_hurd.in: Likewise.
  15003. * util/grub.d/10_linux.in: Likewise.
  15004. * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
  15005. patterns. Use that to define the `.old' suffix as older than `'.
  15006. * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
  15007. * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
  15008. the grub.cfg header message.
  15009. 2007-05-11 Robert Millan <rmh@aybabtu.com>
  15010. * util/update-grub.in: Create device.map if it doesn't already exist,
  15011. before attempting to run grub-probe.
  15012. Check for grub-probe and grub-mkdevicemap with the same code
  15013. grub-install is using.
  15014. Remove test mode.
  15015. 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
  15016. * Makefile.in: Add the datarootdir autoconf variable.
  15017. 2007-05-09 Robert Millan <rmh@aybabtu.com>
  15018. * util/i386/pc/grub-probe.c (probe): When detecting partition map,
  15019. fail gracefully if dev->disk->partition == NULL.
  15020. 2007-05-07 Robert Millan <rmh@aybabtu.com>
  15021. * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
  15022. determine partition map module.
  15023. * util/i386/pc/grub-install.in: Use this feature to decide which
  15024. partition module to load, instead of hardcoding pc and gpt.
  15025. 2007-05-07 Robert Millan <rmh@aybabtu.com>
  15026. * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
  15027. source directory differs from build directory.
  15028. 2007-05-05 Robert Millan <rmh@aybabtu.com>
  15029. * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
  15030. initialisation.
  15031. 2007-05-05 Robert Millan <rmh@aybabtu.com>
  15032. * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
  15033. 2007-05-05 Robert Millan <rmh@aybabtu.com>
  15034. * util/grub.d/10_linux.in: Allow the administrator to insert Linux
  15035. command-line arguments via ${GRUB_CMDLINE_LINUX}.
  15036. 2007-05-05 Robert Millan <rmh@aybabtu.com>
  15037. * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
  15038. (grub_probe_SOURCES): Likewise.
  15039. * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
  15040. GPT and initialize dos_part and bsd_part accordingly.
  15041. * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
  15042. install_bsd_part.
  15043. (main): Activate gpt module for use during partition identification,
  15044. and deactivate it afterwards.
  15045. * util/i386/pc/grub-install.in: Add gpt module to core.img.
  15046. * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
  15047. partition identification, and deactivate it afterwards.
  15048. 2007-05-05 Robert Millan <rmh@aybabtu.com>
  15049. * term/i386/pc/console.c (grub_console_fini): Call
  15050. grub_term_set_current() before grub_term_unregister().
  15051. 2007-05-04 Robert Millan <rmh@aybabtu.com>
  15052. * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
  15053. util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
  15054. * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
  15055. and update-grub_DATA.
  15056. * conf/common.rmk: Build and install update-grub components.
  15057. * conf/common.mk: Regenerate.
  15058. * util/update-grub.in: New. Core of update-grub.
  15059. * util/grub.d/00_header.in: New. Generates grub.cfg header.
  15060. * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
  15061. * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
  15062. * util/grub.d/README: New. Document grub.d directory layout.
  15063. 2007-05-01 Robert Millan <rmh@aybabtu.com>
  15064. * util/grub-emu.c: Move initialization functions
  15065. grub_util_biosdisk_init() and grub_init_all() before
  15066. grub_util_biosdisk_get_grub_dev(), which relies on them.
  15067. 2007-04-19 Robert Millan <rmh@aybabtu.com>
  15068. * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
  15069. it is used later.
  15070. 2007-04-18 Jerone Young <jerone@gmail.com>
  15071. * kernel/elf.c: Add missing parenthesis for conditional statement
  15072. stanza.
  15073. 2007-04-10 Jerone Young <jerone@gmail.com>
  15074. * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
  15075. continue on and look for device node with real device name.
  15076. 2007-04-10 Jerone Young <jerone@gmail.com>
  15077. * configure.ac: Add argument for autoconf to use transformation
  15078. ability.
  15079. * Makefile.in: Add autoconf package transformation code.
  15080. * util/i386/pc/grub-install.in: Likewise.
  15081. * util/powerpc/ieee1275/grub-install.in: Likewise.
  15082. 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
  15083. * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
  15084. (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
  15085. (EXT2_REVISION): Likewise.
  15086. (EXT2_INODE_SIZE): Likewise.
  15087. (struct grub_ext2_block_group): Added a missing member
  15088. "used_dirs".
  15089. (grub_ext2_read_inode): Divide by the inode size in a superblock
  15090. instead of 128 to obtain INODES_PER_BLOCK.
  15091. Use the macro EXT2_INODE_SIZE instead of directly using
  15092. SBLOCK->INODE_SIZE.
  15093. 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
  15094. * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
  15095. superblock instead of the structure size to compute an
  15096. offset. This fixes the problem that GRUB could not read a
  15097. filesystem when inode size is different from 128-byte.
  15098. 2007-03-05 Marco Gerards <marco@gnu.org>
  15099. * normal/main.c (read_config_file): When "menu" is not set, create
  15100. an initial context.
  15101. 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
  15102. * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
  15103. (HEAP_LIMIT): New macro.
  15104. (grub_claim_heap): Claim memory up to `heaplimit'.
  15105. 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
  15106. * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
  15107. * kern/powerpc/ieee1275/init.c (_end): Add declaration.
  15108. (_start): Likewise.
  15109. (grub_arch_modules_addr): Return address after `_end'.
  15110. * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
  15111. (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
  15112. (add_segments): Calculate `_end' from phdr size and location.
  15113. (ALIGN_UP): Moved to ...
  15114. * include/grub/misc.h: here.
  15115. * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
  15116. New macro.
  15117. (GRUB_IEEE1275_MODULE_BASE): Removed.
  15118. 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
  15119. * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
  15120. loop boundary.
  15121. 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
  15122. * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
  15123. All users updated.
  15124. (grub_elf64_load_hook_t): Likewise.
  15125. * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
  15126. debug output.
  15127. 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
  15128. * kern/mm.c: Update copyright.
  15129. (grub_mm_debug): Correct syntax error.
  15130. (grub_mm_dump_free): New function.
  15131. (grub_debug_free): Call `grub_free'.
  15132. * include/grub/mm.h: Update copyright.
  15133. (grub_mm_dump_free): Add declaration.
  15134. 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
  15135. * include/grub/ieee1275/ieee1275.h: Update copyright.
  15136. * kern/powerpc/ieee1275/init.c: Likewise.
  15137. * kern/powerpc/ieee1275/openfw.c: Likewise.
  15138. * loader/powerpc/ieee1275/linux.c: Likewise.
  15139. * include/grub/elfload.h: Likewise.
  15140. * kern/elf.c: Likewise.
  15141. (grub_elf32_load): Pass `base' and `size' parameters. Update all
  15142. callers.
  15143. (grub_elf64_load): Likewise.
  15144. (grub_elf32_load_segment): Move to a nested function.
  15145. (grub_elf64_load_segment): Likewise.
  15146. 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
  15147. * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
  15148. prototype.
  15149. * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
  15150. (grub_heap_len): Likewise.
  15151. (HEAP_SIZE): New macro.
  15152. (grub_claim_heap): New function.
  15153. (grub_machine_init): Don't claim heap directly. Call
  15154. `grub_claim_heap'.
  15155. * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
  15156. (grub_available_iterate): New function.
  15157. 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
  15158. * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
  15159. * configure.ac: Use it for testing the HOST and TARGET compilers.
  15160. 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
  15161. * Makefile.in (enable_grub_emu): New variable.
  15162. * configure.ac (--enable-grub-emu): New option.
  15163. Do the checks for (n)curses only if `--enable-grub-emu' is requested.
  15164. * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
  15165. * conf/i386-pc.rmk: Likewise.
  15166. * conf/powerpc-ieee1275.rmk: Likewise.
  15167. * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
  15168. 2006-12-12 Marco Gerards <marco@gnu.org>
  15169. * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
  15170. * kern/env.c (grub_env_unset): Don't free the member `value' when
  15171. the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
  15172. pointer.
  15173. * normal/main.c (current_menu): Removed.
  15174. (free_menu): Unset the `menu' environment variable.
  15175. (grub_normal_menu_addentry): Make use of the environment variable
  15176. `menu', instead of using the global `current_menu'. Allocate
  15177. memory for the sourcecode of this entry.
  15178. (read_config_file): New argument `nested', changed all callers.
  15179. Only in the case of a new context, initialize a new menu. Set the
  15180. `menu' environment variable.
  15181. (grub_normal_execute): Don't set and unset the environment
  15182. variable `menu' here anymore. Only free the menu when leaving the
  15183. context.
  15184. * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
  15185. leak.
  15186. 2006-12-11 Marco Gerards <marco@gnu.org>
  15187. * normal/menu_entry.c (run): Fix off by one bug so the last line
  15188. is executed. Move the loader check to outside the loop.
  15189. 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
  15190. * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
  15191. 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
  15192. * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
  15193. the number of sectors. Reported by Andrey Shuvikov
  15194. <mr_hyro@yahoo.com>.
  15195. 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
  15196. * kern/disk.c (grub_disk_read): When there is a read error, always
  15197. try to read only the necessary data.
  15198. * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
  15199. disk/raid.c.
  15200. * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
  15201. prototype.
  15202. [GRUB_UTIL] (grub_raid_fini): Likewise.
  15203. [GRUB_UTIL] (grub_lvm_init): Likewise.
  15204. [GRUB_UTIL] (grub_lvm_fini): Likewise.
  15205. * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
  15206. RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
  15207. (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
  15208. and grub_raid_fini().
  15209. 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
  15210. * include/grub/types.h (__unused): Rename to UNUSED.
  15211. * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
  15212. (grub_elf64_size): Likewise.
  15213. 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
  15214. * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
  15215. grub_error_push and grub_error_pop in the error-handling path.
  15216. (grub_elf32_load_segment): Only call grub_file_read with non-zero
  15217. length.
  15218. 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
  15219. * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
  15220. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  15221. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  15222. (kernel_elf_SOURCES): Likewise.
  15223. * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
  15224. * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
  15225. * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
  15226. * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
  15227. * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
  15228. (elf_mod_SOURCES): New variable.
  15229. (elf_mod_CFLAGS): Likewise.
  15230. (elf_mod_LDFLAGS): Likewise.
  15231. * include/grub/types.h (__unused): New macro.
  15232. * include/grub/elfload.h: New file.
  15233. * kern/elf.c: Likewise.
  15234. * loader/powerpc/ieee1275/linux.c: Include elfload.h.
  15235. (ELF32_LOADMASK): New macro.
  15236. (ELF64_LOADMASK): Likewise.
  15237. (vmlinux): Removed.
  15238. (grub_linux_load32): New function.
  15239. (grub_linux_load64): Likewise.
  15240. (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
  15241. Use grub_elf_t instead of grub_file_t.
  15242. 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
  15243. * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
  15244. `catch_result' to struct set_color_args.
  15245. 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
  15246. * normal/menu.c: Include grub/script.h.
  15247. * normal/menu_entry.c: Likewise.
  15248. * include/grub/normal.h: Do not include grub/script.h.
  15249. 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
  15250. * kern/disk.c (grub_disk_read): Correct debug printf formatting.
  15251. 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
  15252. * kern/disk.c (grub_disk_open): Print debug messages when opening a
  15253. disk.
  15254. (grub_disk_close): Print debug messages when closing a disk.
  15255. (grub_disk_read): Print debug messages when disk read fails.
  15256. * kern/fs.c (grub_fs_probe): Print debug messages when detecting
  15257. filesystem type.
  15258. * kern/partition.c: Include misc.h.
  15259. (grub_partition_iterate): Print debug messages when detecting
  15260. partition type.
  15261. 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
  15262. * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
  15263. is negative.
  15264. * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
  15265. 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
  15266. * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
  15267. Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
  15268. 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
  15269. * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
  15270. instead of sizeof(lv). Patch by Michael Guntsche.
  15271. 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
  15272. * disk/lvm.c: Rename VGS to VG_LIST.
  15273. (grub_lvm_iterate): Change VGS->LV to VG-LV.
  15274. (grub_lvm_open): Likewise.
  15275. Thanks to Michael Guntsche for finding this bug.
  15276. 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
  15277. * configure.ac (AC_INIT): Bumped to 1.95.
  15278. 2006-10-14 Robert Millan <rmh@aybabtu.com>
  15279. * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
  15280. with "/dev/.static/dev/md".
  15281. 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
  15282. * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
  15283. DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
  15284. DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
  15285. DRIVE_NAME are always freed.
  15286. * util/i386/pc/biosdisk.c (make_device_name): Add one into
  15287. DOS_PART, as a DOS partition is counted from one instead of zero
  15288. now. Reported by Robert Millan.
  15289. 2006-10-14 Robert Millan <rmh@aybabtu.com>
  15290. * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
  15291. grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
  15292. * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
  15293. string returned by grub_guess_root_device.
  15294. * util/i386/pc/grub-setup.c: Likewise.
  15295. * util/i386/pc/grub-probefs.c: Likewise.
  15296. * util/i386/pc/grub-probefs.c: Rename to ...
  15297. * util/i386/pc/grub-probe.c: ... this.
  15298. * DISTLIST: Remove grub-probefs, add grub-probe.
  15299. * conf/i386-efi.rmk: Likewise.
  15300. * conf/i386-pc.rmk: Likewise.
  15301. * util/i386/pc/grub-install.in: Likewise.
  15302. * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
  15303. choose which information we want to print.
  15304. 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
  15305. * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
  15306. include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
  15307. include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
  15308. include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
  15309. video/readers/tga.c and video/i386/pc/vbeutil.c.
  15310. 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
  15311. Added support for RAID and LVM.
  15312. * disk/lvm.c: New file.
  15313. * disk/raid.c: Likewise.
  15314. * include/grub/lvm.h: Likewise.
  15315. * include/grub/raid.h: Likewise.
  15316. * include/grub/util/lvm.h: Likewise.
  15317. * include/grub/util/raid.h: Likewise.
  15318. * util/lvm.c: Likewise.
  15319. * util/raid.c: Likewise.
  15320. * include/grub/disk.h (grub_disk_dev_id): Add
  15321. GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
  15322. (grub_disk_get_size): New prototype.
  15323. * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
  15324. returns a partition.
  15325. (grub_disk_get_size): New function.
  15326. * kern/i386/pc/init.c (make_install_device): Copy the prefix
  15327. verbatim if grub_install_dos_part is -2.
  15328. * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
  15329. and LVM devices.
  15330. * util/i386/pc/grub-setup.c (setup): New argument
  15331. MUST_EMBED. Force embedding of GRUB when the argument is
  15332. true. Close FILE before returning.
  15333. (main): Add support for RAID and LVM.
  15334. * conf/common.rmk: Add RAID and LVM modules.
  15335. * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
  15336. util/lvm.c.
  15337. (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
  15338. * kern/misc.c (grub_strstr): New function.
  15339. * include/grub/misc.h (grub_strstr): New prototype.
  15340. 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
  15341. * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
  15342. 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
  15343. * kern/misc.c (grub_strtoull): Guess the base only if not
  15344. specified.
  15345. 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
  15346. * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
  15347. PowerMac support.
  15348. 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
  15349. * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
  15350. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
  15351. Remove `flags' argument. All callers changed.
  15352. * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
  15353. (IEEE1275_IHANDLE_INVALID): New variable.
  15354. (IEEE1275_CELL_INVALID): New variable.
  15355. (grub_ieee1275_finddevice, grub_ieee1275_get_property,
  15356. grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
  15357. grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
  15358. grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
  15359. grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
  15360. codes from Open Firmware. All callers updated.
  15361. (grub_ieee1275_next_property): Directly return Open Firmware return
  15362. code.
  15363. * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
  15364. Standardize error checking from `grub_ieee1275_get_property'.
  15365. * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
  15366. `devalias' to `aliases'. Correct comments. Consolidate error paths.
  15367. 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
  15368. * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
  15369. `instance_to_package_args' to `instance_to_path_args'.
  15370. * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
  15371. `grub_ieee1275_chosen'.
  15372. * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
  15373. `grub_ieee1275_interpret'.
  15374. 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
  15375. * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
  15376. 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
  15377. * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
  15378. (__cmpdi): Likewise.
  15379. * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
  15380. `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
  15381. `grub_ssize_t'.
  15382. * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
  15383. * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
  15384. to type `grub_ssize_t'.
  15385. (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
  15386. 2006-09-22 Marco Gerards <marco@gnu.org>
  15387. * normal/script.c (grub_script_create_cmdmenu): Skip leading
  15388. newlines.
  15389. 2006-09-22 Marco Gerards <marco@gnu.org>
  15390. * commands/echo.c: New file.
  15391. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
  15392. * conf/common.rmk (echo_mod_SOURCES): New variable.
  15393. (echo_mod_CFLAGS): Likewise.
  15394. (echo_mod_LDFLAGS): Likewise.
  15395. 2006-09-22 Marco Gerards <marco@gnu.org>
  15396. * normal/main.c (get_line): Malloc memory instead of using
  15397. preallocated memory. Removed the arguments `cmdline' and
  15398. `max_len'. Updated all callers.
  15399. 2006-09-22 Marco Gerards <marco@gnu.org>
  15400. * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
  15401. (normal_mod_DEPENDENCIES): Likewise.
  15402. * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
  15403. (normal_mod_DEPENDENCIES): Likewise.
  15404. * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
  15405. 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
  15406. * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
  15407. programs.
  15408. * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
  15409. (normal_mod_DEPENDENCIES): Likewise.
  15410. * conf/i386-pc.mk: Regenerate.
  15411. * conf/i386-efi.mk: Likewise
  15412. * conf/common.mk: Likewise.
  15413. * conf/powerpc-ieee1275.mk: Likewise.
  15414. * conf/sparc64-ieee1275.mk: Likewise.
  15415. 2006-09-22 Robert Millan <rmh@aybabtu.com>
  15416. Sync with i386 version.
  15417. * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
  15418. * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
  15419. 2006-09-21 Robert Millan <rmh@aybabtu.com>
  15420. Import from GRUB Legacy (lib/device.c):
  15421. * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
  15422. (init_device_map) [__linux__]: Add support for I2O devices.
  15423. 2006-09-14 Marco Gerards <marco@gnu.org>
  15424. * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
  15425. `-melf_i386'.
  15426. 2006-09-14 Robert Millan <rmh@aybabtu.com>
  15427. * util/i386/pc/grub-install.in: Skip menu.lst when removing
  15428. /boot/grub/*.lst.
  15429. * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
  15430. * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
  15431. before adding it to device.map.
  15432. 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
  15433. * genmk.rb: Let GCC generate dependencies the first time it
  15434. compiles a file; using the -MD option.
  15435. * conf/common.mk: Regenerate.
  15436. * conf/i386-pc.mk: Likewise.
  15437. * conf/i386-efi.mk: Likewise.
  15438. * conf/powerpc-ieee1275.mk: Likewise.
  15439. * conf/sparc64-ieee1275.mk: Likewise.
  15440. 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
  15441. Move the prototypes of grub_setjmp and grub_longjmp to
  15442. cpu/setjmp.h, so that each architecture may specify different
  15443. attributes.
  15444. * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
  15445. (grub_longjmp): Likewise.
  15446. * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
  15447. (grub_longjmp): Likewise.
  15448. * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
  15449. (grub_longjmp): Likewise.
  15450. * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
  15451. [!GRUB_UTIL] (grub_longjmp): Removed.
  15452. 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
  15453. * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
  15454. "color!" method does not return any value.
  15455. 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
  15456. * include/grub/bitmap.h: New file.
  15457. * include/grub/i386/pc/vbeutil.h: Likewise.
  15458. * video/bitmap.c: Likewise.
  15459. * video/readers/tga.c: Likewise.
  15460. * video/i386/pc/vbeutil.c: Likewise.
  15461. * commands/videotest.c: Code cleanup and updated to reflect to new
  15462. video API.
  15463. * term/gfxterm.c: Likewise.
  15464. * video/video.c: Likewise.
  15465. * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
  15466. (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
  15467. (bitmap_mod_SOURCES): New entry.
  15468. (bitmap_mod_CFLAGS): Likewise.
  15469. (bitmap_mod_LDFLAGS): Likewise.
  15470. (tga_mod_SOURCES): Likewise.
  15471. (tga_mod_CFLAGS): Likewise.
  15472. (tga_mod_LDFLAGS): Likewise.
  15473. * include/grub/video.h (grub_video_blit_operators): New enum type.
  15474. (grub_video_render_target): Changed as forward declaration and moved
  15475. actual definition to be video driver specific.
  15476. (grub_video_adapter.blit_bitmap): Added blitting operator.
  15477. (grub_video_adapter.blit_render_target): Likewise.
  15478. (grub_video_blit_bitmap): Likewise.
  15479. (grub_video_blit_render_target): Likewise.
  15480. * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
  15481. driver specific render target definition.
  15482. (grub_video_vbe_map_rgba): Added driver internal helper.
  15483. (grub_video_vbe_unmap_color): Updated to use
  15484. grub_video_i386_vbeblit_info.
  15485. (grub_video_vbe_get_video_ptr): Likewise.
  15486. * include/grub/i386/pc/vbeblit.h
  15487. (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
  15488. grub_video_i386_vbeblit_info.
  15489. (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
  15490. (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
  15491. (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
  15492. (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
  15493. (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
  15494. (grub_video_i386_vbeblit_index_index): Likewise.
  15495. (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
  15496. (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
  15497. (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
  15498. (grub_video_i386_vbeblit_blend): Added generic blitter for blend
  15499. operator.
  15500. (grub_video_i386_vbeblit_replace): Added generic blitter for replace
  15501. operator.
  15502. * video/i386/pc/vbeblit.c: Updated to reflect changes on
  15503. include/grub/i386/pc/vbeblit.h.
  15504. * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
  15505. Updated to use grub_video_i386_vbeblit_info.
  15506. (grub_video_i386_vbefill_R8G8B8): Likewise.
  15507. (grub_video_i386_vbefill_index): Likewise.
  15508. (grub_video_i386_vbefill): Added generic filler.
  15509. * video/i386/pc/vbefill.c: Updated to reflect changes on
  15510. include/grub/i386/pc/vbefill.h.
  15511. * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
  15512. grub_video_i386_vbeblit_info.
  15513. (grub_video_vbe_unmap_color): Likewise.
  15514. (grub_video_vbe_blit_glyph): Likewise.
  15515. (grub_video_vbe_scroll): Likewise.
  15516. (grub_video_vbe_draw_pixel): Removed function.
  15517. (grub_video_vbe_get_pixel): Likewise.
  15518. (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
  15519. updated code to use it.
  15520. (common_blitter): Added common blitter for render target and bitmap.
  15521. (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
  15522. (grub_video_vbe_blit_render_target): Likewise.
  15523. 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
  15524. * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
  15525. is in text mode if there is no console control protocol instance
  15526. available.
  15527. 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
  15528. * include/grub/video.h: Code cleanup.
  15529. * include/grub/i386/pc/vbe.h: Likewise.
  15530. * video/i386/pc/vbe.c: Likewise.
  15531. * video/i386/pc/vbeblit.c: Likewise.
  15532. * video/i386/pc/vbefill.c: Likewise.
  15533. * video/video.c: Likewise. Also added more comments.
  15534. 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
  15535. * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
  15536. (struct grub_biosdisk_dap): Likewise.
  15537. * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
  15538. linkage settings for all functions.
  15539. 2006-07-12 Marco Gerards <marco@gnu.org>
  15540. * configure.ac (--enable-mm-debug): Fix typo.
  15541. * genkernsyms.sh.in: Use proper quoting for `CC'.
  15542. 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
  15543. * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
  15544. (normal_mod_ASFLAGS): Remove "-m32".
  15545. 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
  15546. * util/misc.c: Include config.h.
  15547. [!HAVE_MEMALIGN]: Do not include malloc.h.
  15548. (grub_memalign): Use posix_memalign, if present. Then, use
  15549. memalign, if present. Otherwise, emit an error.
  15550. * util/grub-emu.c: Do not include malloc.h.
  15551. * include/grub/util/misc.h: Include unistd.h. This is required for
  15552. FreeBSD, because off_t is defined in unistd.h. Reported by Harley
  15553. D. Eades III <hde@foobar-qux.org>.
  15554. * configure.ac (AC_GNU_SOURCE): Added.
  15555. (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
  15556. type.
  15557. 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
  15558. * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
  15559. ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
  15560. 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
  15561. * include/grub/types.h (grub_host_addr_t): Rename to
  15562. grub_target_addr_t.
  15563. (grub_host_off_t): Rename to grub_target_off_t.
  15564. (grub_host_size_t): Rename to grub_target_size_t.
  15565. (grub_host_ssize_t): Rename to grub_target_ssize_t.
  15566. Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
  15567. * include/grub/kernel.h (struct grub_module_header): Change type
  15568. of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
  15569. (grub_module_info): Likewise.
  15570. 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
  15571. * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
  15572. of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
  15573. Velazquez <jesus.velazquez@gmail.com>.
  15574. 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
  15575. Count partitions from 1 instead of 0 in the string representation
  15576. of partitions. Still use 0-based internally.
  15577. * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
  15578. (sun_partition_map_iterate): Use grub_partition_t instead of
  15579. struct grub_partition *. Cast DESC->START_CYLINDER to
  15580. grub_uint64_t after converting the endian.
  15581. (sun_partition_map_probe): Subtract 1 for PARTNUM.
  15582. (sun_partition_map_get_name): Add 1 to P->INDEX.
  15583. * partmap/pc.c (grub_partition_parse): Subtract 1 for
  15584. PCDATA->DOS_PART.
  15585. (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
  15586. * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
  15587. zero instead of one.
  15588. (gpt_partition_map_probe): Subtract 1 for PARTNUM.
  15589. (gpt_partition_map_get_name): Add 1 into P->INDEX.
  15590. * partmap/apple.c (apple_partition_map_iterate): Change the type
  15591. of POS to unsigned.
  15592. (apple_partition_map_probe): Subtract 1 for PARTNUM.
  15593. (apple_partition_map_get_name): Add 1 into P->INDEX.
  15594. * partmap/amiga.c (amiga_partition_map_iterate): Change the type
  15595. of POS to unsigned.
  15596. (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
  15597. calculate the offset of a partition.
  15598. (amiga_partition_map_probe): Subtract 1 for PARTNUM.
  15599. (amiga_partition_map_get_name): Add 1 into P->INDEX.
  15600. * partmap/acorn.c (acorn_partition_map_find): Change the type of
  15601. SECTOR to grub_disk_addr_t.
  15602. (acorn_partition_map_iterate): Likewise.
  15603. (acorn_partition_map_probe): Subtract 1 for PARTNUM.
  15604. Change the type of SECTOR to grub_disk_addr_t. Declare P on the
  15605. top.
  15606. (acorn_partition_map_get_name): Add 1 into P->INDEX.
  15607. * kern/i386/pc/init.c (make_install_device): Add 1 into
  15608. GRUB_INSTALL_DOS_PART.
  15609. * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
  15610. conditional.
  15611. 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
  15612. Clean up the code to support 64-bit addressing in disks and
  15613. files. This change is not enough for filesystems yet.
  15614. * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
  15615. type of "start" to grub_uint64_t.
  15616. (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
  15617. grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
  15618. save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
  15619. convert addresses.
  15620. * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
  15621. to grub_disk_addr_t.
  15622. * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
  15623. string.
  15624. * partmap/pc.c (pc_partition_map_iterate): Likewise.
  15625. * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
  15626. to char *.
  15627. * normal/script.c (grub_script_parse): Remove unused MEMFREE.
  15628. * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
  15629. * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
  15630. * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
  15631. to grub_off_t, to detect an error from grub_file_seek.
  15632. (grub_multiboot_load_elf32): Likewise.
  15633. * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
  15634. maximum unsigned long value when an overflow is detected.
  15635. (grub_strtoull): New function.
  15636. (grub_divmod64): Likewise.
  15637. (grub_lltoa): use grub_divmod64.
  15638. * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
  15639. grub_disk_addr_t.
  15640. (grub_fs_blocklist_open): Increase P if P is not NULL to advance
  15641. the pointer to next character. Use grub_strtoull instead of
  15642. grub_strtoul.
  15643. (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
  15644. SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
  15645. respectively.
  15646. * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
  15647. return value is signed.
  15648. (grub_file_seek): Change the type of OLD to grub_off_t. Do not
  15649. test if OFFSET is less than zero, as OFFSET is unsigned now.
  15650. * kern/disk.c (struct grub_disk_cache): Change the type of
  15651. "sector" to grub_disk_addr_t.
  15652. (grub_disk_cache_get_index): Change the type of SECTOR to
  15653. grub_disk_addr_t. Calculate the hash with SECTOR casted to
  15654. unsigned after shifting.
  15655. (grub_disk_cache_invalidate): Change the type of SECTOR to
  15656. grub_disk_addr_t.
  15657. (grub_disk_cache_unlock): Likewise.
  15658. (grub_disk_cache_store): Likewise.
  15659. (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
  15660. START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
  15661. grub_disk_addr_t and grub_uint64_t, respectively.
  15662. (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
  15663. body, as the value of OFFSET is tweaked by
  15664. grub_disk_check_range. Change the types of START_SECTOR, LEN and
  15665. POS to grub_disk_addr_t, grub_size_t and grub_size_t,
  15666. respectively.
  15667. (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
  15668. body, as the value of OFFSET is tweaked by
  15669. grub_disk_check_range. Change the types of LEN and N to
  15670. grub_size_t.
  15671. * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
  15672. and "saved_offset" to grub_off_t.
  15673. (test_header): Cast BUF to char *.
  15674. (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
  15675. to char *.
  15676. (grub_gzio_read): Change the types of OFFSET and SIZE to
  15677. grub_off_t and grub_size_t, respectively.
  15678. * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
  15679. Removed.
  15680. (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
  15681. (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
  15682. (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
  15683. (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
  15684. (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
  15685. * include/grub/types.h (grub_off_t): Unconditionally set to
  15686. grub_uint64_t.
  15687. (grub_disk_addr_t): Changed to grub_uint64_t.
  15688. * include/grub/partition.h (struct grub_partition): Change the
  15689. types of "start", "len" and "offset" to grub_disk_addr_t,
  15690. grub_uint64_t and grub_disk_addr_t, respectively.
  15691. (grub_partition_get_start): Return grub_disk_addr_t.
  15692. (grub_partition_get_len): Return grub_uint64_t.
  15693. * include/grub/misc.h (grub_strtoull): New prototype.
  15694. (grub_divmod64): Likewise.
  15695. * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
  15696. of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
  15697. grub_off_t, respectively.
  15698. All callers and references changed.
  15699. * include/grub/fs.h (struct grub_fs): Change the type of LEN to
  15700. grub_size_t in "read".
  15701. All callers and references changed.
  15702. * include/grub/file.h (struct grub_file): Change the types of
  15703. "offset" and "size" to grub_off_t and grub_off_t,
  15704. respectively. Change the type of SECTOR to grub_disk_addr_t in
  15705. "read_hook".
  15706. (grub_file_read): Change the type of LEN to grub_size_t.
  15707. (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
  15708. grub_off_t.
  15709. (grub_file_size): Return grub_off_t.
  15710. (grub_file_tell): Likewise.
  15711. All callers and references changed.
  15712. * include/grub/disk.h (struct grub_disk_dev): Change the types of
  15713. SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
  15714. "write".
  15715. (struct grub_disk): Change the type of "total_sectors" to
  15716. grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
  15717. "read_hook".
  15718. (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
  15719. grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
  15720. (grub_disk_write): Likewise.
  15721. All callers and references changed.
  15722. * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
  15723. char * for grub_strncmp to silence gcc.
  15724. (grub_iso9660_mount): Likewise.
  15725. (grub_iso9660_mount): Likewise.
  15726. (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
  15727. return statement.
  15728. (grub_iso9660_iterate_dir): Likewise.
  15729. (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
  15730. * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
  15731. LEN to grub_disk_addr_t and grub_size_t, respectively.
  15732. * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
  15733. * fs/jfs.c (grub_jfs_read_file): Likewise.
  15734. * fs/minix.c (grub_jfs_read_file): Likewise.
  15735. * fs/sfs.c (grub_jfs_read_file): Likewise.
  15736. * fs/ufs.c (grub_jfs_read_file): Likewise.
  15737. * fs/xfs.c (grub_jfs_read_file): Likewise.
  15738. * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
  15739. and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
  15740. respectively.
  15741. * fs/ext2.c (grub_ext2_read_block): When an error happens, set
  15742. BLKNR to -1 instead of returning GRUB_ERRNO.
  15743. (grub_ext2_read_file): Change the types of SECTOR and
  15744. LEN to grub_disk_addr_t and grub_size_t, respectively.
  15745. * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
  15746. LEN to grub_disk_addr_t and grub_size_t, respectively.
  15747. * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
  15748. grub_file_read.
  15749. * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
  15750. string. Do not cast SECTOR explicitly.
  15751. * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
  15752. TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
  15753. (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
  15754. grub_disk_addr_t and grub_size_t, respectively. If the sector is
  15755. over 2TB and LBA mode is not supported, raise an error.
  15756. (get_safe_sectors): New function.
  15757. (grub_biosdisk_read): Use get_safe_sectors.
  15758. (grub_biosdisk_write): Likewise.
  15759. * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
  15760. (grub_efidisk_write): Likewise.
  15761. * disk/loopback.c (delete_loopback): Cosmetic changes.
  15762. (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
  15763. correctly.
  15764. (grub_loopback_open): Likewise.
  15765. (grub_loopback_read): Likewise. Also, change the type of POS to
  15766. grub_off_t, and fix the usage of grub_memset.
  15767. * commands/i386/pc/play.c: Include grub/machine/time.h.
  15768. * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
  15769. print FILE->SIZE.
  15770. * commands/configfile.c: Include grub/env.h.
  15771. * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
  15772. GRUB_ERRNO directly instead. Change the type of POS to
  15773. grub_off_t. Follow the coding standard.
  15774. * commands/blocklist.c: Include grub/partition.h.
  15775. (grub_cmd_blocklist): Return an error if the underlying device is
  15776. not a disk. Take the starting sector of a partition into account,
  15777. if a partition is used.
  15778. * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
  15779. a length field.
  15780. (lba_mode): Support 64-bit addresses.
  15781. (chs_mode): Likewise.
  15782. (copy_buffer): Adapted to the new offsets of a length field and a
  15783. segment field.
  15784. (blocklist_default_start): Allocate 64-bit space.
  15785. * boot/i386/pc/boot.S (force_lba): Removed.
  15786. (boot_drive): Moved to under KERNEL_SECTOR.
  15787. (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
  15788. space.
  15789. (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
  15790. is useless.
  15791. (lba_mode): Refactored to support a 64-bit address. More size
  15792. optimization.
  15793. (setup_sectors): Likewise.
  15794. 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
  15795. * DISTLIST: Added include/grub/i386/linux.h. Removed
  15796. include/grub/i386/pc/linux.h
  15797. * configure.ac (AC_INIT): Bumped to 1.94.
  15798. * config.guess: Updated from gnulib.
  15799. * config.sub: Likewise.
  15800. * install-sh: Likewise.
  15801. * mkinstalldirs: Likewise.
  15802. 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
  15803. * conf/common.rmk (grub_modules_init.lst): Depended on
  15804. grub_emu_SOURCES, excluding grub_emu_init.c, instead of
  15805. MODSRCFILES.
  15806. * genmk.rb (PModule::rule): Reverted the previous change.
  15807. 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
  15808. * conf/common.rmk (grub_modules_init.lst): Depends on
  15809. $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
  15810. that the target does not exist before producing.
  15811. (grub_modules_init.h): Remove the target before generating.
  15812. (grub_emu_init.c): Likewise.
  15813. * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
  15814. 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
  15815. * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
  15816. for the target-specific tests. Make sure that we also have the
  15817. up-to-date target variables for those tests.
  15818. 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
  15819. * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
  15820. (PModule::rule): Likewise.
  15821. 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
  15822. * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
  15823. TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
  15824. target-specific flags should be prefixed.
  15825. (PModule::rule): Likewise.
  15826. 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
  15827. * configure.ac (CMP): Check if cmp is available explicitly.
  15828. 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
  15829. * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
  15830. (target_cpu): New variable.
  15831. (pkglibdir): Use target_cpu instead of host_cpu.
  15832. * util/i386/pc/grub-install.in (host_cpu): Removed.
  15833. (target_cpu): New variable.
  15834. (pkglibdir): Use target_cpu instead of host_cpu.
  15835. * util/genmoddep.c: Removed.
  15836. * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
  15837. instead of GRUB_HOST_SIZEOF_VOID_P.
  15838. * kern/dl.c: Likewise.
  15839. * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
  15840. ...
  15841. (GRUB_TARGET_SIZEOF_VOID_P): ... this.
  15842. (GRUB_HOST_SIZEOF_LONG): Renamed to ...
  15843. (GRUB_TARGET_SIZEOF_LONG): ... this.
  15844. (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
  15845. (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
  15846. * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
  15847. to ...
  15848. (GRUB_TARGET_SIZEOF_VOID_P): ... this.
  15849. (GRUB_HOST_SIZEOF_LONG): Renamed to ...
  15850. (GRUB_TARGET_SIZEOF_LONG): ... this.
  15851. (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
  15852. (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
  15853. * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
  15854. to ...
  15855. (GRUB_TARGET_SIZEOF_VOID_P): ... this.
  15856. (GRUB_HOST_SIZEOF_LONG): Renamed to ...
  15857. (GRUB_TARGET_SIZEOF_LONG): ... this.
  15858. (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
  15859. (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
  15860. * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
  15861. GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
  15862. [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
  15863. instead of GRUB_HOST_SIZEOF_LONG.
  15864. [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
  15865. GRUB_HOST_WORDS_BIGENDIAN to define or undefine
  15866. GRUB_CPU_WORDS_BIGENDIAN.
  15867. Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
  15868. define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
  15869. grub_host_ssize_t.
  15870. * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
  15871. (genmoddep_SOURCES): Likewise.
  15872. * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
  15873. (genmoddep_SOURCES): Likewise.
  15874. * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
  15875. (genmoddep_SOURCES): Likewise.
  15876. * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
  15877. Likewise.
  15878. (genmoddep_SOURCES): Likewise.
  15879. * genmoddep.awk: New file.
  15880. * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
  15881. TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
  15882. CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
  15883. (PModule::rule): Likewise.
  15884. (Program::rule): Likewise.
  15885. (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
  15886. BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
  15887. respectively.
  15888. * configure.ac: Rewritten intensively to use host and target
  15889. instead of build and host, respectively.
  15890. * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
  15891. (host_cpu): Removed.
  15892. (target_cpu): New variable.
  15893. (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
  15894. (BUILD_CC): Removed.
  15895. (BUILD_CFLAGS): Likewise.
  15896. (BUILD_CPPFLAGS): Likewise.
  15897. (TARGET_CC): New variable.
  15898. (TARGET_CFLAGS): Likewise.
  15899. (TARGET_CPPFLAGS): Likewise.
  15900. (TARGET_LDFLAGS): Likewise.
  15901. (AWK): Likewise.
  15902. (include): Use target_cpu instead of host_cpu.
  15903. (moddep.lst:): Use genmoddep.awk instead of genmoddep.
  15904. * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
  15905. 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
  15906. * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
  15907. 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
  15908. field 'false' to 'exec_on_false'.
  15909. (grub_script_create_cmdif): Renamed argument names to reflect above
  15910. changes.
  15911. * normal/execute.c (grub_script_execute_cmdif): Likewise.
  15912. * normal/script.c (grub_script_create_cmdif): Likewise.
  15913. 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
  15914. * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
  15915. top.
  15916. (grub_hfsplus_btree_recptr): Likewise.
  15917. (grub_hfsplus_find_block): Do not take RETRY any longer. Use
  15918. FILEBLOCK both to pass a block number and store next block
  15919. number.
  15920. (grub_hfsplus_read_block): Rewritten heavily to support an extent
  15921. overflow file correctly. Specify errors appropriately, because
  15922. fshelp expects that GRUB_ERRNO is set when fails. Reuse
  15923. grub_hfsplus_btree_recptr to get the pointer to a found key.
  15924. (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
  15925. is found.
  15926. * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
  15927. linux.mod.
  15928. (_linux_mod_SOURCES): New variable.
  15929. (_linux_mod_CFLAGS): Likewise.
  15930. (_linux_mod_LDFLAGS): Likewise.
  15931. (linux_mod_SOURCES): Likewise.
  15932. (linux_mod_CFLAGS): Likewise.
  15933. (linux_mod_LDFLAGS): Likewise.
  15934. * DISTLIST: Added loader/i386/efi/linux.c,
  15935. loader/i386/efi/linux_normal.c and
  15936. include/grub/i386/efi/loader.h.
  15937. * loader/i386/efi/linux.c: New file.
  15938. * loader/i386/efi/linux_normal.c: Likewise.
  15939. * include/grub/i386/efi/loader.h: Likewise.
  15940. 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
  15941. * commands/blocklist.c: New file.
  15942. * DISTLIST: Added commands/blocklist.c.
  15943. * term/efi/console.c (grub_console_highlight_color): Use a lighter
  15944. color for the background, and a darker color for the foreground.
  15945. (grub_console_checkkey): Return READ_KEY.
  15946. (grub_console_cls): Set the background to
  15947. GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
  15948. * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
  15949. * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
  15950. the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
  15951. * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
  15952. prototype.
  15953. * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
  15954. BG. The spec is wrong again.
  15955. * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
  15956. prototype.
  15957. [GRUB_UTIL] (grub_blocklist_fini): Likewise.
  15958. * conf/i386-pc.rmk (grub_emu_SOURCES): Added
  15959. commands/blocklist.c.
  15960. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  15961. * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
  15962. (blocklist_mod_SOURCES): New variable.
  15963. (blocklist_mod_CFLAGS): Likewise.
  15964. (blocklist_mod_LDFLAGS): Likewise.
  15965. 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
  15966. * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
  15967. duplication.
  15968. (lba_mode): Use %eax more intensively to reduce the code size.
  15969. 2006-05-20 Marco Gerards <marco@gnu.org>
  15970. * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
  15971. * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
  15972. for `menuentry'.
  15973. (script): Accept leading newlines.
  15974. (newlines): New rule to describe 0 or more newlines.
  15975. (commands): Accept `command' with trailing newline. Fixed the
  15976. order in which arguments were passed to `grub_script_add_cmd'.
  15977. Accept commands separated by newlines.
  15978. (function): Changed to accept newlines.
  15979. (menuentry) Rewritten.
  15980. * normal/script.c (grub_script_create_cmdmenu): Add new entries in
  15981. front of the list, instead of to the end.
  15982. 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
  15983. * util/i386/pc/grub-install.in (bindir): New variable.
  15984. (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
  15985. Shaver <lbgwjl@gmail.com>.
  15986. 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
  15987. * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
  15988. grub/machine/linux.h
  15989. * loader/i386/pc/linux.c: Likewise.
  15990. * include/grub/i386/pc/linux.h: Moved to ...
  15991. * include/grub/i386/linux.h: ... here.
  15992. * include/grub/i386/linux.h (struct linux_kernel_params): New
  15993. struct.
  15994. 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
  15995. * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
  15996. checking.
  15997. (grub_video_vbe_blit_glyph): Likewise.
  15998. (grub_video_vbe_blit_bitmap): Likewise.
  15999. (grub_video_vbe_blit_render_target): Likewise.
  16000. 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
  16001. * configure.ac (--with-platform): Properly quote the square
  16002. brackets.
  16003. 2006-05-08 Marco Gerards <marco@gnu.org>
  16004. * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
  16005. this...
  16006. (kernel_elf_HEADERS): ...to this. Updated all users.
  16007. (grubof_symlist.c): Renamed from this...
  16008. (kernel_elf_symlist.c): ...to this. Updated all users.
  16009. (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
  16010. (grubof_SOURCES): Renamed from this...
  16011. (kernel_elf_SOURCES): ...to this.
  16012. (grubof_HEADERS): Renamed from this...
  16013. (kernel_elf_HEADERS): ...to this.
  16014. (grubof_CFLAGS): Renamed from this...
  16015. (kernel_elf_CFLAGS): ...to this.
  16016. (grubof_ASFLAGS): Renamed from this...
  16017. (kernel_elf_ASFLAGS): ...to this.
  16018. (grubof_LDFLAGS): Renamed from this...
  16019. (kernel_elf_LDFLAGS): ...to this.
  16020. * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
  16021. this...
  16022. (kernel_elf_HEADERS): ...to this. Updated all users.
  16023. (grubof_symlist.c): Renamed from this...
  16024. (kernel_elf_symlist.c): ...to this. Updated all users.
  16025. (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
  16026. (grubof_SOURCES): Renamed from this...
  16027. (kernel_elf_SOURCES): ...to this.
  16028. (grubof_HEADERS): Renamed from this...
  16029. (kernel_elf_HEADERS): ...to this.
  16030. (grubof_CFLAGS): Renamed from this...
  16031. (kernel_elf_CFLAGS): ...to this.
  16032. (grubof_ASFLAGS): Renamed from this...
  16033. (kernel_elf_ASFLAGS): ...to this.
  16034. (grubof_LDFLAGS): Renamed from this...
  16035. (kernel_elf_LDFLAGS): ...to this.
  16036. * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
  16037. `kernel.elf' instead of `grubof'.
  16038. 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
  16039. Add --with-platform to configure. Use pkglibdir instead of
  16040. pkgdatadir. This is reported by Roger Leigh.
  16041. * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
  16042. (host_vendor): Likewise.
  16043. (host_os): Likewise.
  16044. (pkgdatadir): Likewise.
  16045. (platform): New variable.
  16046. (pkglibdir): Likewise.
  16047. Use PKGLIBDIR instead of PKGDATADIR.
  16048. * util/i386/pc/grub-install.in (datadir): Removed.
  16049. (host_vendor): Likewise.
  16050. (host_os): Likewise.
  16051. (pkgdatadir): Likewise.
  16052. (platform): New variable.
  16053. (pkglibdir): Likewise.
  16054. Use PKGLIBDIR instead of PKGDATADIR.
  16055. * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
  16056. instead of GRUB_DATADIR.
  16057. (main): Likewise.
  16058. * util/i386/pc/grub-mkimage.c (usage): Likewise.
  16059. (main): Likewise.
  16060. * util/i386/efi/grub-mkimage.c (usage): Likewise.
  16061. (main): Likewise.
  16062. * configure.ac (--with-platform): New option.
  16063. Use PLATFORM instead of HOST_VENDOR to specify a platform.
  16064. * Makefile.in: Include a makefile based on PLATFORM instead of
  16065. HOST_VENDOR.
  16066. (pkgdatadir): Not appended by the machine type.
  16067. (pkglibdir): Appended by the machine type.
  16068. (host_vendor): Removed.
  16069. (platform): New variable.
  16070. (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
  16071. (install-local): Use PKGLIBDIR instead of PKGDATADIR.
  16072. (uninstall): Likewise.
  16073. 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
  16074. Use the environment context in the menu. Remove the commands
  16075. "default" and "timeout", and use variables instead.
  16076. * normal/menu.c: Include grub/env.h.
  16077. (print_entry): Cast TITLE to silence gcc.
  16078. (get_timeout): New function.
  16079. (set_timeout): Likewise.
  16080. (get_entry_number): Likewise.
  16081. (run_menu): Use a default entry, a fallback entry and a timeout
  16082. in the environment variables "default", "fallback" and
  16083. "timeout". Also, tweak the default entry if it is not within the
  16084. current menu entries.
  16085. (grub_menu_run): Use a fallback entry in the environment variable
  16086. "fallback".
  16087. * normal/main.c (read_config_file): Do not initialize
  16088. NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
  16089. NEWMENU->TIMEOUT.
  16090. (grub_normal_execute): Use a data slot to store the menu.
  16091. * include/grub/normal.h (struct grub_menu): Removed default_entry,
  16092. fallback_entry and timeout.
  16093. (struct grub_menu_list): Removed.
  16094. (grub_menu_list_t): Likewise.
  16095. (struct grub_context): Likewise.
  16096. (grub_context_t): Likewise.
  16097. (grub_context_get): Likewise.
  16098. (grub_context_get_current_menu): Likewise.
  16099. (grub_context_push_menu): Likewise.
  16100. (grub_context_pop_menu): Likewise.
  16101. (grub_default_init): Likewise.
  16102. (grub_default_fini): Likewise.
  16103. (grub_timeout_init): Likewise.
  16104. (grub_timeout_fini): Likewise.
  16105. * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
  16106. and timeout.mod.
  16107. (normal_mod_SOURCES): Removed normal/context.c.
  16108. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
  16109. commands/default.c, commands/timeout.c and normal/context.c.
  16110. (normal_mod_SOURCES): Removed normal/context.c.
  16111. * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
  16112. commands/timeout.c and normal/context.c.
  16113. (normal_mod_SOURCES): Removed normal/context.c.
  16114. * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
  16115. commands/default.c, commands/timeout.c and normal/context.c.
  16116. (normal_mod_SOURCES): Removed normal/context.c.
  16117. * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
  16118. timeout.mod.
  16119. (default_mod_SOURCES): Removed.
  16120. (default_mod_CFLAGS): Likewise.
  16121. (default_mod_LDFLAGS): Likewise.
  16122. (timeout_mod_SOURCES): Removed.
  16123. (timeout_mod_CFLAGS): Likewise.
  16124. (timeout_mod_LDFLAGS): Likewise.
  16125. * DISTLIST: Removed commands/default.c, commands/timeout.c and
  16126. normal/context.c.
  16127. * commands/default.c: Removed.
  16128. * commands/timeout.c: Likewise.
  16129. * normal/context.c: Likewise.
  16130. 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
  16131. * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
  16132. 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
  16133. * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
  16134. "next" to "prev" for readability.
  16135. (struct grub_env_sorted_var): New struct.
  16136. (grub_env_context): Renamed to ...
  16137. (initial_context): ... this.
  16138. (grub_env_var_context): Renamed to ...
  16139. (current_context): ... this.
  16140. (grub_env_find): Look only at CURRENT_CONTEXT.
  16141. (grub_env_context_open): Rewritten to copy exported variables from
  16142. previous context.
  16143. (grub_env_context_close): Rewritten according to the new
  16144. scheme. Also, add an assertion to prevent the initial context from
  16145. removed.
  16146. (grub_env_insert): Removed the code for the sorted list.
  16147. (grub_env_remove): Likewise.
  16148. (grub_env_export): Simply mark the variable with
  16149. GRUB_ENV_VAR_GLOBAL.
  16150. (grub_env_set): A cosmetic change for naming consistency.
  16151. (grub_env_get): Likewise.
  16152. (grub_env_unset): Likewise.
  16153. (grub_env_iterate): Rewritten to sort variables within this
  16154. function.
  16155. (grub_register_variable_hook): Fixed for naming consistency. Call
  16156. grub_env_find again, only if NAME is not found at the first time.
  16157. (mangle_data_slot_name): New function.
  16158. (grub_env_set_data_slot): Likewise.
  16159. (grub_env_get_data_slot): Likewise.
  16160. (grub_env_unset_data_slot): Likewise.
  16161. * include/grub/env.h (grub_env_var_type): New enum.
  16162. (GRUB_ENV_VAR_LOCAL): New constant.
  16163. (GRUB_ENV_VAR_GLOBAL): Likewise.
  16164. (GRUB_ENV_VAR_DATA): Likewise.
  16165. (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
  16166. "type".
  16167. (grub_env_set): Replace VAR with NAME for consistency.
  16168. (grub_register_variable_hook): Likewise.
  16169. (grub_env_export): Specify the name of the argument.
  16170. (grub_env_set_data_slot): New prototype.
  16171. (grub_env_get_data_slot): Likewise.
  16172. (grub_env_unset_data_slot): Likewise.
  16173. 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
  16174. Extend the loader so that GRUB can accept a loader which comes
  16175. back to GRUB when a loaded image exits. Also, this change adds
  16176. support for a chainloader on EFI.
  16177. * term/efi/console.c: Include grub/misc.h.
  16178. (grub_console_checkkey): Display a scan code on the top for
  16179. debugging. This will be removed once the EFI port gets stable.
  16180. Correct the scan code mapping.
  16181. * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
  16182. allocate memory from larger regions, in order to reduce the number
  16183. of allocated regions. Otherwise, the MacOSX loader panics.
  16184. (filter_memory_map): Avoid less than 1MB for compatibility with
  16185. other loaders.
  16186. (add_memory_regions): Allocate from the tail of a region, if
  16187. possible, to avoid allocating a region near to 1MB, for the MacOSX
  16188. loader.
  16189. * kern/efi/init.c (grub_efi_set_prefix): Specify
  16190. GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
  16191. * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
  16192. argument IMAGE_HANDLE and specify it to get a loaded image.
  16193. (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
  16194. grub_efi_get_loaded_image.
  16195. (grub_efi_get_filename): Divide the length by the size of
  16196. grub_efi_char16_t.
  16197. (grub_efi_get_device_path): New function.
  16198. (grub_efi_print_device_path): Print End Device Path nodes. Divide
  16199. the length by the size of grub_efi_char16_t for a file path device
  16200. path node.
  16201. * kern/loader.c (grub_loader_noreturn): New variable.
  16202. (grub_loader_set): Accept a new argument NORETURN. Set
  16203. GRUB_LOADER_NORETURN to NORETURN.
  16204. All callers changed.
  16205. (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
  16206. grub_machine_fini.
  16207. * include/grub/efi/efi.h (grub_efi_get_device_path): New
  16208. prototype.
  16209. (grub_efi_get_loaded_image): Take an argument to specify an image
  16210. handle.
  16211. * include/grub/loader.h (grub_loader_set): Added one more argument
  16212. NORETURN.
  16213. * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
  16214. instead of grub_efi_open_protocol.
  16215. (grub_efidisk_get_device_name): Likewise.
  16216. (grub_efidisk_close): Print a newline.
  16217. (grub_efidisk_get_device_handle): Fixed to use
  16218. GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
  16219. GRUB_EFI_DEVICE_PATH_TYPE.
  16220. * disk/efi/efidisk.c (device_path_guid): Moved to ...
  16221. * kern/efi/efi.c (device_path_guid): ... here.
  16222. * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
  16223. chain.mod.
  16224. (kernel_mod_HEADERS): Added efi/disk.h.
  16225. (_chain_mod_SOURCES): New variable.
  16226. (_chain_mod_CFLAGS): Likewise.
  16227. (_chain_mod_LDFLAGS): Likewise.
  16228. (chain_mod_SOURCES): Likewise.
  16229. (chain_mod_CFLAGS): Likewise.
  16230. (chain_mod_LDFLAGS): Likewise.
  16231. * DISTLIST: Added include/grub/efi/chainloader.h,
  16232. loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
  16233. * include/grub/efi/chainloader.h: New file.
  16234. * loader/efi/chainloader.c: Likewise.
  16235. * loader/efi/chainloader_normal.c: Likewise.
  16236. 2006-04-30 Marco Gerards <marco@gnu.org>
  16237. * commands/configfile.c (grub_cmd_source): New function.
  16238. (GRUB_MOD_INIT): Register the commands `source' and `.'.
  16239. (GRUB_MOD_FINI): De-register the commands `source' and `.'.
  16240. 2006-04-30 Marco Gerards <marco@gnu.org>
  16241. * normal/execute.c (grub_script_execute_cmd): Change the return
  16242. type to `grub_err_t'. Correctly return the error.
  16243. (grub_script_execute_cmdline): In case a command line is not a
  16244. command or a function, try to interpret it as an assignment.
  16245. 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
  16246. * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
  16247. (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
  16248. skip a node whose name is obviously invalid as UTF-16,
  16249. i.e. contains a NUL character. Stop the iteration when the last
  16250. directory entry is found. Instead of using the return value of
  16251. grub_hfsplus_btree_iterate_node, store the value in RET and use
  16252. it, because the iterator can be stopped by the last directory
  16253. entry.
  16254. 2006-04-30 Marco Gerards <marco@gnu.org>
  16255. * include/grub/env.h (grub_env_export): New prototype. Reported
  16256. by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
  16257. 2006-04-30 Marco Gerards <marco@gnu.org>
  16258. * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
  16259. size of the extents in a catalog file record.
  16260. 2006-04-29 Marco Gerards <marco@gnu.org>
  16261. * commands/configfile.c (grub_cmd_configfile): Execute the
  16262. configfile within its own context.
  16263. * include/grub/env.h (grub_env_context_open): New prototype.
  16264. (grub_env_context_close): Likewise.
  16265. * kern/env.c (grub_env): Removed.
  16266. (grub_env_sorted): Likewise.
  16267. (grub_env_context): New variable.
  16268. (grub_env_var_context): Likewise.
  16269. (grub_env_find): Search both the active context and the global
  16270. context.
  16271. (grub_env_context_open): New function.
  16272. (grub_env_context_close): Likewise.
  16273. (grub_env_insert): Likewise.
  16274. (grub_env_remove): Likewise.
  16275. (grub_env_export): Likewise.
  16276. (grub_env_set): Changed to use helper functions to avoid code
  16277. duplication.
  16278. (grub_env_iterate): Rewritten so both the current context and the
  16279. global context are being used.
  16280. * normal/command.c (export_command): New function.
  16281. (grub_command_init): Register the `export' function.
  16282. 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
  16283. * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
  16284. explicitly to suppress gcc's warnings.
  16285. * fs/fat.c (grub_fat_find_dir): Likewise.
  16286. (grub_fat_label): Likewise.
  16287. * fs/xfs.c (grub_xfs_read_inode): Likewise.
  16288. (grub_xfs_mount): Likewise.
  16289. (grub_xfs_label): Likewise.
  16290. * fs/affs.c (grub_affs_mount): Likewise.
  16291. (grub_affs_label): Likewise.
  16292. (grub_affs_iterate_dir): Likewise.
  16293. * fs/sfs.c (grub_sfs_mount): Likewise.
  16294. (grub_sfs_iterate_dir): Likewise.
  16295. * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
  16296. * fs/hfs.c (grub_hfs_mount): Likewise.
  16297. (grub_hfs_cmp_catkeys): Likewise.
  16298. (grub_hfs_find_dir): Likewise.
  16299. (grub_hfs_dir): Likewise.
  16300. (grub_hfs_label): Likewise.
  16301. * fs/jfs.c (grub_jfs_mount): Likewise.
  16302. (grub_jfs_opendir): Likewise.
  16303. (grub_jfs_getent): Likewise.
  16304. (grub_jfs_lookup_symlink): Likewise.
  16305. (grub_jfs_label): Likewise.
  16306. * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
  16307. (grub_hfsplus_iterate_dir): Likewise.
  16308. (grub_hfsplus_btree_iterate_node): Made static.
  16309. * util/grub-emu.c (prefix): New variable.
  16310. (grub_machine_set_prefix): New function.
  16311. (main): Do not set the environment variable "prefix" here. Only
  16312. set PREFIX, which is used later by grub_machine_set_prefix.
  16313. * include/grub/video.h: Do not include grub/symbol.h.
  16314. (grub_video_register): Not exported. This symbol is not defined in
  16315. the kernel.
  16316. (grub_video_unregister): Likewise.
  16317. (grub_video_iterate): Likewise.
  16318. (grub_video_setup): Likewise.
  16319. (grub_video_restore): Likewise.
  16320. (grub_video_get_info): Likewise.
  16321. (grub_video_get_blit_format): Likewise.
  16322. (grub_video_set_palette): Likewise.
  16323. (grub_video_get_palette): Likewise.
  16324. (grub_video_set_viewport): Likewise.
  16325. (grub_video_get_viewport): Likewise.
  16326. (grub_video_map_color): Likewise.
  16327. (grub_video_map_rgb): Likewise.
  16328. (grub_video_map_rgba): Likewise.
  16329. (grub_video_fill_rect): Likewise.
  16330. (grub_video_blit_glyph): Likewise.
  16331. (grub_video_blit_bitmap): Likewise.
  16332. (grub_video_blit_render_target): Likewise.
  16333. (grub_video_scroll): Likewise.
  16334. (grub_video_swap_buffers): Likewise.
  16335. (grub_video_create_render_target): Likewise.
  16336. (grub_video_delete_render_target): Likewise.
  16337. (grub_video_set_active_render_target): Likewise.
  16338. * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
  16339. Undefined.
  16340. [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
  16341. * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
  16342. config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
  16343. (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
  16344. instead of $(srcdir)/genkernsyms.sh.
  16345. * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
  16346. config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
  16347. (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
  16348. instead of $(srcdir)/genkernsyms.sh.
  16349. * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
  16350. gensymlist.sh instead of $(srcdir)/gensymlist.sh.
  16351. (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
  16352. instead of $(srcdir)/genkernsyms.sh.
  16353. * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
  16354. gensymlist.sh instead of $(srcdir)/gensymlist.sh.
  16355. (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
  16356. instead of $(srcdir)/genkernsyms.sh.
  16357. * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
  16358. genkernsyms.sh.
  16359. * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
  16360. genkernsyms.sh.
  16361. (gensymlist.sh): New target.
  16362. (genkernsyms.sh): Likewise.
  16363. * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
  16364. genkernsyms.sh.in and gensymlist.sh.in.
  16365. * genkernsyms.sh: Removed.
  16366. * gensymlist.sh: Likewise.
  16367. * genkernsyms.sh.in: New file.
  16368. * gensymlist.sh.in: Likewise.
  16369. 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
  16370. * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
  16371. clobber "prefix", since we may have already set it manually.
  16372. 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
  16373. * kern/misc.c (abort): New alias for grub_abort.
  16374. 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
  16375. A new machine-specific function "grub_machine_set_prefix" is
  16376. defined. This is called after loading modules, so that a prefix
  16377. initialization can use modules. Also, this change adds an
  16378. intensive debugging feature for the memory manager via the
  16379. configure option "--enable-mm-debug".
  16380. * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
  16381. PART.LEN.
  16382. * kern/sparc64/ieee1275/init.c (abort): Removed.
  16383. (grub_stop): Likewise.
  16384. (grub_exit): New function.
  16385. (grub_set_prefix): Renamed to ...
  16386. (grub_machine_set_prefix): ... this.
  16387. (grub_machine_init): Do not call grub_set_prefix.
  16388. * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
  16389. (grub_machine_set_prefix): ... this.
  16390. (grub_machine_init): Do not call grub_set_prefix.
  16391. * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
  16392. (grub_machine_init): Do not set the prefix here.
  16393. * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
  16394. * kern/efi/init.c: Include grub/mm.h.
  16395. (grub_efi_set_prefix): New function.
  16396. * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
  16397. (grub_efi_get_filename): New function.
  16398. (grub_print_device_path): Renamed to ...
  16399. (grub_efi_print_device_path): ... this.
  16400. * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
  16401. [MM_DEBUG] (grub_realloc): Likewise.
  16402. [MM_DEBUG] (grub_free): Likewise.
  16403. [MM_DEBUG] (grub_memalign): Likewise.
  16404. [MM_DEBUG] (grub_mm_debug): New variable.
  16405. [MM_DEBUG] (grub_debug_malloc): New function.
  16406. [MM_DEBUG] (grub_debug_free): New function.
  16407. [MM_DEBUG] (grub_debug_realloc): New function.
  16408. [MM_DEBUG] (grub_debug_memalign): New function.
  16409. * kern/misc.c (grub_abort): Print a newline to distinguish
  16410. the message.
  16411. * kern/main.c (grub_main): Call grub_machine_set_prefix and
  16412. grub_set_root_dev after loading modules. This is necessary when
  16413. setting a prefix depends on modules.
  16414. * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
  16415. (grub_efi_print_device_path): ... this.
  16416. (grub_efi_get_filename): New prototype.
  16417. (grub_efi_set_prefix): Likewise.
  16418. * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
  16419. and grub/disk.h.
  16420. (grub_efidisk_get_device_handle): New prototype.
  16421. (grub_efidisk_get_device_name): Likewise.
  16422. * include/grub/mm.h: Include config.h.
  16423. (MM_DEBUG): Removed.
  16424. [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
  16425. [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
  16426. [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
  16427. [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
  16428. [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
  16429. [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
  16430. [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
  16431. [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
  16432. [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
  16433. * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
  16434. * disk/efi/efidisk.c: Include grub/partition.h.
  16435. (iterate_child_devices): New function.
  16436. (add_device): First, compare only last device path nodes, so that
  16437. devices are sorted by the types.
  16438. (grub_efidisk_get_device_handle): New function.
  16439. (grub_efidisk_get_device_name): Likewise.
  16440. * configure.ac (--enable-mm-debug): New option to enable the
  16441. memory manager debugging feature. This makes the binary much
  16442. bigger, so is disabled by default.
  16443. 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
  16444. Use grub_abort instead of grub_stop, and grub_exit must be
  16445. define in each architecture now. Also, this change adds support
  16446. for EFI disks.
  16447. * util/i386/pc/grub-probefs.c: Include grub/term.h.
  16448. (grub_getkey): New function.
  16449. (grub_term_get_current): Likewise.
  16450. * util/i386/pc/grub-setup.c: Include grub/term.h.
  16451. (grub_getkey): New function.
  16452. (grub_term_get_current): Likewise.
  16453. * util/misc.c (grub_stop): Renamed to ...
  16454. (grub_exit): ... this.
  16455. * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
  16456. (grub_exit): ... this.
  16457. (grub_machine_init): Use grub_abort instead of abort.
  16458. (grub_stop): Removed.
  16459. * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
  16460. abort.
  16461. * kern/i386/pc/startup.S (grub_exit): New function.
  16462. (cold_reboot): New label.
  16463. * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
  16464. (grub_efi_init): Call grub_efidisk_init.
  16465. (grub_efi_fini): Call grub_efidisk_fini.
  16466. * kern/efi/efi.c: Include grub/mm.h.
  16467. (grub_efi_console_control_guid): Renamed to ...
  16468. (console_control_guid): ... this.
  16469. (grub_efi_loaded_image_guid): Renamed to ...
  16470. (loaded_image_guid): ... this.
  16471. (grub_efi_locate_handle): New function.
  16472. (grub_efi_open_protocol): Likewise.
  16473. (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
  16474. GRUB_EFI_CONSOLE_CONTROL_GUID.
  16475. (grub_efi_exit): Removed.
  16476. (grub_stop): Likewise.
  16477. (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
  16478. (grub_exit): New function.
  16479. (grub_print_device_path): Likewise.
  16480. * kern/rescue.c (grub_rescue_cmd_exit): New function.
  16481. (grub_enter_rescue_mode): Register "exit".
  16482. * kern/misc.c (grub_real_dprintf): A cosmetic change.
  16483. (grub_abort): New function.
  16484. * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
  16485. * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
  16486. * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
  16487. * include/grub/efi/efi.h (grub_efi_exit): Removed.
  16488. (grub_print_device_path): New prototype.
  16489. (grub_efi_locate_handle): Likewise.
  16490. (grub_efi_open_protocol): Likewise.
  16491. * include/grub/efi/disk.h (grub_efidisk_fini): New file.
  16492. * disk/efi/efidisk.c: Likewise.
  16493. * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
  16494. * include/grub/efi/console_control.h
  16495. (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
  16496. * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
  16497. last 8 bytes as an array.
  16498. (GRUB_EFI_DISK_IO_GUID): New macro.
  16499. (GRUB_EFI_BLOCK_IO_GUID): Likewise.
  16500. (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
  16501. (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
  16502. grub_uint8_t.
  16503. (struct grub_efi_guid): Use an array to specify the last 8 bytes.
  16504. (struct grub_efi_device_path): Rename the member "sub_type" to
  16505. "subtype".
  16506. (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
  16507. (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
  16508. (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
  16509. (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
  16510. (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
  16511. (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
  16512. (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
  16513. (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
  16514. (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
  16515. (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
  16516. (struct grub_efi_pci_device_path): New structure.
  16517. (grub_efi_pci_device_path_t): New type.
  16518. (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
  16519. (struct grub_efi_pccard_device_path): New structure.
  16520. (grub_efi_pccard_device_path_t): New type.
  16521. (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
  16522. (struct grub_efi_memory_mapped_device_path): New structure.
  16523. (grub_efi_memory_mapped_device_path_t): New type.
  16524. (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
  16525. (struct grub_efi_vendor_device_path): New structure.
  16526. (grub_efi_vendor_device_path_t): New type.
  16527. (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
  16528. (struct grub_efi_controller_device_path): New structure.
  16529. (grub_efi_controller_device_path_t): New type.
  16530. (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
  16531. (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
  16532. (struct grub_efi_acpi_device_path): New structure.
  16533. (grub_efi_acpi_device_path_t): New type.
  16534. (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
  16535. (struct grub_efi_expanded_acpi_device_path): New structure.
  16536. (grub_efi_expanded_acpi_device_path_t): New type.
  16537. (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
  16538. (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
  16539. (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
  16540. (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
  16541. (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
  16542. (struct grub_efi_atapi_device_path): New structure.
  16543. (grub_efi_atapi_device_path_t): New type.
  16544. (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
  16545. (struct grub_efi_fibre_channel_device_path): New structure.
  16546. (grub_efi_fibre_channel_device_path_t): New type.
  16547. (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
  16548. (struct grub_efi_1394_device_path): New structure.
  16549. (grub_efi_1394_device_path_t): New type.
  16550. (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
  16551. (struct grub_efi_usb_device_path): New structure.
  16552. (grub_efi_usb_device_path_t): New type.
  16553. (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
  16554. (struct grub_efi_usb_class_device_path): New structure.
  16555. (grub_efi_usb_class_device_path_t): New type.
  16556. (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
  16557. (struct grub_efi_i2o_device_path): New structure.
  16558. (grub_efi_i2o_device_path_t): New type.
  16559. (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
  16560. (struct grub_efi_mac_address_device_path): New structure.
  16561. (grub_efi_mac_address_device_path_t): New type.
  16562. (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
  16563. (struct grub_efi_ipv4_device_path): New structure.
  16564. (grub_efi_ipv4_device_path_t): New type.
  16565. (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
  16566. (struct grub_efi_ipv6_device_path): New structure.
  16567. (grub_efi_ipv6_device_path_t): New type.
  16568. (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
  16569. (struct grub_efi_infiniband_device_path): New structure.
  16570. (grub_efi_infiniband_device_path_t): New type.
  16571. (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
  16572. (struct grub_efi_uart_device_path): New structure.
  16573. (grub_efi_uart_device_path_t): New type.
  16574. (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
  16575. (struct grub_efi_vendor_messaging_device_path): New structure.
  16576. (grub_efi_vendor_messaging_device_path_t): New type.
  16577. (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
  16578. (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
  16579. (struct grub_efi_hard_drive_device_path): New structure.
  16580. (grub_efi_hard_drive_device_path_t): New type.
  16581. (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
  16582. (struct grub_efi_cdrom_device_path): New structure.
  16583. (grub_efi_cdrom_device_path_t): New type.
  16584. (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
  16585. (struct grub_efi_vendor_media_device_path): New structure.
  16586. (grub_efi_vendor_media_device_path_t): New type.
  16587. (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
  16588. (struct grub_efi_file_path_device_path): New structure.
  16589. (grub_efi_file_path_device_path_t): New type.
  16590. (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
  16591. (struct grub_efi_protocol_device_path): New structure.
  16592. (grub_efi_protocol_device_path_t): New type.
  16593. (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
  16594. (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
  16595. (struct grub_efi_bios_device_path): New structure.
  16596. (grub_efi_bios_device_path_t): New type.
  16597. (struct grub_efi_disk_io): New structure.
  16598. (grub_efi_disk_io_t): New type.
  16599. (struct grub_efi_block_io_media): New structure.
  16600. (grub_efi_block_io_media_t): New type.
  16601. (struct grub_efi_block_io): New structure.
  16602. (grub_efi_block_io_t): New type.
  16603. * include/grub/misc.h (grub_stop): Removed.
  16604. (grub_exit): New prototype.
  16605. (grub_abort): Likewise.
  16606. * include/grub/disk.h (enum grub_disk_dev_id): Added
  16607. GRUB_DISK_DEVICE_EFIDISK_ID.
  16608. * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
  16609. disk/efi/efidisk.c.
  16610. (kernel_syms.lst): Remove the target if an error occurs.
  16611. 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
  16612. * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
  16613. as it was simply too buggy.
  16614. 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
  16615. * kern/misc.c (grub_lltoa): New function.
  16616. (grub_vsprintf): Added support for the long long suffix,
  16617. i.e. "ll".
  16618. 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
  16619. * Makefile.in (LDFLAGS): Add variable.
  16620. (LD): Remove variable.
  16621. * configure.ac: Add -m32 to LDFLAGS.
  16622. * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
  16623. * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
  16624. (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
  16625. (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
  16626. suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
  16627. variables.
  16628. * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
  16629. * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
  16630. * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
  16631. 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
  16632. * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
  16633. length for unknown glyph.
  16634. 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
  16635. Add support for pre-loaded modules into the EFI port.
  16636. * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
  16637. completely. Accept one more argument DIR. The caller has changed.
  16638. * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
  16639. * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
  16640. (grub_efi_loaded_image_guid): New variable.
  16641. (grub_efi_get_loaded_image): New function.
  16642. (grub_arch_modules_addr): Likewise.
  16643. * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
  16644. prototype.
  16645. * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
  16646. (struct grub_efi_loaded_image): New structure.
  16647. (grub_efi_loaded_image_t): New type.
  16648. 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
  16649. * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
  16650. size with GRUB_OS_AREA_SIZE as grub_size_t instead of
  16651. grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
  16652. 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
  16653. * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
  16654. 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
  16655. * DISTLIST: Added include/grub/efi/console.h,
  16656. include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
  16657. kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
  16658. * include/grub/efi/console.h: New file.
  16659. * include/grub/efi/time.h: Likewise.
  16660. * include/grub/i386/efi/kernel.h: Likewise.
  16661. * kern/efi/init.c: Likewise.
  16662. * kern/efi/mm.c: Likewise.
  16663. * term/efi/console.c: Likewise.
  16664. * kern/i386/efi/init.c: Do not include grub/machine/time.h.
  16665. (grub_stop): Removed.
  16666. (grub_get_rtc): Likewise.
  16667. (grub_machine_init): Simply call grub_efi_init.
  16668. (grub_machine_fini): Call grub_efi_fini.
  16669. * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
  16670. (grub_efi_output_string): Removed.
  16671. (grub_efi_stall): New function.
  16672. (grub_stop): Likewise.
  16673. (grub_get_rtc): Likewise.
  16674. * include/grub/efi/efi.h (grub_efi_output_string): Removed.
  16675. (grub_efi_stall): New prototype.
  16676. (grub_efi_allocate_pages): Likewise.
  16677. (grub_efi_free_pages): Likewise.
  16678. (grub_efi_get_memory_map): Likewise.
  16679. (grub_efi_mm_init): Likewise.
  16680. (grub_efi_mm_fini): Likewise.
  16681. (grub_efi_init): Likewise.
  16682. (grub_efi_fini): Likewise.
  16683. * include/grub/i386/efi/time.h: Do not include
  16684. grub/symbol.h. Include grub/efi/time.h.
  16685. (GRUB_TICKS_PER_SECOND): Removed.
  16686. (grub_get_rtc): Likewise.
  16687. * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
  16688. Added padding. The EFI spec is buggy.
  16689. (GRUB_EFI_BLACK): New macro.
  16690. (GRUB_EFI_BLUE): Likewise.
  16691. (GRUB_EFI_GREEN): Likewise.
  16692. (GRUB_EFI_CYAN): Likewise.
  16693. (GRUB_EFI_RED): Likewise.
  16694. (GRUB_EFI_MAGENTA): Likewise.
  16695. (GRUB_EFI_BROWN): Likewise.
  16696. (GRUB_EFI_LIGHTGRAY): Likewise.
  16697. (GRUB_EFI_BRIGHT): Likewise.
  16698. (GRUB_EFI_DARKGRAY): Likewise.
  16699. (GRUB_EFI_LIGHTBLUE): Likewise.
  16700. (GRUB_EFI_LIGHTGREEN): Likewise.
  16701. (GRUB_EFI_LIGHTCYAN): Likewise.
  16702. (GRUB_EFI_LIGHTRED): Likewise.
  16703. (GRUB_EFI_LIGHTMAGENTA): Likewise.
  16704. (GRUB_EFI_YELLOW): Likewise.
  16705. (GRUB_EFI_WHITE): Likewise.
  16706. (GRUB_EFI_BACKGROUND_BLACK): Likewise.
  16707. (GRUB_EFI_BACKGROUND_BLUE): Likewise.
  16708. (GRUB_EFI_BACKGROUND_GREEN): Likewise.
  16709. (GRUB_EFI_BACKGROUND_CYAN): Likewise.
  16710. (GRUB_EFI_BACKGROUND_RED): Likewise.
  16711. (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
  16712. (GRUB_EFI_BACKGROUND_BROWN): Likewise.
  16713. (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
  16714. (GRUB_EFI_TEXT_ATTR): Likewise.
  16715. * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
  16716. kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
  16717. (kernel_mod_HEADERS): Added efi/time.h.
  16718. 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
  16719. * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
  16720. include/grub/efi/api.h, include/grub/efi/console_control.h,
  16721. include/grub/efi/efi.h, include/grub/efi/pe32.h,
  16722. include/grub/i386/efi/time.h, kern/efi/efi.c,
  16723. kern/i386/efi/init.c, kern/i386/efi/startup.S,
  16724. and util/i386/efi/grub-mkimage.c.
  16725. * Makefile.in (RMKFILES): Added i386-efi.rmk.
  16726. * genmk.rb (PModule#rule): Do not export symbols if
  16727. #{prefix}_EXPORTS is set to "no".
  16728. * conf/i386-efi.mk: New file.
  16729. * conf/i386-efi.rmk: Likewise.
  16730. * include/grub/efi/api.h: Likewise.
  16731. * include/grub/efi/console_control.h: Likewise.
  16732. * include/grub/efi/efi.h: Likewise.
  16733. * include/grub/efi/pe32.h: Likewise.
  16734. * include/grub/i386/efi/time.h: Likewise.
  16735. * kern/efi/efi.c: Likewise.
  16736. * kern/i386/efi/init.c: Likewise.
  16737. * kern/i386/efi/startup.S: Likewise.
  16738. * util/i386/efi/grub-mkimage.c: Likewise.
  16739. 2006-04-17 Marco Gerards <marco@gnu.org>
  16740. * include/grub/script.h: Include <grub/parser.h> and
  16741. "grub_script.tab.h".
  16742. (struct grub_lexer_param): New struct.
  16743. (struct grub_parser_param): Likewise.
  16744. (grub_script_create_arglist): Pass the state in an argument.
  16745. (grub_script_add_arglist): Likewise.
  16746. (grub_script_create_cmdline): Likewise.
  16747. (grub_script_create_cmdblock): Likewise.
  16748. (grub_script_create_cmdif): Likewise.
  16749. (grub_script_create_cmdmenu): Likewise.
  16750. (grub_script_add_cmd): Likewise.
  16751. (grub_script_arg_add): Likewise.
  16752. (grub_script_lexer_ref): Likewise.
  16753. (grub_script_lexer_deref): Likewise.
  16754. (grub_script_lexer_record_start): Likewise.
  16755. (grub_script_lexer_record_stop): Likewise.
  16756. (grub_script_mem_record): Likewise.
  16757. (grub_script_mem_record_stop): Likewise.
  16758. (grub_script_malloc): Likewise.
  16759. (grub_script_yylex): Likewise.
  16760. (grub_script_yyparse): Likewise.
  16761. (grub_script_yyerror): Likewise.
  16762. (grub_script_yylex): Likewise.
  16763. (grub_script_lexer_init): Return the state.
  16764. * normal/lexer.c (grub_script_lexer_state): Removed variable.
  16765. (grub_script_lexer_done): Likewise.
  16766. (grub_script_lexer_getline): Likewise.
  16767. (grub_script_lexer_refs): Likewise.
  16768. (script): Likewise.
  16769. (newscript): Likewise.
  16770. (record): Likewise.
  16771. (recording): Likewise.
  16772. (recordpos): Likewise.
  16773. (recordlen): Likewise.
  16774. (grub_script_lexer_init): Return the state instead of setting
  16775. global variables.
  16776. (grub_script_lexer_ref): Use the newly added argument for state
  16777. instead of globals.
  16778. (grub_script_lexer_deref): Likewise.
  16779. (grub_script_lexer_record_start): Likewise.
  16780. (grub_script_lexer_record_stop): Likewise.
  16781. (recordchar): Likewise.
  16782. (nextchar): Likewise.
  16783. (grub_script_yylex2): Likewise.
  16784. (grub_script_yylex): Likewise.
  16785. (grub_script_yyerror): Likewise.
  16786. * normal/parser.y (func_mem): Removed variable.
  16787. (menu_entry): Likewise.
  16788. (err): Likewise.
  16789. (%lex-param): New parser option.
  16790. (%parse-param): Likewise.
  16791. (script): Always return the AST.
  16792. (argument): Pass the state around.
  16793. (arguments): Likewise.
  16794. (grubcmd): Likewise.
  16795. (commands): Likewise.
  16796. (function): Likewise.
  16797. (menuentry): Likewise.
  16798. (if_statement): Likewise.
  16799. (if): Likewise.
  16800. * normal/script.c (grub_script_memused): Removed variable.
  16801. (grub_script_parsed): Likewise.
  16802. (grub_script_malloc): Added a state argument. Use that instead of
  16803. global variables.
  16804. (grub_script_mem_record): Likewise.
  16805. (grub_script_mem_record_stop): Likewise.
  16806. (grub_script_arg_add): Likewise.
  16807. (grub_script_add_arglist): Likewise.
  16808. (grub_script_create_cmdline): Likewise.
  16809. (grub_script_create_cmdif): Likewise.
  16810. (grub_script_create_cmdmenu): Likewise.
  16811. (grub_script_add_cmd): Likewise.
  16812. (grub_script_parse): Setup the state before calling the parser.
  16813. 2006-04-16 Marco Gerards <marco@gnu.org>
  16814. * normal/command.c (grub_command_init): Remove the title command.
  16815. * normal/lexer.c (grub_script_yylex): Renamed from this...
  16816. (grub_script_yylex2): ... to this.
  16817. (grub_script_yylex): New function. Temporary
  16818. introduced to filter some tokens.
  16819. (grub_script_yyerror): Print a newline.
  16820. * normal/main.c (read_config_file): Output information about the
  16821. lines that contain errors. Wait for a key after all lines have
  16822. been processed. Don't return an empty menu.
  16823. * normal/parser.y (func_mem): Don't initialize.
  16824. (menu_entry): Likewise.
  16825. (err): New variable.
  16826. (script): Don't return anything when an error was encountered.
  16827. (ws, returns): Removed rules.
  16828. (argument): Disabled concatenated variable support.
  16829. (arguments): Remove explicit separators.
  16830. (grubcmd): Likewise.
  16831. (function): Likewise.
  16832. (menuentry): Likewise.
  16833. (if): Likewise.
  16834. (commands): Likewise. Add error handling.
  16835. * normal/script.c (grub_script_create_cmdline): If
  16836. `grub_script_parsed' is 0, assume the parser encountered an error.
  16837. 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
  16838. * configure.ac: Add support for EFI. Fix the typo
  16839. BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
  16840. 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
  16841. * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
  16842. foreign multibyte characters should be shown correctly.
  16843. 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
  16844. * normal/main.c (grub_normal_menu_addentry): Fixed menu size
  16845. calculation.
  16846. (read_config_file): Made it to close file before returning.
  16847. 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
  16848. * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
  16849. include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
  16850. video/i386/pc/vbefill.c.
  16851. * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
  16852. video/i386/pc/vbefill.c.
  16853. * include/grub/video.h (grub_video_blit_format): New enum.
  16854. (grub_video_mode_info): Added new member blit_format.
  16855. (grub_video_get_blit_format): New function prototype.
  16856. * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
  16857. function prototype.
  16858. (grub_video_vbe_map_rgb): Likewise.
  16859. (grub_video_vbe_unmap_color): Likewise.
  16860. * include/grub/i386/pc/vbeblit.h: New file.
  16861. * include/grub/i386/pc/vbefill.h: New file.
  16862. * video/video.c (grub_video_get_blit_format): New function.
  16863. (grub_video_vbe_get_video_ptr): Re-declared as non-static.
  16864. (grub_video_vbe_map_rgb): Likewise.
  16865. (grub_video_vbe_unmap_color): Likewise.
  16866. * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
  16867. optimized fills.
  16868. (grub_video_vbe_blit_render_target): Changed to use more optimized
  16869. blits.
  16870. (grub_video_vbe_setup): Added detection for optimized settings.
  16871. (grub_video_vbe_create_render_target): Likewise.
  16872. * video/i386/pc/vbeblit.c: New file.
  16873. * video/i386/pc/vbefill.c: New file.
  16874. 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
  16875. * font/manager.c (grub_font_get_glyph): Removed font fixup from
  16876. here...
  16877. * util/unifont2pff.rb: ... and moved it to here. Improved argument
  16878. parsing to support both hex and dec ranges. If filename was missing
  16879. show usage information.
  16880. 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
  16881. * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
  16882. video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
  16883. * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
  16884. gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
  16885. (video_mod_SOURCES): Added.
  16886. (video_mod_CFLAGS): Likewise.
  16887. (video_mod_LDFLAGS): Likewise.
  16888. (gfxterm_mod_SOURCES): Likewise.
  16889. (gfxterm_mod_CFLAGS): Likewise.
  16890. (gfxterm_mod_LDFLAGS): Likewise.
  16891. (videotest_mod_SOURCES): Likewise.
  16892. (videotest_mod_CFLAGS): Likewise.
  16893. (videotest_mod_LDFLAGS): Likewise.
  16894. (vesafb_mod_SOURCES): Removed.
  16895. (vesafb_mod_CFLAGS): Likewise.
  16896. (vesafb_mod_LDFLAGS): Likewise.
  16897. (vga_mod_SOURCES): Likewise.
  16898. (vga_mod_CFLAGS): Likewise.
  16899. (vga_mod_LDFLAGS): Likewise.
  16900. * commands/videotest.c: New file.
  16901. * font/manager.c (fill_with_default_glyph): Modified to use
  16902. grub_font_glyph.
  16903. (grub_font_get_glyph): Likewise.
  16904. (fontmanager): Renamed from this...
  16905. (font_manager): ... to this.
  16906. * include/grub/font.h (grub_font_glyph): Added new structure.
  16907. (grub_font_get_glyph): Modified to use grub_font_glyph.
  16908. * include/grub/misc.h (grub_abs): Added as inline function.
  16909. * include/grub/video.h: New file.
  16910. * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
  16911. (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
  16912. (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
  16913. (grub_vbe_get_controller_info): Renamed from this...
  16914. (grub_vbe_bios_get_controller_info): ... to this.
  16915. (grub_vbe_get_mode_info): Renamed from this...
  16916. (grub_vbe_bios_get_mode_info): ... to this.
  16917. (grub_vbe_set_mode): Renamed from this...
  16918. (grub_vbe_bios_set_mode): ... to this.
  16919. (grub_vbe_get_mode): Renamed from this...
  16920. (grub_vbe_bios_get_mode): ... to this.
  16921. (grub_vbe_set_memory_window): Renamed from this...
  16922. (grub_vbe_bios_set_memory_window): ... to this.
  16923. (grub_vbe_get_memory_window): Renamed from this...
  16924. (grub_vbe_bios_get_memory_window): ... to this.
  16925. (grub_vbe_set_scanline_length): Renamed from this...
  16926. (grub_vbe_set_scanline_length): ... to this.
  16927. (grub_vbe_get_scanline_length): Renamed from this...
  16928. (grub_vbe_bios_get_scanline_length): ... to this.
  16929. (grub_vbe_set_display_start): Renamed from this...
  16930. (grub_vbe_bios_set_display_start): ... to this.
  16931. (grub_vbe_get_display_start): Renamed from this...
  16932. (grub_vbe_bios_get_display_start): ... to this.
  16933. (grub_vbe_set_palette_data): Renamed from this...
  16934. (grub_vbe_bios_set_palette_data): ... to this.
  16935. (grub_vbe_set_pixel_rgb): Removed.
  16936. (grub_vbe_set_pixel_index): Likewise.
  16937. * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
  16938. from this...
  16939. (grub_vbe_bios_get_controller_info): ... to this.
  16940. (grub_vbe_get_mode_info): Renamed from this...
  16941. (grub_vbe_bios_get_mode_info): ... to this.
  16942. (grub_vbe_set_mode): Renamed from this...
  16943. (grub_vbe_bios_set_mode): ... to this.
  16944. (grub_vbe_get_mode): Renamed from this...
  16945. (grub_vbe_bios_get_mode): ... to this.
  16946. (grub_vbe_set_memory_window): Renamed from this...
  16947. (grub_vbe_bios_set_memory_window): ... to this.
  16948. (grub_vbe_get_memory_window): Renamed from this...
  16949. (grub_vbe_bios_get_memory_window): ... to this.
  16950. (grub_vbe_set_scanline_length): Renamed from this...
  16951. (grub_vbe_set_scanline_length): ... to this.
  16952. (grub_vbe_get_scanline_length): Renamed from this...
  16953. (grub_vbe_bios_get_scanline_length): ... to this.
  16954. (grub_vbe_set_display_start): Renamed from this...
  16955. (grub_vbe_bios_set_display_start): ... to this.
  16956. (grub_vbe_get_display_start): Renamed from this...
  16957. (grub_vbe_bios_get_display_start): ... to this.
  16958. (grub_vbe_set_palette_data): Renamed from this...
  16959. (grub_vbe_bios_set_palette_data): ... to this.
  16960. (grub_vbe_bios_get_controller_info): Fixed problem with registers
  16961. getting corrupted after calling it. Added more pushes and pops.
  16962. (grub_vbe_bios_set_mode): Likewise.
  16963. (grub_vbe_bios_get_mode): Likewise.
  16964. (grub_vbe_bios_get_memory_window): Likewise.
  16965. (grub_vbe_bios_set_scanline_length): Likewise.
  16966. (grub_vbe_bios_get_scanline_length): Likewise.
  16967. (grub_vbe_bios_get_display_start): Likewise.
  16968. (grub_vbe_bios_set_palette_data): Likewise.
  16969. * normal/cmdline.c (cl_set_pos): Refresh the screen.
  16970. (cl_insert): Likewise.
  16971. (cl_delete): Likewise.
  16972. * term/gfxterm.c: New file.
  16973. * term/i386/pc/vesafb.c: Removed file.
  16974. * video/video.c: New file.
  16975. * video/i386/pc/vbe.c (real2pm): Added new function.
  16976. (grub_video_vbe_draw_pixel): Likewise.
  16977. (grub_video_vbe_get_video_ptr): Likewise.
  16978. (grub_video_vbe_get_pixel): Likewise
  16979. (grub_video_vbe_init): Likewise.
  16980. (grub_video_vbe_fini): Likewise.
  16981. (grub_video_vbe_setup): Likewise.
  16982. (grub_video_vbe_get_info): Likewise.
  16983. (grub_video_vbe_set_palette): Likewise.
  16984. (grub_video_vbe_get_palette): Likewise.
  16985. (grub_video_vbe_set_viewport): Likewise.
  16986. (grub_video_vbe_get_viewport): Likewise.
  16987. (grub_video_vbe_map_color): Likewise.
  16988. (grub_video_vbe_map_rgb): Likewise.
  16989. (grub_video_vbe_map_rgba): Likewise.
  16990. (grub_video_vbe_unmap_color): Likewise.
  16991. (grub_video_vbe_fill_rect): Likewise.
  16992. (grub_video_vbe_blit_glyph): Likewise.
  16993. (grub_video_vbe_blit_bitmap): Likewise.
  16994. (grub_video_vbe_blit_render_target): Likewise.
  16995. (grub_video_vbe_scroll): Likewise.
  16996. (grub_video_vbe_swap_buffers): Likewise.
  16997. (grub_video_vbe_create_render_target): Likewise.
  16998. (grub_video_vbe_delete_render_target): Likewise.
  16999. (grub_video_vbe_set_active_render_target): Likewise.
  17000. (grub_vbe_set_pixel_rgb): Remove function.
  17001. (grub_vbe_set_pixel_index): Likewise.
  17002. (index_color_mode): Remove static variable.
  17003. (active_mode): Likewise.
  17004. (framebuffer): Likewise.
  17005. (bytes_per_scan_line): Likewise.
  17006. (grub_video_vbe_adapter): Added new static variable.
  17007. (framebuffer): Likewise.
  17008. (render_target): Likewise.
  17009. (initial_mode): Likewise.
  17010. (mode_in_use): Likewise.
  17011. (mode_list): Likewise.
  17012. 2006-03-10 Marco Gerards <marco@gnu.org>
  17013. * configure.ac (AC_INIT): Bumped to 1.93.
  17014. * DISTLIST: Added `include/grub/hfs.h'.
  17015. 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
  17016. * boot/i386/pc/boot.S (general_error): Before looping, try INT
  17017. 18H, which might help the BIOS falling back to next boot media.
  17018. 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
  17019. * util/i386/pc/grub-install.in: Escape a backslash. Reported by
  17020. Poe Chen <poe.poechen@gmail.com>.
  17021. 2006-01-17 Marco Gerards <marco@gnu.org>
  17022. * include/grub/normal.h: Include <grub/script.h>.
  17023. (grub_command_list): Removed struct.
  17024. (grub_command_list_t): Removed type.
  17025. (grub_menu_entry): Remove members `num' and `command_list'. Add
  17026. members `commands' and `sourcecode'.
  17027. * include/grub/script.h: Add inclusion guards.
  17028. (grub_script_cmd_menuentry): New struct.
  17029. (grub_script_execute_menuentry): New prototype.
  17030. (grub_script_lexer_record_start): Likewise.
  17031. (grub_script_lexer_record_stop): Likewise.
  17032. * normal/execute.c (grub_script_execute_menuentry): New function.
  17033. * normal/lexer.c (record, recording, recordpos, recordlen): New
  17034. variables.
  17035. (grub_script_lexer_record_start): New function.
  17036. (grub_script_lexer_record_stop): Likewise.
  17037. (recordchar): Likewise.
  17038. (nextchar): Likewise.
  17039. (grub_script_yylex): Use `nextchar' to fetch new characters. Use
  17040. 2048 as the buffer size. Add the tokens `menuentry' and `@'.
  17041. * normal/main.c: Include <grub/parser.h> and <grub/script.h>
  17042. (current_menu): New variable.
  17043. (free_menu): Mainly rewritten.
  17044. (grub_normal_menu_addentry): New function.
  17045. (read_config_file): Rewritten.
  17046. * normal/menu.c (run_menu_entry): Mainly rewritten.
  17047. * normal/menu_entry.c (make_screen): Rewritten the code to insert
  17048. the menu entry.
  17049. (run): Mainly rewritten.
  17050. * normal/parser.y (menu_entry): New variable.
  17051. (GRUB_PARSER_TOKEN_MENUENTRY): New token.
  17052. (menuentry): New rule.
  17053. (command): Add `menuentry'.
  17054. (if_statement): Allow additional returns before `fi'.
  17055. * normal/script.c (grub_script_create_cmdmenu): New function.
  17056. 2006-01-03 Marco Gerards <marco@gnu.org>
  17057. * INSTALL: GNU Bison is required.
  17058. * configure.ac: Rewritten the test to detect Bison.
  17059. * Makefile.in (YACC): New variable. Reported by Xun Sun
  17060. <xun.sun.cn@gmail.com>.
  17061. 2006-01-03 Marco Gerards <marco@gnu.org>
  17062. * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
  17063. the HFS+ filesystem to filesystem blocks.
  17064. (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
  17065. GCC warning is silenced.
  17066. 2006-01-03 Marco Gerards <marco@gnu.org>
  17067. * partmap/apple.c (apple_partition_map_iterate): Convert the data
  17068. read from disk from big endian to host byte order.
  17069. 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
  17070. * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
  17071. documentation.
  17072. (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
  17073. (grub_hfs_mount): Grammar fix in error. Make sure this is not an
  17074. embedded HFS+ filesystem.
  17075. (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
  17076. (grub_hfs_sblock): Move from here...
  17077. * include/grub/hfs.h: To here... New file.
  17078. * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
  17079. documentation.
  17080. (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
  17081. New macros.
  17082. (grub_hfsplus_volheader): Change type of member `magic' to
  17083. `grub_uint16_t'.
  17084. (grub_hfsplus_data): Add new member `embedded_offset'.
  17085. (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
  17086. returned block.
  17087. (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
  17088. Calculate the offset.
  17089. 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
  17090. * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
  17091. Removed.
  17092. (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
  17093. 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
  17094. * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
  17095. ENV->NAME is NULL after allocating ENV->VALUE.
  17096. 2005-12-25 Marco Gerards <marco@gnu.org>
  17097. * kern/env.c (grub_env_set): Rewritten the error handling code.
  17098. 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
  17099. * geninit.sh: Made more robust, and more portable.
  17100. 2005-12-25 Marco Gerards <marco@gnu.org>
  17101. Add support for Apple HFS+ filesystems.
  17102. * fs/hfsplus.c: New file.
  17103. * DISTLIST: Added `fs/hfsplus.c'.
  17104. * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
  17105. (hfsplus_mod_SOURCES): New variable.
  17106. (hfsplus_mod_CFLAGS): Likewise.
  17107. (hfsplus_mod_LDFLAGS): Likewise.
  17108. * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
  17109. (grub_setup_SOURCES): Likewise.
  17110. (grub_mkdevicemap_SOURCES): Likewise.
  17111. (grub_emu_SOURCES): Likewise.
  17112. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  17113. * fs/fshelp.c (grub_fshelp_log2blksize): New function.
  17114. * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
  17115. 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
  17116. * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
  17117. commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
  17118. include/grub/parser.h, include/grub/script.h, kern/parser.c,
  17119. kern/sparc64/cache.S, normal/execute.c, normal/function.c,
  17120. normal/lexer.c, normal/parser.y, normal/script.c, and
  17121. partmap/gpt.c.
  17122. Removed kern/sparc64/cache.c.
  17123. * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
  17124. grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
  17125. grub_emu_init.c.
  17126. * configure.ac (AC_INIT): Bumped to 1.92.
  17127. 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
  17128. * kern/err.c (grub_error_push): Added new function to support error
  17129. stacks.
  17130. (grub_error_pop): Likewise.
  17131. (grub_error_stack_items): New local variable to support error stacks.
  17132. (grub_error_stack_pos): Likewise.
  17133. (grub_error_stack_assert): Likewise.
  17134. (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
  17135. stack depth.
  17136. (grub_print_error): Added support to print errors from error stack.
  17137. * include/grub/err.h (grub_error_push): Added function prototype.
  17138. (grub_error_pop): Likewise.
  17139. 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
  17140. * configure.ac: Accept `powerpc64' as host_cpu.
  17141. (amd64): Rename to `biarch32'.
  17142. * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
  17143. non-cacheline-aligned addresses.
  17144. * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
  17145. (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
  17146. if `size' is non-zero.
  17147. 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
  17148. * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
  17149. and `cd' to make sure the filename is not prefixed with a
  17150. directory name.
  17151. (pkgdata_MODULES): Add `gpt.mod'.
  17152. (gpt_mod_SOURCES): New variable.
  17153. (gpt_mod_CFLAGS): Likewise.
  17154. (gpt_mod_LDFLAGS): Likewise.
  17155. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
  17156. * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
  17157. New macro.
  17158. * partmap/gpt.c: New file.
  17159. * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
  17160. GPT partition map is detected.
  17161. 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
  17162. * commands/i386/pc/play.c: New file.
  17163. * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
  17164. (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
  17165. macros.
  17166. 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
  17167. * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
  17168. ((unused))' to silence gcc warning.
  17169. 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
  17170. * configure.ac: Correct `AC_PROG_YACC' test.
  17171. 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
  17172. * util/powerpc/ieee1275/grub-install.in: Run the mount point
  17173. check before installing files.
  17174. 2005-11-22 Mike Small <smallm@panix.com>
  17175. * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
  17176. number regex so multidigit numbers are recognized correctly.
  17177. 2005-11-22 Mike Small <smallm@panix.com>
  17178. * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
  17179. debugging message before attempting to claim memory.
  17180. (grub_rescue_cmd_initrd): Add a claim debugging message and try
  17181. multiple addresses in case of failure.
  17182. 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
  17183. * term/tparm.c (get_space): Remove empty `if' statement.
  17184. * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
  17185. * kern/parser.c (check_varstate): Rename `state' to 's'.
  17186. 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
  17187. * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
  17188. variable definitions to the beginning of each function. Sort stack
  17189. variables by size.
  17190. (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
  17191. `buf' argument to `char *'.
  17192. 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
  17193. * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
  17194. (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
  17195. minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
  17196. hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
  17197. help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
  17198. sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
  17199. configfile.mod, search.mod, gzio.mod and test.mod.
  17200. (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
  17201. (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
  17202. (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
  17203. (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
  17204. (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
  17205. (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
  17206. (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
  17207. (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
  17208. (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
  17209. (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
  17210. (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
  17211. (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
  17212. (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
  17213. (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
  17214. (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
  17215. (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
  17216. (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
  17217. (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
  17218. (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
  17219. (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
  17220. (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
  17221. (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
  17222. (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
  17223. * conf/common.mk (grub_modules_init.lst): Use `find' instead of
  17224. `grep --include'.
  17225. (pkgdata_MODULES): Add test.mod.
  17226. 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
  17227. * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
  17228. appending to variables with "+=".
  17229. (PModule): Use full pathname to generate *.lst filenames.
  17230. * Makefile.in: Fixed list rules moved from genmk.rb.
  17231. (.DELETE_ON_ERROR): New special target.
  17232. (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
  17233. * conf/i386-pc.rmk: Include conf/common.mk.
  17234. (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
  17235. minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
  17236. hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
  17237. help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
  17238. sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
  17239. configfile.mod, search.mod, gzio.mod and test.mod.
  17240. (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
  17241. (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
  17242. (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
  17243. (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
  17244. (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
  17245. (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
  17246. (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
  17247. (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
  17248. (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
  17249. (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
  17250. (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
  17251. (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
  17252. (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
  17253. (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
  17254. (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
  17255. (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
  17256. (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
  17257. (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
  17258. (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
  17259. (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
  17260. (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
  17261. (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
  17262. (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
  17263. here...
  17264. * conf/common.rmk: ... to here. New file.
  17265. * conf/common.mk: New file.
  17266. 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
  17267. * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
  17268. (grub_script.tab.c): ... here.
  17269. * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
  17270. (grub_script.tab.c): ... here.
  17271. * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
  17272. (grub_script.tab.c): ... here.
  17273. * normal/command.c (grub_command_find): Fixed a memory leak of
  17274. MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
  17275. 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
  17276. * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
  17277. "@" which marks the start of a comment on ARM.
  17278. (VARIABLE): Likewise.
  17279. 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
  17280. Add support for Linux/ADFS partition tables.
  17281. * partmap/acorn.c: New file.
  17282. * include/grub/acorn_filecore.h: Likewise.
  17283. * DISTLIST: Added `partmap/acorn.c' and
  17284. `include/grub/acorn_filecore.h'.
  17285. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
  17286. `partmap/acorn.c'.
  17287. (pkgdata_MODULES): Add `acorn.mod'.
  17288. (acorn_mod_SOURCES): New variable.
  17289. (acorn_mod_CFLAGS): Likewise.
  17290. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
  17291. `partmap/acorn.c'.
  17292. (pkgdata_MODULES): Add `acorn.mod'.
  17293. (acorn_mod_SOURCES): New variable.
  17294. (acorn_mod_CFLAGS): Likewise.
  17295. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
  17296. (pkgdata_MODULES): Add `acorn.mod'.
  17297. (acorn_mod_SOURCES): New variable.
  17298. (acorn_mod_CFLAGS): Likewise.
  17299. (acorn_mod_LDFLAGS): Likewise.
  17300. * include/types.h (grub_disk_addr_t): New typedef.
  17301. 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
  17302. * geninit.sh: New file.
  17303. * geninitheader.sh: Likewise.
  17304. * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
  17305. * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
  17306. * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
  17307. * commands/configfile.c (grub_configfile_init)
  17308. (grub_configfile_fini): Likewise.
  17309. * commands/default.c (grub_default_init, grub_default_fini):
  17310. Likewise.
  17311. * commands/help.c (grub_help_init, grub_help_fini): Likewise.
  17312. * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
  17313. * commands/search.c (grub_search_init, grub_search_fini): Likewise.
  17314. * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
  17315. Likewise.
  17316. * commands/test.c (grub_test_init, grub_test_fini): Likewise.
  17317. * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
  17318. Likewise.
  17319. * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
  17320. * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
  17321. Likewise.
  17322. * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
  17323. Likewise.
  17324. * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
  17325. Likewise.
  17326. * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
  17327. * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
  17328. * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
  17329. * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
  17330. * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
  17331. * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
  17332. * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
  17333. * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
  17334. * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
  17335. * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
  17336. * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
  17337. * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
  17338. * partmap/amiga.c (grub_amiga_partition_map_init)
  17339. (grub_amiga_partition_map_fini): Likewise.
  17340. * partmap/apple.c (grub_apple_partition_map_init)
  17341. (grub_apple_partition_map_fini): Likewise.
  17342. * partmap/pc.c (grub_pc_partition_map_init)
  17343. (grub_pc_partition_map_fini): Likewise.
  17344. * partmap/sun.c (grub_sun_partition_map_init,
  17345. grub_sun_partition_map_fini): Likewise.
  17346. * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
  17347. Likewise.
  17348. * util/grub-emu.c: Include <grub_modules_init.h>.
  17349. (main): Don't initialize and de-initialize any modules directly,
  17350. use `grub_init_all' and `grub_fini_all' instead.
  17351. * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
  17352. `grub_vesafb_mod_init'.
  17353. (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
  17354. all users.
  17355. * term/i386/pc/vga.c (grub_vga_init): Renamed to
  17356. `grub_vga_mod_init'. Updated all users.
  17357. (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
  17358. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
  17359. (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
  17360. rules.
  17361. * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
  17362. Generate a function to initialize the module in utilities.
  17363. Updated all callers.
  17364. (GRUB_MOD_FINI): Add argument `name'. Generate a function to
  17365. initialize the module in utilities. Updated all callers.
  17366. 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
  17367. * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
  17368. escape sequence and a literal ^L to clear the screen.
  17369. * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
  17370. when returning from Open Firmware.
  17371. 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
  17372. * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
  17373. (grub_ofconsole_height): Likewise.
  17374. (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
  17375. manually insert a '\n'.
  17376. (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
  17377. `grub_ofconsole_height'. Return early if these are already set.
  17378. 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
  17379. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
  17380. `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
  17381. `normal/execute.c', `normal/lexer.c', `io/gzio.c',
  17382. `kern/parser.c', `grub_script.tab.c', `normal/function.c'
  17383. and `normal/script.c'.
  17384. (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
  17385. `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
  17386. (test_mod_SOURCES): New variable.
  17387. (test_mod_CFLAGS): Likewise.
  17388. (test_mod_LDFLAGS): Likewise.
  17389. (pkgdata_MODULES): Add `test.mod'.
  17390. (grub_script.tab.c): New rule.
  17391. (grub_script.tab.h): Likewise.
  17392. 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
  17393. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
  17394. `commands/test.c', `normal/execute.c', `normal/lexer.c',
  17395. `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
  17396. (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
  17397. `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
  17398. (test_mod_SOURCES): New variable.
  17399. (test_mod_CFLAGS): Likewise.
  17400. (pkgdata_MODULES): Add `test.mod'.
  17401. (grub_script.tab.c): New rule.
  17402. (grub_script.tab.h): Likewise.
  17403. 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
  17404. Add initial scripting support.
  17405. * commands/test.c: New file.
  17406. * include/grub/script.h: Likewise.
  17407. * normal/execute.c: Likewise.
  17408. * normal/function.c: Likewise.
  17409. * normal/lexer.c: Likewise.
  17410. * normal/parser.y: Likewise.
  17411. * normal/script.c: Likewise.
  17412. * configure.ac: Add `AC_PROG_YACC' test.
  17413. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
  17414. `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
  17415. `normal/function.c' and `normal/script.c'.
  17416. (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
  17417. `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
  17418. (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
  17419. variables.
  17420. (pkgdata_MODULES): Add `test.mod'.
  17421. (grub_script.tab.c): New rule.
  17422. (grub_script.tab.h): Likewise.
  17423. * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
  17424. * include/grub/normal.h (grub_test_init): New prototype.
  17425. (grub_test_fini): Likewise.
  17426. * normal/command.c: Include <grub/script.h>.
  17427. (grub_command_execute): Rewritten.
  17428. * util/grub-emu.c (main): Call `grub_test_init' and
  17429. `grub_test_fini'.
  17430. 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
  17431. * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
  17432. to 0.
  17433. * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
  17434. there are no pending characters.
  17435. 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
  17436. * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
  17437. `grub_strndup' to drop device arguments. Replace unnecessary
  17438. `grub_strndup' with `grub_strdup'.
  17439. 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
  17440. * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
  17441. `debug' environment variable has been set.
  17442. 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
  17443. * Makefile.in (install-local): Use $(DATA).
  17444. (uninstall): Likewise.
  17445. * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
  17446. (sbin_UTILITIES): ... to here.
  17447. (sbin_SCRIPTS): New variable.
  17448. (grub_install_SOURCES): New variable.
  17449. * util/powerpc/ieee1275/grub-install.in: New file.
  17450. * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
  17451. variable.
  17452. (add_segments): Call `grub_util_get_path'.
  17453. 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
  17454. From Timothy Baldwin:
  17455. * commands/ls.c (grub_ls_list_files): Close FILE with
  17456. grub_file_close.
  17457. * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
  17458. 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
  17459. * include/grub/parser.h: New file.
  17460. * kern/parser.c: Likewise.
  17461. * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
  17462. (grub_setup_SOURCES): Likewise.
  17463. (grub_probefs_SOURCES): Likewise.
  17464. (grub_emu_SOURCES): Likewise.
  17465. (kernel_img_HEADERS): Add `parser.h'.
  17466. * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
  17467. (grub_emu_SOURCES): Add `kern/parser.c'.
  17468. (grubof_SOURCES): Likewise.
  17469. * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
  17470. (grubof_SOURCES): Add `kern/parser.c'.
  17471. * include/grub/misc.h (grub_split_cmdline): Removed prototype.
  17472. * kern/misc.c (grub_split_cmdline): Removed function.
  17473. * kern/rescue.c: Include <grub/parser.h>.
  17474. (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
  17475. of `grub_split_cmdline'.
  17476. * normal/command.c: Include <grub/parser.h>.
  17477. (grub_command_execute): Use `grub_parser_split_cmdline' instead
  17478. of `grub_split_cmdline'.
  17479. * normal/completion.c: Include <grub/parser.h>.
  17480. (cmdline_state): New variable.
  17481. (iterate_dir): End the filename with a quote depending on the
  17482. command line state.
  17483. (get_state): new function.
  17484. (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
  17485. split the arguments and determine the current argument. When the
  17486. argument string is not quoted, escape all spaces.
  17487. 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
  17488. * normal/sparc64/setjmp.S: New file.
  17489. 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
  17490. * include/grub/sparc64/libgcc.h: New file.
  17491. * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
  17492. (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
  17493. normal/sparc64/setjmp.c.
  17494. 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
  17495. * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
  17496. * kern/sparc64/cache.S: New file.
  17497. * kern/sparc64/cache.c: Removed.
  17498. * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
  17499. (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
  17500. -mtune=ultrasparc.
  17501. (COMMON_LDFLAGS): Add -melf64_sparc.
  17502. (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
  17503. (grubof_SOURCES): Use cache.S instead of cache.c.
  17504. (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
  17505. --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
  17506. (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
  17507. commented though.
  17508. (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
  17509. (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
  17510. (linux_mod_CFLAGS): Commented out.
  17511. (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
  17512. out because module isn't built.
  17513. (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
  17514. (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
  17515. (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
  17516. (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
  17517. (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
  17518. (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
  17519. (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
  17520. (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
  17521. (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
  17522. (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
  17523. (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
  17524. (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
  17525. (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
  17526. (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
  17527. 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
  17528. * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
  17529. grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
  17530. longer, because HFS should not be used on PC.
  17531. 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
  17532. * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
  17533. consistently within the loop.
  17534. 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
  17535. * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
  17536. directory can not be read.
  17537. 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
  17538. * configure.ac (AC_INIT): Increase the version number to 1.91.
  17539. * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
  17540. include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
  17541. term/i386/pc/serial.c.
  17542. 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
  17543. * kern/file.c (grub_file_seek): Seeking to an offset equal to a
  17544. file size must be permitted.
  17545. * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
  17546. between %ah and %al.
  17547. 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
  17548. * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
  17549. grub_uint64_t.
  17550. Call the hook with a NUL-terminated filename.
  17551. (grub_xfs_mount): Use grub_be_to_cpu32 instead of
  17552. grub_cpu_to_be32.
  17553. * kern/term.c (cursor_state): New variable.
  17554. (grub_term_set_current): Reset the cursor state on a new
  17555. terminal.
  17556. (grub_setcursor): Rewritten to use CURSOR_STATE.
  17557. (grub_getcursor): New function.
  17558. * include/grub/term.h (grub_getcursor): New prototype.
  17559. * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
  17560. integers on ARM. Reported by Timothy Baldwin
  17561. <T.E.Baldwin99@members.leeds.ac.uk>.
  17562. 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
  17563. * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
  17564. allocated.
  17565. (grub_sfs_dir): Likewise.
  17566. 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
  17567. Add support for the SFS filesystem.
  17568. * fs/sfs.c: New file.
  17569. * DISTLIST: Added `fs/sfs.c'.
  17570. * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
  17571. (grub_probefs_SOURCES): Likewise.
  17572. (grub_emu_SOURCES): Likewise.
  17573. (pkgdata_MODULES): Add `sfs.mod'.
  17574. (sfs_mod_SOURCES): New variable.
  17575. (sfs_mod_CFLAGS): Likewise.
  17576. (sfs_mod_LDFLAGS): Likewise.
  17577. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
  17578. (pkgdata_MODULES): Add `sfs.mod'.
  17579. (sfs_mod_SOURCES): New variable.
  17580. (sfs_mod_CFLAGS): Likewise.
  17581. * util/grub-emu.c (main): Call `grub_sfs_init' and
  17582. `grub_sfs_fini'.
  17583. * include/grub/fs.h (grub_sfs_init): New prototype.
  17584. (grub_sfs_fini): Likewise.
  17585. 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
  17586. Add support for the AFFS filesystem.
  17587. * fs/affs.c: New file.
  17588. * DISTLIST: Added `fs/affs.c'.
  17589. * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
  17590. (grub_probefs_SOURCES): Likewise.
  17591. (grub_emu_SOURCES): Likewise.
  17592. (pkgdata_MODULES): Add `affs.mod'.
  17593. (affs_mod_SOURCES): New variable.
  17594. (affs_mod_CFLAGS): Likewise.
  17595. (affs_mod_LDFLAGS): Likewise.
  17596. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
  17597. (pkgdata_MODULES): Add `affs.mod'.
  17598. (affs_mod_SOURCES): New variable.
  17599. (affs_mod_CFLAGS): Likewise.
  17600. * util/grub-emu.c (main): Call `grub_affs_init' and
  17601. `grub_affs_fini'.
  17602. * include/grub/fs.h (grub_affs_init): New prototype.
  17603. (grub_affs_fini): Likewise.
  17604. 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
  17605. * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
  17606. 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
  17607. * configure.ac: Accept `x86_64' as host_cpu. In that case add
  17608. `-m32' to CFLAGS.
  17609. * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
  17610. linking.
  17611. * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
  17612. (COMMON_LDFLAGS): New variable.
  17613. (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
  17614. (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
  17615. (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
  17616. (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
  17617. (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
  17618. (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
  17619. (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
  17620. (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
  17621. (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
  17622. (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
  17623. (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
  17624. (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
  17625. (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
  17626. (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
  17627. (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
  17628. variables.
  17629. (normal_mod_ASFLAGS): Add `-m32'.
  17630. * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
  17631. (grub_host_size_t, grub_host_ssize_t): New types.
  17632. (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
  17633. dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
  17634. `GRUB_HOST_SIZEOF_VOID_P'.
  17635. * include/grub/kernel.h (struct grub_module_header): Type of
  17636. member offset changed to `grub_host_off_t'. Type of member size
  17637. changed to `grub_host_size_t'.
  17638. (struct grub_module_info): Type of member offset changed to
  17639. `grub_host_off_t'. Type of member size changed to
  17640. `grub_host_size_t'.
  17641. 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
  17642. Make GRUB's kernel compliant to Multiboot Specification.
  17643. * kern/i386/pc/startup.S (multiboot_header): New label.
  17644. (multiboot_entry): Likewise.
  17645. (multiboot_trampoline): Likewise.
  17646. * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
  17647. Increased to 0x4A0.
  17648. * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
  17649. put parentheses after a question mark.
  17650. [!GRUB_UTIL] (my_mod): New variable.
  17651. * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
  17652. 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
  17653. Adds support for the XFS filesystem. Btrees are not supported
  17654. yet.
  17655. * fs/xfs.c: New file.
  17656. * DISTLIST: Added `fs/xfs.c'.
  17657. * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
  17658. (grub_probefs_SOURCES): Likewise.
  17659. (grub_emu_SOURCES): Likewise.
  17660. (pkgdata_MODULES): Add `xfs.mod'.
  17661. (xfs_mod_SOURCES): New variable.
  17662. (xfs_mod_CFLAGS): Likewise.
  17663. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
  17664. (pkgdata_MODULES): Add `xfs.mod'.
  17665. (xfs_mod_SOURCES): New variable.
  17666. (xfs_mod_CFLAGS): Likewise.
  17667. * util/grub-emu.c (main): Call `grub_xfs_init' and
  17668. `grub_xfs_fini'.
  17669. * include/grub/fs.h (grub_xfs_init): New prototype.
  17670. (grub_xfs_fini): Likewise.
  17671. 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
  17672. * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
  17673. color modes, allow greater than 16 colors to be configured as
  17674. a default palette.
  17675. 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
  17676. * normal/completion.c (complete_arguments): Add the qualifier
  17677. const into OPTIONS.
  17678. From Omniflux <omniflux+lists@omniflux.com>:
  17679. * include/grub/terminfo.h: New file.
  17680. * include/grub/tparm.h: Likewise.
  17681. * include/grub/i386/pc/serial.h: Likewise.
  17682. * term/terminfo.c: Likewise.
  17683. * term/tparm.c: Likewise.
  17684. * term/i386/pc/serial.c: Likewise.
  17685. * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
  17686. serial.mod.
  17687. (terminfo_mod_SOURCES): New variable.
  17688. (terminfo_mod_CFLAGS): Likewise.
  17689. (serial_mod_SOURCES): Likewise.
  17690. (serial_mod_CFLAGS): Likewise.
  17691. 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
  17692. * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
  17693. boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
  17694. and kern/powerpc/ieee1275/cmain.c, respectively.
  17695. * boot/powerpc/ieee1275/crt0.S: Moved to ...
  17696. * kern/powerpc/ieee1275/crt0.S: ... here.
  17697. * boot/powerpc/ieee1275/cmain.c: Moved to ...
  17698. * kern/powerpc/ieee1275/cmain.c: ... here.
  17699. * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
  17700. kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
  17701. instead of boot/powerpc/ieee1275/crt0.S and
  17702. boot/powerpc/ieee1275/cmain.c, respectively.
  17703. * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
  17704. sectors. It was not used anyway.
  17705. 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
  17706. * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
  17707. `unused parameter' warning.
  17708. 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
  17709. * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
  17710. function.
  17711. (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
  17712. getcharwidth.
  17713. 2005-08-28 Marco Gerards <metgerards@student.han.nl>
  17714. * include/grub/normal.h (enum grub_completion_type): Added
  17715. `GRUB_COMPLETION_TYPE_ARGUMENT'.
  17716. * normal/cmdline.c (print_completion): Handle
  17717. the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
  17718. * normal/menu_entry.c (store_completion): Likewise.
  17719. * normal/completion.c (complete_arguments): New function.
  17720. (grub_normal_do_completion): Call `complete_arguments' when the
  17721. current words start with a dash.
  17722. 2005-08-27 Marco Gerards <metgerards@student.han.nl>
  17723. * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
  17724. `gzio.mod' instead of `io.mod').
  17725. 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
  17726. * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
  17727. (DISTDIRS): Added io and video.
  17728. Rewrite the search routine to make an output consistently.
  17729. * DISTLIST: Added conf/sparc64-ieee1275.mk,
  17730. conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
  17731. include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
  17732. io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
  17733. kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
  17734. util/powerpc/ieee1275/misc.c.
  17735. * include/grub/gzio.h: New file.
  17736. * io/gzio.c: Likewise.
  17737. * kern/file.c (grub_file_close): Call grub_device_close only if
  17738. FILE->DEVICE is not NULL.
  17739. * include/grub/mm.h [!NULL] (NULL): New macro.
  17740. * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
  17741. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
  17742. (pkgdata_MODULES): Added gzio.mod.
  17743. (gzio_mod_SOURCES): New variable.
  17744. (gzio_mod_CFLAGS): Likewise.
  17745. * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
  17746. (pkgdata_MODULES): Added gzio.mod.
  17747. (gzio_mod_SOURCES): New variable.
  17748. (gzio_mod_CFLAGS): Likewise.
  17749. * commands/cat.c: Include grub/gzio.h.
  17750. (grub_cmd_cat): Use grub_gzfile_open instead of
  17751. grub_file_open.
  17752. * commands/cmp.c: Include grub/gzio.h.
  17753. (grub_cmd_cmp): Use grub_gzfile_open instead of
  17754. grub_file_open.
  17755. * loader/i386/pc/multiboot.c: Include grub/gzio.h.
  17756. (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
  17757. grub_file_open.
  17758. (grub_rescue_cmd_module): Likewise.
  17759. 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
  17760. * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
  17761. kern/sparc64/ieee1275/init.c because it contains _start.
  17762. * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
  17763. 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
  17764. * configure.ac: Add support for sparc64 host with ieee1275
  17765. firmware.
  17766. * configure: Generated from configure.ac.
  17767. * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
  17768. instead of int.
  17769. (grub_ofdisk_read): Likewise.
  17770. (grub_ofdisk_open): Use %p to print pointer values, and cast the
  17771. pointers as (void *) to remove a warning.
  17772. (grub_ofdisk_close): Likewise.
  17773. (grub_ofdisk_read): Likewise.
  17774. * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
  17775. returns, so make it return void to remove a warning.
  17776. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
  17777. Corresponding prototype change.
  17778. * kern/mm.c (grub_mm_init_region): Use %p to print pointer
  17779. values, and cast the pointers as (void *) to remove a warning.
  17780. (grub_mm_dump): Likewise.
  17781. * conf/sparc64-ieee1275.mk: New file.
  17782. * conf/sparc64-ieee1275.rmk: Likewise.
  17783. * include/grub/sparc64/setjmp.h: Likewise.
  17784. * include/grub/sparc64/types.h: Likewise.
  17785. * include/grub/sparc64/ieee1275/console.h: Likewise.
  17786. * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
  17787. * include/grub/sparc64/ieee1275/kernel.h: Likewise.
  17788. * include/grub/sparc64/ieee1275/time.h: Likewise.
  17789. * kern/sparc64/cache.c: Likewise.
  17790. * kern/sparc64/dl.c: Likewise.
  17791. * kern/sparc64/ieee1275/init.c: Likewise.
  17792. * kern/sparc64/ieee1275/openfw.c: Likewise.
  17793. 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
  17794. * util/console.c (grub_ncurses_putchar): If C is greater than
  17795. 0x7f, set C to a question mark.
  17796. (grub_ncurses_getcharwidth): New function.
  17797. (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
  17798. getcharwidth.
  17799. * normal/menu.c (print_entry): Made aware of Unicode. First,
  17800. convert TITLE to UCS-4, and predict the cursor position by
  17801. grub_getcharwidth.
  17802. * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
  17803. const to SRC.
  17804. * kern/misc.c (grub_utf16_to_utf8): Likewise.
  17805. 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
  17806. * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
  17807. the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
  17808. grub_strcat.
  17809. * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
  17810. file by the option BOOT_IMAGE. Use grub_stpcpy instead of
  17811. grub_strcpy and grub_strlen. Take it into account that a space
  17812. character is inserted as a delimiter.
  17813. 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
  17814. * partmap/pc.c (pc_partition_map_iterate): Include the value of an
  17815. invalid magic in the error.
  17816. * commands/search.c: New file.
  17817. * util/grub-emu.c (main): Call grub_search_init and
  17818. grub_search_fini.
  17819. * kern/rescue.c (grub_rescue_print_disks): Removed.
  17820. (grub_rescue_print_devices): New function.
  17821. (grub_rescue_cmd_ls): Use grub_device_iterate with
  17822. grub_rescue_print_devices instead of grub_disk_dev_iterate with
  17823. grub_rescue_print_disks.
  17824. * kern/partition.c (grub_partition_iterate): Return the result of
  17825. PARTMAP->ITERATE instead of GRUB_ERRNO.
  17826. * kern/device.c: Include grub/partition.h.
  17827. (grub_device_iterate): New function.
  17828. * include/grub/partition.h (grub_partition_iterate): Return int
  17829. instead of grub_err_t.
  17830. * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
  17831. prototype.
  17832. [GRUB_UTIL] (grub_search_fini): Likewise.
  17833. * include/grub/device.h (grub_device_iterate): New prototype.
  17834. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
  17835. commands/search.c.
  17836. (pkgdata_MODULES): Added search.mod.
  17837. (search_mod_SOURCES): New variable.
  17838. (search_mod_CFLAGS): Likewise.
  17839. * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
  17840. (pkgdata_MODULES): Added search.mod.
  17841. (search_mod_SOURCES): New variable.
  17842. (search_mod_CFLAGS): Likewise.
  17843. * commands/ls.c (grub_ls_list_disks): Renamed to ...
  17844. (grub_ls_list_devices): ... this, and use grub_device_iterate.
  17845. All callers changed.
  17846. * DISTLIST: Added commands/search.c.
  17847. 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
  17848. * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
  17849. conversion.
  17850. (grub_getcharwidth): New function.
  17851. * kern/misc.c (grub_utf8_to_ucs4): New function.
  17852. * include/grub/term.h (struct grub_term): Added a new member
  17853. "getcharwidth".
  17854. (grub_getcharwidth): New prototype.
  17855. * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
  17856. * term/i386/pc/console.c (map_char): New function. Segregated from
  17857. grub_console_putchar.
  17858. (grub_console_putchar): Use map_char.
  17859. (grub_console_getcharwidth): New function.
  17860. (grub_console_term): Specified grub_console_getcharwidth as
  17861. getcharwidth.
  17862. * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
  17863. (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
  17864. * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
  17865. GRUB_ERRNO.
  17866. (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
  17867. on grub_strtoul completely.
  17868. (write_char): Declare local variables in the beginning of the
  17869. function.
  17870. (grub_vesafb_getcharwidth): New function.
  17871. (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
  17872. getcharwidth.
  17873. 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
  17874. * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
  17875. commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
  17876. commands/i386/pc/vbetest.c.
  17877. * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
  17878. call grub_vbe_get_controller_info again, because the returned
  17879. information is volatile.
  17880. (grub_vbe_set_video_mode): Mostly rewritten.
  17881. (grub_vbe_get_video_mode): Use grub_vbe_probe and use
  17882. grub_vbe_status_t correctly.
  17883. (grub_vbe_get_video_mode_info): Likewise.
  17884. (grub_vbe_set_pixel_rgb): Use a switch statement rather than
  17885. several if statements.
  17886. * commands/i386/pc/vbe_list_modes.c: Renamed to ...
  17887. * commands/i386/pc/vbeinfo.c: ... this.
  17888. * commands/i386/pc/vbe_test.c: Renamed to ...
  17889. * commands/i386/pc/vbetest.c: ... this.
  17890. * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
  17891. ...
  17892. (grub_cmd_vbeinfo): ... this. Save video modes before
  17893. iterating. Skip a video mode, if it is not available, not enough
  17894. information is given or it is monochrome. Show the memory
  17895. model. Leave the interpretation of MODEVAR to grub_strtoul
  17896. completely.
  17897. (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
  17898. (GRUB_MOD_FINI): Likewise.
  17899. * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
  17900. (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
  17901. grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
  17902. duplicated grub_env_get. Leave the interpretation of MODEVAR to
  17903. grub_strtoul completely.
  17904. (real2pm): Removed.
  17905. (GRUB_MOD_INIT): Rename vbe_test to vbetest.
  17906. (GRUB_MOD_FINI): Likewise.
  17907. * normal/misc.c: Include grub/mm.h.
  17908. * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
  17909. vbe_list_modes with vbetest.mod and vbeinfo.mod.
  17910. (vbe_list_modes_mod_SOURCES): Removed.
  17911. (vbe_list_modes_mod_CFLAGS): Likewise.
  17912. (vbe_test_mod_SOURCES): Likewise.
  17913. (vbe_test_mod_CFLAGS): Likewise.
  17914. (vbeinfo_mod_SOURCES): New variable.
  17915. (vbeinfo_mod_CFLAGS): Likewise.
  17916. (vbetest_mod_SOURCES): Likewise.
  17917. (vbetest_mod_CFLAGS): Likewise.
  17918. 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
  17919. * normal/misc.c: New file.
  17920. * DISTLIST: Added normal/misc.c.
  17921. * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
  17922. DISK to HOOK. Call HOOK with DISK.
  17923. * partmap/apple.c (apple_partition_map_iterate): Likewise.
  17924. * partmap/pc.c (pc_partition_map_iterate): Likewise.
  17925. * partmap/sun.c (sun_partition_map_iterate): Likewise.
  17926. * normal/menu_entry.c (struct screen): Added a new member
  17927. "completion_shown".
  17928. (completion_buffer): New global variable.
  17929. (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
  17930. (store_completion): New function.
  17931. (complete): Likewise.
  17932. (clear_completions): Likewise.
  17933. (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
  17934. call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
  17935. a tab, call complete.
  17936. * normal/completion.c (disk_dev): Removed.
  17937. (print_simple_completion): Likewise.
  17938. (print_partition_completion): Likewise.
  17939. (print_func): New global variable.
  17940. (add_completion): Do not take the arguments WHAT or PRINT any
  17941. longer. Added a new argument TYPE. Instead of printing directly,
  17942. call PRINT_FUNC if not NULL.
  17943. All callers changed.
  17944. (complete_device): Use a local variable DEV instead of
  17945. DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
  17946. (grub_normal_do_completion): Take a new argument HOOK. Do not
  17947. initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
  17948. empty string, return NULL instead.
  17949. All callers changed.
  17950. * normal/cmdline.c (print_completion): New function.
  17951. * kern/partition.c (grub_partition_iterate): Add an argument DISK
  17952. to HOOK.
  17953. All callers changed.
  17954. * kern/disk.c (grub_print_partinfo): Removed.
  17955. * include/grub/partition.h (struct grub_partition_map): Add a new
  17956. argument DISK into HOOK of ITERATE.
  17957. (grub_partition_iterate): Add a new argument DISK to HOOK.
  17958. * include/grub/normal.h (enum grub_completion_type): New enum.
  17959. (grub_completion_type_t): New type.
  17960. (GRUB_COMPLETION_TYPE_COMMAND): New constant.
  17961. (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
  17962. (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
  17963. (GRUB_COMPLETION_TYPE_FILE): Likewise.
  17964. (grub_normal_do_completion): Added a new argument HOOK.
  17965. (grub_normal_print_device_info): New prototype.
  17966. * include/grub/disk.h (grub_print_partinfo): Removed.
  17967. * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
  17968. (normal_mod_SOURCES): Likewise.
  17969. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  17970. (normal_mod_SOURCES): Likewise.
  17971. * commands/ls.c (grub_ls_list_disks): Use
  17972. grub_normal_print_device_info instead of grub_print_partinfo. Free
  17973. PNAME.
  17974. (grub_ls_list_files): Use grub_normal_print_device_info instead of
  17975. duplicating the code.
  17976. 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
  17977. * commands/i386/pc/vbe_list_modes.c: Update source formatting to
  17978. follow GCS more precisely.
  17979. * commands/i386/pc/vbe_test.c: Likewise.
  17980. * include/grub/i386/pc/vbe.h: Likewise.
  17981. * term/i386/pc/vesafb.c: Likewise.
  17982. * video/i386/pc/vbe.c: Likewise.
  17983. 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
  17984. * DISTLIST: Added term/i386/pc/vesafb.c
  17985. DISTLIST: Added video/i386/pc/vbe.c
  17986. DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
  17987. DISTLIST: Added commands/i386/pc/vbe_test.c.
  17988. * commands/i386/pc/vbe_list_modes.c: New file.
  17989. * commands/i386/pc/vbe_test.c: Likewise.
  17990. * term/i386/pc/vesafb.c: Likewise.
  17991. * video/i386/pc/vbe.c: Likewise.
  17992. * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
  17993. (grub_vbe_probe) Added prototype.
  17994. (grub_vbe_set_video_mode) Likewise.
  17995. (grub_vbe_get_video_mode) Likewise.
  17996. (grub_vbe_get_video_mode_info) Likewise.
  17997. (grub_vbe_set_pixel_rgb) Likewise.
  17998. (grub_vbe_set_pixel_index) Likewise.
  17999. * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
  18000. (pkgdata_MODULES): Added vesafb.mod.
  18001. (pkgdata_MODULES): Added vbe_list_modes.mod.
  18002. (pkgdata_MODULES): Added vbe_test.mod.
  18003. (vbe_mod_SOURCES): Added.
  18004. (vbe_mod_CFLAGS): Likewise.
  18005. (vesafb_mod_SOURCES): Likewise.
  18006. (vesafb_mod_CFLAGS): Likewise.
  18007. (vbe_list_modes_mod_SOURCES): Likewise.
  18008. (vbe_list_modes_mod_CFLAGS): Likewise.
  18009. (vbe_test_mod_SOURCES): Likewise.
  18010. (vbe_test_mod_CFLAGS): Likewise.
  18011. 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
  18012. * normal/command.c (grub_command_execute): If INTERACTIVE is
  18013. false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
  18014. CMDLINE. Disable the pager if INTERACTIVE is true.
  18015. All callers are changed.
  18016. * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
  18017. before reading a config file.
  18018. * normal/main.c (read_config_file): Even if a command is not
  18019. found, register it if it is within an entry.
  18020. * util/grub-emu.c: Include sys/types.h and unistd.h.
  18021. (options): Added --hold.
  18022. (struct arguments): Added a new member "hold".
  18023. (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
  18024. missing.
  18025. (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
  18026. cleared by a debugger, if it is not zero.
  18027. * include/grub/normal.h (grub_command_execute): Add an argument
  18028. INTERACTIVE.
  18029. 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
  18030. * DISTLIST: Added include/grub/i386/pc/vbe.h.
  18031. 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
  18032. * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
  18033. program with another one, because the old one didn't detect a bug
  18034. in gcc-3.4. Always use regparm 2, because the new test is still
  18035. not enough for gcc-4.0. Someone must investigate a simple test
  18036. case which detects a bug in gcc-4.0.
  18037. 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
  18038. * DISTLIST: Added normal/completion.c.
  18039. * normal/completion.c: New file.
  18040. * term/i386/pc/console.c (grub_console_getwh): New function.
  18041. (grub_console_term): Assign grub_console_getwh to getwh.
  18042. * normal/cmdline.c (grub_tab_complete): Removed. Now the same
  18043. function is defined in normal/completion.c as
  18044. grub_normal_do_completion.
  18045. (grub_cmdline_get): Use grub_normal_do_completion instead of
  18046. grub_tab_complete.
  18047. * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
  18048. returns non-zero, otherwise return 0.
  18049. (grub_partition_iterate): First, probe the partition map. Then,
  18050. call ITERATE only for this partition map.
  18051. * kern/misc.c (grub_strncmp): Rewritten.
  18052. * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
  18053. returns non-zero. Otherwise return 0.
  18054. * include/grub/partition.h (grub_partition_map_iterate): Return
  18055. int instead of void.
  18056. * include/grub/normal.h (grub_normal_do_completion): New prototype.
  18057. * include/grub/misc.h (grub_strncmp): Change the type of N to
  18058. grub_size_t.
  18059. * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
  18060. of void.
  18061. * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
  18062. unsigned explicitly before comparing it with I.
  18063. * kern/main.c (grub_env_write_root): Add the attribute unused into
  18064. VAR.
  18065. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
  18066. normal/completion.c.
  18067. (normal_mod_SOURCES): Likewise.
  18068. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
  18069. (normal_mod_SOURCES): Likewise.
  18070. * normal/command.c (grub_iterate_commands): If ITERATE returns
  18071. non-zero, return one immediately.
  18072. 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
  18073. * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
  18074. * kern/i386/pc/startup.S: Updated Global Descriptor table's
  18075. descriptions.
  18076. (grub_vbe_get_controller_info): New function.
  18077. (grub_vbe_get_mode_info): Likewise.
  18078. (grub_vbe_set_mode): Likewise.
  18079. (grub_vbe_get_mode): Likewise.
  18080. (grub_vbe_set_memory_window): Likewise.
  18081. (grub_vbe_get_memory_window): Likewise.
  18082. (grub_vbe_set_scanline_length): Likewise.
  18083. (grub_vbe_get_scanline_length): Likewise.
  18084. (grub_vbe_set_display_start): Likewise.
  18085. (grub_vbe_get_display_start): Likewise.
  18086. (grub_vbe_set_palette_data): Likewise.
  18087. * include/grub/i386/pc/vbe.h: New file.
  18088. 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
  18089. * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
  18090. kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
  18091. * DISTLIST: Likewise.
  18092. * kern/ieee1275/of.c: Moved to ...
  18093. * kern/ieee1275/ieee1275.c: ... here.
  18094. 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
  18095. * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
  18096. (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
  18097. Pass 0 as `end' parameter to grub_strtoul().
  18098. 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
  18099. * include/grub/powerpc/ieee1275/console.h: Do not include
  18100. <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
  18101. ifdef.
  18102. (grub_console_cur_color): Remove i386-specific prototype.
  18103. (grub_console_real_putchar): Likewise.
  18104. (grub_console_checkkey): Likewise.
  18105. (grub_console_getkey): Likewise.
  18106. (grub_console_getxy): Likewise.
  18107. (grub_console_gotoxy): Likewise.
  18108. (grub_console_cls): Likewise.
  18109. (grub_console_setcursor): Likewise.
  18110. * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
  18111. Include <grub/machine/console.h>.
  18112. * term/ieee1275/ofconsole.c: Likewise.
  18113. 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
  18114. * Makefile.in (LIBLZO): New variable.
  18115. * configure.ac: Check for LZO version 2.
  18116. * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
  18117. lzo/lzo1x.h instead of lzo1x.h.
  18118. * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
  18119. of -llzo.
  18120. * util/i386/pc/grub-setup.c (main): Do not free PREFIX
  18121. twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
  18122. * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
  18123. copying the data from PARTITION to P.
  18124. 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
  18125. * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
  18126. negative, unload the module.
  18127. * util/i386/pc/grub-setup.c (setup): The name of the PC partition
  18128. map is "pc_partition_map" but not "pc".
  18129. (usage): Fix the description. The options are --boot-image and
  18130. --core-image but not --boot-file or --core-file.
  18131. (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
  18132. based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
  18133. DEFAULT_DIRECTORY.
  18134. * util/i386/pc/grub-install.in: Do not specify --boot-file or
  18135. --core-file. Specify INSTALL_DEVICE as an argument.
  18136. * util/console.c: Include config.h.
  18137. [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
  18138. [HAVE_NCURSES_H]: Include ncurses.h.
  18139. [HAVE_CURSES_H]: Include curses.h.
  18140. [!A_NORMAL] (A_NORMAL): Defined as zero.
  18141. [!A_STANDOUT] (A_STANDOUT): Likewise.
  18142. * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
  18143. -lncurses.
  18144. * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
  18145. * configure.ac: Check for curses libraries and headers.
  18146. * Makefile.in (LIBCURSES): New variable.
  18147. * genmk.rb (Script::rule): Set the executable bits.
  18148. * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
  18149. name of the PC partition map is "pc_partition_map" but not "pc".
  18150. 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
  18151. * util/i386/pc/grub-install.in (grub_probefs): New variable.
  18152. (modules): Likewise.
  18153. (usage): Added descriptions for --modules and --grub-probefs.
  18154. Handle --modules and --grub-probefs. Save the arguments in MODULES
  18155. and GRUB_PROBEFS, respectively.
  18156. Auto-detect a filesystem module against GRUBDIR. If the result is
  18157. empty and modules are not specified explicitly, abort the
  18158. installation. Add the result to MODULES.
  18159. * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
  18160. disk/powerpc/ieee1275/ofdisk.c,
  18161. include/grub/powerpc/ieee1275/init.h and
  18162. term/powerpc/ieee1275/ofconsole.c.
  18163. Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
  18164. term/ieee1275/ofconsole.c.
  18165. * include/grub/powerpc/ieee1275/console.h: Resurrected.
  18166. * COPYING: Upgraded to the latest version. Only the address of the
  18167. FSF office has changed.
  18168. 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
  18169. * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
  18170. kern/ieee1275.c with kern/ieee1275/of.c.
  18171. * kern/ieee1275.c: Moved to ...
  18172. * kern/ieee1275/of.c: ... here.
  18173. 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
  18174. * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
  18175. readability.
  18176. * config.guess: Updated to the latest version from gnulib.
  18177. * config.sub: Likewise.
  18178. * install.sh: Likewise.
  18179. * mkinstalldirs: Likewise.
  18180. * include/grub/console.h: Removed. This file is arch-specific. Do
  18181. not put this in include/grub.
  18182. * include/grub/i386/pc/console.h: Resurrected.
  18183. * util/console.c: Include grub/machine/console.h instead of
  18184. grub/console.h.
  18185. * util/grub-emu.c: Likewise.
  18186. 2005-08-04 Marco Gerards <metgerards@student.han.nl>
  18187. * kern/term.c (grub_putcode): Use `grub_getwh' instead of
  18188. hardcoded value.
  18189. From Vincent Pelletier <subdino2004@yahoo.fr>
  18190. * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
  18191. Redefined to use grub_getwh.
  18192. (grub_term): New member named getwh.
  18193. (grub_getwh): New prototype.
  18194. * kern/term.c (grub_getwh): New function.
  18195. * term/i386/pc/console.c (grub_console_getwh): New function.
  18196. (grub_console_term): New member `getwh'.
  18197. * term/i386/pc/vga.c (grub_vga_getwh): New function.
  18198. (grub_vga_term): New member `getwh'.
  18199. * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
  18200. grub_ssize_t.
  18201. (grub_ofconsole_getw): New function.
  18202. (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
  18203. (grub_ofconsole_term): New field named getwh and new initial
  18204. value.
  18205. 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
  18206. * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
  18207. * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
  18208. Move `abort', `grub_reboot', and `grub_halt' prototypes ...
  18209. * include/grub/powerpc/ieee1275/kernel.h: ... to here.
  18210. * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
  18211. of <grub/machine/ieee1275.h>.
  18212. * commands/ieee1275/reboot.c: Likewise.
  18213. * boot/powerpc/ieee1275/ieee1275.c: Move ...
  18214. * kern/ieee1275.c: ... to here. All users updated. Change all
  18215. parameter structs to use new type `grub_ieee1275_cell_t'.
  18216. * term/powerpc/ieee1275/ofconsole.c: Move ...
  18217. * term/ieee1275/ofconsole.c: ... to here. All users updated.
  18218. * disk/powerpc/ieee1275/ofdisk.c: Move ...
  18219. * disk/ieee1275/ofdisk.c: ... to here. All users updated.
  18220. * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
  18221. to return int.
  18222. * include/grub/i386/pc/console.h: Move to include/grub/console.h.
  18223. Remove unused prototypes. All users updated.
  18224. * include/grub/powerpc/ieee1275/console.h: Removed.
  18225. * include/grub/powerpc/ieee1275/ieee1275.h: Define
  18226. `grub_ieee1275_cell_t'.
  18227. * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
  18228. Cast comparisons with -1 to the correct type.
  18229. * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
  18230. type to match `grub_ieee1275_entry_fn'.
  18231. 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
  18232. * DISTLIST: Added util/i386/pc/grub-probefs.c.
  18233. * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
  18234. (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
  18235. partmap/sun.c.
  18236. (grub_probefs_SOURCES): New variable.
  18237. * util/i386/pc/grub-probefs.c: New file.
  18238. * util/i386/pc/grub-setup.c (main): Call
  18239. grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
  18240. grub_hfs_init and grub_jfs_init to initialize the system. Call
  18241. grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
  18242. grub_pc_partition_map_fini to finish the system.
  18243. 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
  18244. * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
  18245. function.
  18246. (grub_multiboot_load_elf32): Likewise.
  18247. (grub_multiboot_is_elf64): Likewise.
  18248. (grub_multiboot_load_elf64): Likewise.
  18249. (grub_multiboot_load_elf): Likewise.
  18250. (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
  18251. an ELF32 or ELF64 file.
  18252. This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
  18253. From Serbinenko Vladimir <serbinenko.vova@list.ru>:
  18254. * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
  18255. NULL before calling FS->LABEL.
  18256. * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
  18257. * commands/ls.c (grub_ls_list_files): Show labels, if possible.
  18258. (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
  18259. before calling FS->LABEL.
  18260. 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
  18261. * util/i386/pc/grub-install.in (datadir): New variable.
  18262. (libdir): Removed.
  18263. (pkgdatadir): New variable.
  18264. (pkglibdir): Removed.
  18265. 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
  18266. * DISTLIST: Added util/i386/pc/grub-install.in.
  18267. * util/i386/pc/grub-install.in: New file.
  18268. * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
  18269. (grub_install_SOURCES): Likewise.
  18270. * genmk.rb: Added support for scripts.
  18271. (Script): New class.
  18272. (scripts): New variable.
  18273. * Makefile.in (install-local): Install sbin_SCRIPTS by
  18274. INSTALL_SCRIPT.
  18275. (uninstall): Remove sbin_SCRIPTS.
  18276. * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
  18277. device, try to get a GRUB device by
  18278. grub_util_biosdisk_get_grub_dev.
  18279. Free DEST_DEV.
  18280. * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
  18281. description for --device-map.
  18282. 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
  18283. Change the semantics of variable hooks. They now return strings
  18284. instead of error values.
  18285. * util/i386/pc/grub-setup.c: Include grub/env.h.
  18286. (setup): Use grub_device_set_root instead of grub_env_set.
  18287. * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
  18288. grub_env_get instead of grub_device_set_root and
  18289. grub_device_get_root, respectively.
  18290. * kern/main.c (grub_env_write_root): New function.
  18291. (grub_set_root_dev): Register grub_env_write_hook for "root". Use
  18292. grub_env_set instead of grub_device_set_root.
  18293. * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
  18294. many variables.
  18295. (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
  18296. rather than calling ENV->WRITE_HOOK afterwards.
  18297. (grub_env_get): Return the result of ENV->READ_HOOK rather than
  18298. passing a pointer of a pointer.
  18299. (grub_register_variable_hook): Change the types of "read_hook" and
  18300. "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
  18301. respectively.
  18302. Allocate the default empty string on the heap, because this string
  18303. may be freed later.
  18304. * kern/device.c: Include grub/env.h.
  18305. (grub_device_set_root): Removed.
  18306. (grub_device_get_root): Likewise.
  18307. (grub_device_open): Use grub_env_get instead of
  18308. grub_device_get_root.
  18309. * include/grub/env.h (grub_env_read_hook_t): New type.
  18310. (grub_env_write_hook_t): Likewise.
  18311. (grub_env_var): Change the types of "read_hook" and "write_hook"
  18312. to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
  18313. (grub_register_variable_hook): Likewise.
  18314. * include/grub/device.h (grub_device_set_root): Removed.
  18315. (grub_device_set_root): Likewise.
  18316. * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
  18317. make sure that DIRNAME terminates with '/', so that
  18318. grub_fat_find_dir will fail if PATH is not a directory.
  18319. * commands/ls.c (grub_ls_list_files): Remove the qualifier const
  18320. from DIRNAME.
  18321. Use the qualifier auto for print_files and print_files_long.
  18322. If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
  18323. as a regular file.
  18324. Put a newline only if there is no error.
  18325. (grub_cmd_ls): Remove grub_ls_print_files, because this is not
  18326. used.
  18327. 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
  18328. * kern/partition.c (grub_partition_probe): Initialize PART to
  18329. NULL. Otherwise, when no partition map is registered, this returns
  18330. a garbage.
  18331. 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
  18332. * partmap/apple.c (apple_partition_map_iterate): Check if POS
  18333. equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
  18334. valid.
  18335. 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
  18336. * commands/ls.c (grub_ls_list_disks): Print the filesystem
  18337. information on each device, if it does not have partitions. Print
  18338. "Device" instead of "Disk", because this function is not specific
  18339. to disk devices.
  18340. * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
  18341. static to ensure that it is put on the memory rather than a
  18342. register.
  18343. 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
  18344. * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
  18345. (grub_cat_init): Likewise.
  18346. * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
  18347. (options): Likewise.
  18348. * commands/configfile.c (GRUB_MOD_INIT): Likewise.
  18349. (grub_configfile_init): Likewise.
  18350. * font/manager.c (GRUB_MOD_INIT): Likewise.
  18351. * commands/help.c (GRUB_MOD_INIT): Likewise.
  18352. (grub_help_init): Likewise.
  18353. * normal/command.c (grub_command_init): Likewise.
  18354. * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
  18355. * disk/loopback.c (grub_loop_init): Likewise.
  18356. (GRUB_MOD_INIT): Likewise.
  18357. * commands/ls.c (grub_ls_init): Likewise.
  18358. (GRUB_MOD_INIT): Likewise.
  18359. (options): Likewise.
  18360. * commands/boot.c (grub_boot_init): Likewise.
  18361. (GRUB_MOD_INIT): Likewise.
  18362. * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
  18363. * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
  18364. (GRUB_MOD_INIT): Likewise.
  18365. * commands/cmp.c (grub_cmp_init): Likewise.
  18366. (GRUB_MOD_INIT): Likewise.
  18367. * normal/arg.c: Use <> instead of "" to include header files.
  18368. (SHORT_ARG_HELP): New macro.
  18369. (SHORT_ARG_USAGE): Likewise.
  18370. (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
  18371. of 'h' and 'u' for help and usage, respectively. Use more GNU-like
  18372. descriptions.
  18373. (find_short): Check if C is 'h' or 'u' explicitly.
  18374. (grub_arg_show_help): Use space characters instead of tabs. Treat
  18375. SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
  18376. are shown with --help and --usage only if they are not used for
  18377. the command itself.
  18378. (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
  18379. 'h' and 'u'.
  18380. * include/grub/arg.h (struct grub_arg_option): Add the qualifier
  18381. const into "longarg". Change the type of "shortarg" to int.
  18382. 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
  18383. * boot/i386/pc/boot.S (boot_drive_check): New label.
  18384. * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
  18385. macro.
  18386. * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
  18387. which do not pass a boot drive correctly. Copied from GRUB Legacy.
  18388. 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
  18389. * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
  18390. When turning off Gate A20, skip the check and return immediately,
  18391. because this is not fatal usually.
  18392. 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
  18393. * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
  18394. be 0x7C00 instead of 0x8000.
  18395. * boot/i386/pc/pxeboot.S: Rewritten.
  18396. * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
  18397. EXT_C.
  18398. (gate_a20_check_state): Read a byte from 0x108000. Invert the
  18399. result.
  18400. 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
  18401. * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
  18402. robustness. This routine now supports a BIOS call and System
  18403. Control Port A to modify the gate A20.
  18404. * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
  18405. Increased to 0x440.
  18406. 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
  18407. * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
  18408. device path and resulting ihandle.
  18409. (grub_ofdisk_close): dprintf the ihandle being closed.
  18410. (grub_ofdisk_read): dprintf function parameters.
  18411. * kern/mm.c (grub_mm_init_region): Likewise.
  18412. * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
  18413. (grub_linux_boot): dprintf the Linux entry point, initrd address and
  18414. size, and boot arguments.
  18415. (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
  18416. before loading into memory.
  18417. (grub_rescue_cmd_initrd): dprintf the initrd's address and size
  18418. before loading into memory.
  18419. 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
  18420. * kern/mm.c: Added much documentation.
  18421. (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
  18422. 8, set to 5 instead of 8.
  18423. 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
  18424. * DISTLIST: Added util/i386/pc/grub-mkimage.c.
  18425. * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
  18426. (grub_mkdevicemap_SOURCES): New variable.
  18427. * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
  18428. lib/device.c of GRUB Legacy.
  18429. 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
  18430. * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
  18431. instead of PATH is NULL.
  18432. 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
  18433. * commands/cmp.c (BUFFER_SIZE): New macro.
  18434. (grub_cmd_cmp): Close the right file at the right time. Compare
  18435. only data just read. Don't report files of different size as
  18436. identical. Dynamically allocate buffers. Move variable
  18437. declarations at the beginning of function.
  18438. 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
  18439. * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
  18440. reverse.
  18441. 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
  18442. * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
  18443. when backspace is pressed at beginning of line.
  18444. 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
  18445. * DISTLIST: Added genfslist.sh.
  18446. * normal/main.c (fs_module_list): New variable.
  18447. (autoload_fs_module): New function.
  18448. (read_fs_list): Likewise.
  18449. (grub_normal_execute): Call read_fs_list.
  18450. * kern/fs.c (grub_fs_autoload_hook): New variable.
  18451. (grub_fs_probe): Added support for auto-loading.
  18452. * include/grub/normal.h (struct grub_fs_module_list): New struct.
  18453. (grub_fs_module_list_t): New type.
  18454. * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
  18455. (grub_fs_autoload_hook): New prototype.
  18456. * genfslist.sh: New file.
  18457. * genmk.rb: Added a rule to generate a filesystem list.
  18458. 2005-06-30 Marco Gerards <metgerards@student.han.nl>
  18459. * configure.ac: Fix the test for cross-compiling.
  18460. * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
  18461. define GRUB_UTIL anymore.
  18462. * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
  18463. so this function works on other systems than just big endian.
  18464. (load_modules): Likewise.
  18465. (add_segments): Likewise.
  18466. 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
  18467. * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
  18468. contains `l' modifier, get a long from va_arg().
  18469. 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
  18470. * kern/mm.c (grub_free): If the next free block which is being
  18471. merged is the first free block, set the first block to the block
  18472. being freed.
  18473. Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
  18474. 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
  18475. * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
  18476. `grub_ieee1275_chosen'.
  18477. 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
  18478. * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
  18479. (grub_ieee1275_chosen): New variable.
  18480. (cmain): Initialize and use `grub_ieee1275_chosen' instead of
  18481. `chosen'.
  18482. * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
  18483. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
  18484. Rename first argument to `phandle' for consistency.
  18485. (grub_ieee1275_get_property_length): Likewise.
  18486. (grub_ieee1275_next_property): Likewise. Change type of first argument
  18487. to grub_ieee1275_phandle_t.
  18488. * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
  18489. Move export next to declaration.
  18490. (grub_ieee1275_chosen): New variable.
  18491. * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
  18492. Correct cosmetic typo.
  18493. * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
  18494. `grub_ieee1275_chosen'.
  18495. * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
  18496. * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
  18497. (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
  18498. * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
  18499. `grub_ieee1275_chosen'.
  18500. 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
  18501. * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
  18502. /chosen/bootargs.
  18503. * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
  18504. /chosen/bootargs as "variable=value" pairs.
  18505. 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
  18506. * include/grub/misc.h (grub_dprintf): New macro.
  18507. (grub_real_dprintf): New prototype.
  18508. (grub_strword): Likewise.
  18509. (grub_iswordseparator): Likewise.
  18510. * kern/misc.c (grub_real_dprintf): New function.
  18511. (grub_strword): Likewise.
  18512. (grub_iswordseparator): Likewise.
  18513. 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
  18514. * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
  18515. (roundup): Remove macro.
  18516. (grub_ieee1275_flags): Make static.
  18517. (grub_ieee1275_realmode): Remove.
  18518. (grub_ieee1275_test_flag): New function.
  18519. (grub_ieee1275_set_flag): Likewise.
  18520. (find_options): Rename to `grub_ieee1275_find_options'; update
  18521. callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
  18522. GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
  18523. (cmain): New prototype.
  18524. (cmain): Use `grub_ieee1275_set_flag' instead of accessing
  18525. `grub_ieee1275_flags' directly.
  18526. * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
  18527. machine/biosdisk.h.
  18528. * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
  18529. Don't include grub/machine/init.h.
  18530. (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
  18531. * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
  18532. Remove prototype.
  18533. (grub_ieee1275_realmode): Likewise.
  18534. (grub_ieee1275_flag): New enum.
  18535. (grub_ieee1275_test_flag): New prototype.
  18536. (grub_ieee1275_set_flag): New prototype.
  18537. * include/grub/powerpc/ieee1275/init.h: Remove file.
  18538. * include/grub/powerpc/ieee1275/ofdisk.h: New file.
  18539. * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
  18540. Include grub/machine/console.h. Include grub/machine/ofdisk.h.
  18541. (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
  18542. comment.
  18543. * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
  18544. `grub_ieee1275_test_flag'.
  18545. (grub_ieee1275_encode_devname): Likewise.
  18546. 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
  18547. * include/grub/powerpc/ieee1275/ieee1275.h
  18548. (grub_ieee1275_encode_devname): New prototype.
  18549. (grub_ieee1275_get_filename): Likewise.
  18550. * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
  18551. function.
  18552. (grub_set_prefix): Likewise.
  18553. (grub_machine_init): Call grub_set_prefix.
  18554. * kern/powerpc/ieee1275/openfw.c: Fix typos.
  18555. (grub_parse_type): New enum.
  18556. (grub_ieee1275_get_devargs): New function.
  18557. (grub_ieee1275_get_devname): Likewise.
  18558. (grub_ieee1275_parse_args): Likewise.
  18559. (grub_ieee1275_get_filename): Likewise.
  18560. (grub_ieee1275_encode_devname): Likewise.
  18561. 2005-03-30 Marco Gerards <metgerards@student.han.nl>
  18562. * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
  18563. `grub_loader_unset'.
  18564. 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
  18565. * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
  18566. instead of grub_ieee1275_interpret.
  18567. (grub_halt_init): New function.
  18568. (grub_halt_fini): Likewise.
  18569. (GRUB_MOD_INIT): Correct message grammar.
  18570. * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
  18571. instead of grub_ieee1275_interpret.
  18572. (grub_reboot_init): New function.
  18573. (grub_reboot_fini): Likewise.
  18574. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
  18575. commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
  18576. util/i386/pc/misc.c with commands/ieee1275/halt.c,
  18577. commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
  18578. * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
  18579. function.
  18580. * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
  18581. Add prototype.
  18582. * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
  18583. prototype.
  18584. (grub_halt): Likewise.
  18585. * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
  18586. (cmain): Remove __attribute__((unused)).
  18587. * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
  18588. (grub_heap_len): Likewise.
  18589. (grub_machine_fini): New function.
  18590. * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
  18591. (grub_halt): Likewise.
  18592. * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
  18593. function.
  18594. * util/powerpc/ieee1275/misc.c: New file.
  18595. 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
  18596. * DISTLIST: New file.
  18597. * gendistlist.sh: Likewise.
  18598. * Makefile.in (COMMON_DISTFILES): Removed.
  18599. (BOOT_DISTFILES): Likewise.
  18600. (CONF_DISTFILES): Likewise.
  18601. (DISK_DISTFILES): Likewise.
  18602. (FS_DISTFILES): Likewise.
  18603. (INCLUDE_DISTFILES): Likewise.
  18604. (KERN_DISTFILES): Likewise.
  18605. (LOADER_DISTFILES): Likewise.
  18606. (TERM_DISTFILES): Likewise.
  18607. (UTIL_DISTFILES): Likewise.
  18608. (DISTFILES): Likewise.
  18609. (uninstall): Uninstall files in $(pkgdata_DATA).
  18610. (DISTLIST): New target.
  18611. (distdir): Use the contents of the file DISTLIST to get a list of
  18612. distributed files.
  18613. 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
  18614. * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
  18615. descriptor. This is ported from GRUB Legacy.
  18616. * gencmdlist.sh: Added an extra semicolon to make it work with
  18617. old sed versions. Reported by Robert Bihlmeyer
  18618. <robbe@orcus.priv.at>.
  18619. 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
  18620. Automatic loading of commands is supported.
  18621. * normal/main.c (read_command_list): New function.
  18622. (grub_normal_execute): Call read_command_list.
  18623. * normal/command.c (grub_register_command): Return zero or CMD.
  18624. Allocate CMD->NAME from the heap.
  18625. Initialize CMD->MODULE_NAME to zero.
  18626. Find the same name as well. If the same command is found and it is
  18627. a dummy command, overwrite members. If it is not a dummy command,
  18628. return zero.
  18629. (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
  18630. (grub_command_find): If a dummy command is found, load a module
  18631. and retry to find a command only once.
  18632. * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
  18633. make sure that each command is loaded.
  18634. * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
  18635. macro.
  18636. (struct grub_command): Remove const from the member `name'.
  18637. Add a new member `module_name'.
  18638. (grub_register_command): Return grub_command_t.
  18639. * commands/help.c (grub_cmd_help): Call grub_command_find to make
  18640. sure that each command is loaded.
  18641. * genmk.rb (PModule::rule): Specify a module name without the
  18642. suffix ".mod" to gencmdlist.sh.
  18643. 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
  18644. * gencmdlist.sh: New file.
  18645. * genmk.rb (PModule::rule): Generate a rule for a command list.
  18646. Clean command.lst.
  18647. Generate command.lst from $(COMMANDFILES).
  18648. * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
  18649. (DATA): Added $(pkgdata_DATA).
  18650. (install-local): Install files in $(pkgdata_DATA).
  18651. 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
  18652. * term/i386/pc/vga.c (debug_command): Removed.
  18653. (GRUB_MOD_INIT): Do not register the command "debug".
  18654. From Hollis Blanchard:
  18655. * commands/configfile.c: New file.
  18656. * conf/i386-pc.rmk (grub_emu_SOURCES): Added
  18657. commands/configfile.c.
  18658. (pkgdata_MODULES): Added configfile.mod.
  18659. (configfile_mod_SOURCES): New variable.
  18660. (configfile_mod_CFLAGS): Likewise.
  18661. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
  18662. commands/configfile.c.
  18663. (pkgdata_MODULES): Added configfile.mod.
  18664. (configfile_mod_SOURCES): New variable.
  18665. (configfile_mod_CFLAGS): Likewise.
  18666. * util/grub-emu.c (main): Call grub_configfile_init and
  18667. grub_configfile_fini.
  18668. * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
  18669. prototype.
  18670. [GRUB_UTIL] (grub_configfile_fini): Likewise.
  18671. 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
  18672. * normal/arg.c (grub_arg_show_help): Do not show the bug report
  18673. address.
  18674. * commands/help.c (grub_cmd_help): Do not print newlines after
  18675. the last command in print_command_help.
  18676. 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
  18677. * commands/default.h: New file.
  18678. * commands/timeout.h: Likewise.
  18679. * normal/context.c: Likewise.
  18680. * util/misc.c: Do not include sys/times.h.
  18681. Include sys/time.h and grub/machine/time.h.
  18682. (grub_get_rtc): Rewritten with gettimeofday.
  18683. * util/grub-emu.c (main): Call grub_default_init and
  18684. grub_timeout_init before grub_normal_init, and call
  18685. grub_timeout_fini and grub_default_fini after grub_main.
  18686. * util/console.c (grub_ncurses_checkkey): Return the read
  18687. character or -1.
  18688. * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
  18689. timeouts.
  18690. * normal/main.c (read_config_file): Push MENU. If this fails,
  18691. print an error and wait for a user input.
  18692. Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
  18693. If a menu is empty or an error occurs, pop MENU.
  18694. (grub_normal_execute): Pop and free MENU after grub_menu_run
  18695. returns.
  18696. * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
  18697. * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
  18698. include time.h.
  18699. [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
  18700. without GRUB_UTIL.
  18701. * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
  18702. time.h.
  18703. [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
  18704. without GRUB_UTIL.
  18705. * include/grub/normal.h (struct grub_menu_list): New struct.
  18706. (grub_menu_list_t): New type.
  18707. (struct grub_context): New struct.
  18708. (grub_context_t): New type.
  18709. (grub_register_command): Got rid of EXPORT_FUNC.
  18710. (grub_unregister_command): Likewise.
  18711. (grub_context_get): New prototype.
  18712. (grub_context_get_current_menu): Likewise.
  18713. (grub_context_push_menu): Likewise.
  18714. (grub_context_pop_menu): Likewise.
  18715. [GRUB_UTIL] (grub_default_init): Likewise.
  18716. [GRUB_UTIL] (grub_default_fini): Likewise.
  18717. [GRUB_UTIL] (grub_timeout_init): Likewise.
  18718. [GRUB_UTIL] (grub_timeout_fini): Likewise.
  18719. * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
  18720. commands/timeout.c and normal/context.c.
  18721. (pkgdata_MODULES): Added default.mod and timeout.mod.
  18722. (normal_mod_SOURCES): Added normal/context.c.
  18723. (default_mod_SOURCES): New variable.
  18724. (default_mod_CFLAGS): Likewise.
  18725. (timeout_mod_SOURCES): Likewise.
  18726. (timeout_mod_CFLAGS): Likewise.
  18727. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
  18728. conf/i386-pc.rmk.
  18729. (pkgdata_MODULES): Added default.mod and timeout.mod.
  18730. (normal_mod_SOURCES): Added normal/context.c.
  18731. (default_mod_SOURCES): New variable.
  18732. (default_mod_CFLAGS): Likewise.
  18733. (timeout_mod_SOURCES): Likewise.
  18734. (timeout_mod_CFLAGS): Likewise.
  18735. * Makefile.in (all-local): Added $(MKFILES).
  18736. 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
  18737. * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
  18738. (grub_emu_SOURCES): Likewise.
  18739. (pkgdata_MODULES): Add `sun.mod'.
  18740. (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
  18741. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
  18742. `partmap/sun.c'.
  18743. (pkgdata_MODULES): Add `sun.mod'.
  18744. (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
  18745. * include/grub/partition.h (grub_sun_partition_map_init): New
  18746. prototype.
  18747. (grub_sun_partition_map_fini): Likewise.
  18748. * partmap/sun.c: New file.
  18749. * util/grub-emu.c (main): Initialize and de-initialize the sun
  18750. partitionmap support.
  18751. 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
  18752. This implements an Emacs-like menu entry editor.
  18753. * normal/menu_entry.c: New file.
  18754. * util/console.c (grub_ncurses_putchar): Translate some Unicode
  18755. characters to ASCII.
  18756. (saved_char): New variable.
  18757. (grub_ncurses_checkkey): Rewritten completely.
  18758. (grub_ncurses_getkey): Likewise.
  18759. (grub_ncurses_init): Call raw instead of cbreak.
  18760. * normal/menu.c (print_entry): Do not put a space.
  18761. (init_page): Renamed to ...
  18762. (grub_menu_init_page): ... this. All callers changed.
  18763. (edit_menu_entry): Removed.
  18764. (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
  18765. * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
  18766. * kern/misc.c (grub_vprintf): Call grub_refresh.
  18767. * normal/menu.c (DISP_LEFT): Renamed to ...
  18768. * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
  18769. * normal/menu.c (DISP_UP): Renamed to ...
  18770. * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
  18771. * normal/menu.c (DISP_RIGHT): Renamed to ...
  18772. * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
  18773. * normal/menu.c (DISP_DOWN): Renamed to ...
  18774. * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
  18775. * normal/menu.c (DISP_HLINE): Renamed to ...
  18776. * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
  18777. * normal/menu.c (DISP_VLINE): Renamed to ...
  18778. * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
  18779. * normal/menu.c (DISP_UL): Renamed to ...
  18780. * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
  18781. * normal/menu.c (DISP_UR): Renamed to ...
  18782. * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
  18783. * normal/menu.c (DISP_LL): Renamed to ...
  18784. * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
  18785. * normal/menu.c (DISP_LR): Renamed to ...
  18786. * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
  18787. * normal/menu.c (TERM_WIDTH): Renamed to ...
  18788. * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
  18789. * normal/menu.c (TERM_HEIGHT): Renamed to ...
  18790. * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
  18791. * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
  18792. * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
  18793. * normal/menu.c (TERM_MARGIN): Renamed to ...
  18794. * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
  18795. * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
  18796. * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
  18797. * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
  18798. * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
  18799. * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
  18800. * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
  18801. * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
  18802. * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
  18803. * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
  18804. * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
  18805. * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
  18806. * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
  18807. * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
  18808. * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
  18809. * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
  18810. * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
  18811. * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
  18812. * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
  18813. * normal/menu.c (TERM_CURSOR_X): Renamed to ...
  18814. * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
  18815. All callers changed.
  18816. * include/grub/normal.h: New prototype.
  18817. * conf/i386-pc.rmk (grub_emu_SOURCES): Added
  18818. normal/menu_entry.c.
  18819. (normal_mod_SOURCES): Likewise.
  18820. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  18821. (normal_mod_SOURCES): Likewise.
  18822. 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
  18823. * include/grub/normal.h (grub_halt_init): New prototype.
  18824. (grub_halt_fini): Likewise.
  18825. (grub_reboot_init): Likewise.
  18826. (grub_reboot_fini): Likewise.
  18827. * util/grub-emu.c: Include signal.h.
  18828. (main_env): New global variable.
  18829. (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
  18830. catch C-c.
  18831. (grub_machine_fini): New function.
  18832. (main): Call grub_halt_init and grub_reboot_init before
  18833. grub_main, and grub_reboot_fini and grub_halt_fini after it.
  18834. Call setjmp with MAIN_ENV to go back afterwards.
  18835. Call grub_machine_fini right before return.
  18836. * include/grub/util/misc.h: Include setjmp.h.
  18837. (main_env): New prototype.
  18838. * include/grub/kernel.h (grub_machine_fini): New prototype.
  18839. * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
  18840. * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
  18841. * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
  18842. * kern/i386/pc/init.c (grub_machine_fini): Likewise.
  18843. * term/i386/pc/console.c (grub_console_fini): Likewise.
  18844. * util/i386/pc/misc.c: New file.
  18845. * conf/i386-pc.rmk (grub_emu_SOURCES): Added
  18846. util/i386/pc/misc.c, commands/i386/pc/halt.c and
  18847. commands/i386/pc/reboot.c.
  18848. 2005-02-14 Guillem Jover <guillem@hadrons.org>
  18849. * include/grub/dl.h (grub_dl_check_header): New prototype.
  18850. (grub_arch_dl_check_header): Change return type to grub_err_t,
  18851. remove size parameter and export function. Update all callers.
  18852. * kern/dl.c (grub_dl_check_header): New function.
  18853. (grub_dl_load_core): Use `grub_dl_check_header' instead of
  18854. `grub_arch_dl_check_header'. Check ELF type. Check if sections
  18855. are inside the core.
  18856. * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
  18857. independent ELF header checks.
  18858. * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
  18859. * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
  18860. `grub_dl_check_header' instead of explicit checks. Check for the
  18861. ELF type.
  18862. * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
  18863. `grub_dl_check_header' instead of explicit checks. Remove arch
  18864. specific ELF header checks.
  18865. * util/grub-emu.c (grub_arch_dl_check_header): Remove the
  18866. argument SIZE.
  18867. 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
  18868. * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
  18869. * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
  18870. 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
  18871. * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
  18872. return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
  18873. (part_map_iterate): Clear `grub_errno' and return 0 if
  18874. `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
  18875. * partmap/amiga.c (amiga_partition_map_iterate): Return
  18876. GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
  18877. * partmap/apple.c (apple_partition_map_iterate): Likewise.
  18878. 2005-02-01 Guillem Jover <guillem@hadrons.org>
  18879. * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
  18880. help info.
  18881. 2005-01-31 Marco Gerards <metgerards@student.han.nl>
  18882. * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
  18883. Removed prototype.
  18884. (grub_rescue_cmd_linux): New prototype.
  18885. (grub_rescue_cmd_initrd): Likewise.
  18886. * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
  18887. `bi_rec'.
  18888. (grub_linux_release_mem): Release the memory for the initrd.
  18889. (grub_load_linux): Renamed from this...
  18890. (grub_rescue_cmd_linux): ...To this. Changed all callers.
  18891. Changed `entry' not to be static. Loop over memory regions to
  18892. find another one when the default fails.
  18893. (grub_rescue_cmd_initrd): New function.
  18894. (grub_linux_init): Remove function.
  18895. (grub_linux_fini): Likewise.
  18896. (GRUB_MOD_INIT): Register `initrd'.
  18897. (GRUB_MOD_FINI): Unregister `initrd'.
  18898. * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
  18899. Function removed.
  18900. (grub_linux_normal_fini): Likewise.
  18901. (GRUB_MOD_INIT): Register `initrd'.
  18902. (GRUB_MOD_FINI): Unregister `initrd'.
  18903. 2005-01-31 Marco Gerards <metgerards@student.han.nl>
  18904. * commands/help.c: New file.
  18905. * normal/arg.c (show_help): Renamed to...
  18906. (grub_arg_show_help): ... this.
  18907. * commands/i386/pc/halt.c: New file.
  18908. * commands/i386/pc/reboot.c: Likewise.
  18909. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
  18910. (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
  18911. (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
  18912. (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
  18913. variables.
  18914. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
  18915. `commands/help.c'.
  18916. (pkgdata_MODULES): Add `help.mod'.
  18917. (help_mod_SOURCES, help_mod_CFLAGS): New variables.
  18918. * grub/i386/pc/init.h (grub_reboot): New prototype.
  18919. (grub_halt): Likewise.
  18920. * include/grub/normal.h (grub_arg_show_help): New prototype.
  18921. (grub_help_init): Likewise.
  18922. (grub_help_fini): Likewise.
  18923. * util/grub-emu.c (main): Initialize and deinitialize the help
  18924. command.
  18925. * normal/cmdline.c (grub_cmdline_get): Doc fix.
  18926. * normal/command.c (grub_command_init): Fixed the description of
  18927. the `set' and `unset' commands.
  18928. 2005-01-31 Marco Gerards <metgerards@student.han.nl>
  18929. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
  18930. function.
  18931. * commands/ieee1275/halt.c: New file.
  18932. * commands/ieee1275/reboot.c: Likewise.
  18933. * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
  18934. `__attribute__ ((unused))'. Some GCS related fixed.
  18935. (grub_suspend_init) [GRUB_UTIL]: Function removed.
  18936. (grub_suspend_fini): Likewise.
  18937. * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
  18938. and `halt.mod'.
  18939. (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
  18940. (halt_mod_CFLAGS): New variables.
  18941. * include/grub/powerpc/ieee1275/ieee1275.h
  18942. (grub_ieee1275_interpret): New prototype.
  18943. 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
  18944. * include/grub/misc.h (memmove): New prototype.
  18945. (memcpy): Likewise.
  18946. 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
  18947. * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
  18948. `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
  18949. 2005-01-22 Marco Gerards <metgerards@student.han.nl>
  18950. * kern/misc.c (grub_strndup): Function rewritten.
  18951. 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
  18952. * normal/menu.c (TERM_WIDTH): Macro redefined.
  18953. (TERM_TOP_BORDER_Y): Likewise.
  18954. (draw_border): Replaced while-loop by a for-loop. Make the number
  18955. of lines consistent with the number of lines displayed in
  18956. print_entries. Added a margin below the rectangle.
  18957. (print_entry): Make the entry fit in the rectangle.
  18958. (print_entries): Display the scroll arrows next to the right
  18959. border.
  18960. 2005-01-21 Marco Gerards <metgerards@student.han.nl>
  18961. * fs/minix.c (grub_minix_find_file): Reserve more space for
  18962. `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
  18963. `grub_strncpy' to copy `path' into it.
  18964. 2005-01-21 Marco Gerards <metgerards@student.han.nl>
  18965. Add the loopback device, a device via which files can be accessed
  18966. as devices.
  18967. * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
  18968. (pkgdata_MODULES): Add loopback.mod.
  18969. (loopback_mod_SOURCES): New variable.
  18970. (loopback_mod_CFLAGS): Likewise.
  18971. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
  18972. `disk/loopback.c'.
  18973. (pkgdata_MODULES): Add loopback.mod.
  18974. (loopback_mod_SOURCES): New variable.
  18975. (loopback_mod_CFLAGS): Likewise.
  18976. * disk/loopback.c: new file.
  18977. * include/grub/normal.h (grub_loop_init): New prototype.
  18978. (grub_loop_fini): New prototype.
  18979. * util/grub-emu.c (main): Initialize and de-initialize loopback
  18980. support.
  18981. * include/grub/disk.h (grub_disk_dev_id): Add
  18982. `GRUB_DISK_DEVICE_LOOPBACK_ID'.
  18983. 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
  18984. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
  18985. function.
  18986. * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
  18987. (suspend_mod_SOURCES): New variable.
  18988. (suspend_mod_CFLAGS): Likewise.
  18989. * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
  18990. New prototype.
  18991. * commands/ieee1275/suspend.c: New file.
  18992. 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
  18993. * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
  18994. ((unused))' to `__attribute__ ((used))'.
  18995. (GRUB_MOD_FINI): Likewise.
  18996. * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
  18997. * genmk.rb (PModule): Assign space to common symbols when linking
  18998. modules.
  18999. 2005-01-20 Marco Gerards <metgerards@student.han.nl>
  19000. * include/grub/mm.h (grub_mm_init_region): Change the type of the
  19001. `unsigned' arguments to `grub_size_t'.
  19002. (grub_malloc): Likewise.
  19003. (grub_realloc): Likewise.
  19004. (grub_memalign): Likewise.
  19005. * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
  19006. * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
  19007. * util/misc.c (grub_malloc): Likewise.
  19008. (grub_realloc): Likewise.
  19009. * kern/mm.c (get_header_from_pointer): Change the casts to
  19010. `unsigned' into a cast to `grub_size_t'.
  19011. * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
  19012. point to `currnode' when `currnode' is changed.
  19013. * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
  19014. Schottelius <nico-linux@schottelius.org>.
  19015. 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
  19016. * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
  19017. (note_path): Remove variable.
  19018. (GRUB_IEEE1275_NOTE_NAME): New macro.
  19019. (GRUB_IEEE1275_NOTE_TYPE): Likewise.
  19020. (grub_ieee1275_note_hdr): New structure.
  19021. (grub_ieee1275_note_desc): Likewise.
  19022. (grub_ieee1275_note): Likewise.
  19023. (load_note): Remove `dir' argument. All callers updated. Remove
  19024. `note_img' and `path'. Do not load a file from `note_path'.
  19025. Initialize a struct grub_ieee1275_note and write that to `out'.
  19026. Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
  19027. 2005-01-05 Marco Gerards <metgerards@student.han.nl>
  19028. * util/misc.c (grub_util_read_image): Revert last change. It
  19029. called `grub_util_read_at', which seeks from the beginning of the
  19030. file.
  19031. 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
  19032. * TODO: Add note about endianness in grub-mkimage.
  19033. * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
  19034. section.
  19035. * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
  19036. (grub_mkimage_SOURCES): New target.
  19037. * include/grub/kernel.h (grub_start_addr): Remove variable.
  19038. (grub_end_addr): Likewise.
  19039. (grub_total_module_size): Likewise.
  19040. (grub_kernel_image_size): Likewise.
  19041. (GRUB_MODULE_MAGIC): New constant.
  19042. (grub_module_info): New structure.
  19043. (grub_arch_modules_addr): New prototype.
  19044. (grub_get_end_addr): Remove prototype.
  19045. * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
  19046. * include/grub/powerpc/ieee1275/kernel.h: New file.
  19047. * include/grub/util/misc.h (grub_util_get_fp_size): New
  19048. prototype.
  19049. (grub_util_read_at): Likewise.
  19050. (grub_util_write_image_at): Likewise.
  19051. * kern/main.c (grub_get_end_addr): Remove function.
  19052. (grub_load_modules): Call grub_arch_modules_addr instead of using
  19053. grub_end_addr. Look for a grub_module_info struct in memory. Use
  19054. the grub_module_info fields instead of calling grub_get_end_addr
  19055. as loop conditions. Move grub_add_unused_region code here.
  19056. (grub_add_unused_region): Remove function.
  19057. * kern/i386/pc/init.c: Include grub/cache.h.
  19058. (grub_machine_init): Remove call to grub_get_end_addr. Remove
  19059. one call to add_mem_region.
  19060. (grub_arch_modules_addr): New function.
  19061. * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
  19062. (grub_total_module_size): Likewise.
  19063. Include grub/machine/kernel.h.
  19064. (grub_arch_modules_addr): New function.
  19065. * util/grub-emu.c (grub_end_addr): Remove variable.
  19066. (grub_total_module_size): Likewise.
  19067. (grub_arch_modules_addr): New function.
  19068. * util/misc.c: Include unistd.h.
  19069. (grub_util_get_fp_size): New function.
  19070. (grub_util_read_at): Likewise.
  19071. (grub_util_write_image_at): Likewise.
  19072. (grub_util_read_image): Call grub_util_read_at.
  19073. (grub_util_write_image): Call grub_util_write_image_at.
  19074. * util/i386/pc/grub-mkimage.c (generate_image): Allocate
  19075. additional memory in kernel_img for a struct grub_module_info.
  19076. Fill in that grub_module_info.
  19077. * util/powerpc/ieee1275/grub-mkimage.c: New file.
  19078. 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
  19079. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
  19080. New function.
  19081. * include/grub/powerpc/ieee1275/ieee1275.h
  19082. (grub_ieee1275_milliseconds): New prototype.
  19083. * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
  19084. Change to 1000.
  19085. * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
  19086. grub_ieee1275_milliseconds.
  19087. 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
  19088. * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
  19089. variable.
  19090. (find_options): New function.
  19091. (cmain): Call find_options.
  19092. * include/grub/powerpc/ieee1275/ieee1275.h
  19093. (grub_ieee1275_realmode): New extern variable.
  19094. * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
  19095. grub_map if grub_ieee1275_realmode is false.
  19096. 2004-12-29 Marco Gerards <metgerards@student.han.nl>
  19097. * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
  19098. lines are inserted and make it work like readline. Reported by
  19099. Vincent Pelletier <subdino2004@yahoo.fr>.
  19100. 2004-12-28 Marco Gerards <metgerards@student.han.nl>
  19101. * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
  19102. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
  19103. `kern/powerpc/cache.S'.
  19104. 2004-12-27 Marco Gerards <metgerards@student.han.nl>
  19105. * genmk.rb: Handle the `Program' class in the main loop. Written
  19106. by Johan Rydberg <jrydberg@gnu.org>.
  19107. (Program): New class.
  19108. (programs): New variable.
  19109. * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
  19110. instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
  19111. instead of "grub/kernel.h". Include <grub/machine/init.h>.
  19112. (help_arch): Function removed.
  19113. * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
  19114. `powerpc/libgcc.h' and `loader.h'.
  19115. (pkgdata_PROGRAMS): New variable.
  19116. (sbin_UTILITIES): Variable removed.
  19117. (grub_emu_SOURCES): Added kern/powerpc/cache.S.
  19118. (grubof_SOURCES): Variable re-defined so it only includes the
  19119. core functionality.
  19120. (grubof_CFLAGS): Remove `-DGRUBOF'.
  19121. (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
  19122. (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
  19123. (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
  19124. (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
  19125. (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
  19126. (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
  19127. (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
  19128. (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
  19129. (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
  19130. (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
  19131. (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
  19132. (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
  19133. (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
  19134. (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
  19135. (pc_mod_CFLAGS): New variables.
  19136. * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
  19137. (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
  19138. * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
  19139. * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
  19140. Moved from here...
  19141. * include/grub/i386/pc/init.h (grub_os_area_addr)
  19142. (rub_os_area_size): ... to here.
  19143. * include/grub/powerpc/ieee1275/ieee1275.h
  19144. (grub_ieee1275_entry_fn): Export symbol.
  19145. * include/grub/powerpc/ieee1275/init.h: New file.
  19146. * include/grub/powerpc/libgcc.h: Likewise.
  19147. * include/grub/cache.h: Likewise.
  19148. * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
  19149. <hollis@penguinppc.org>.
  19150. * kern/dl.c: Include <grub/cache.h>.
  19151. (grub_dl_flush_cache): New function.
  19152. (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
  19153. for this module.
  19154. * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
  19155. (grub_console_init): Removed prototypes.
  19156. (grub_machine_init): Don't initialize the modules anymore.
  19157. * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
  19158. static.
  19159. * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
  19160. Macro undef removed.
  19161. (GRUB_HOST_WORDS_BIGENDIAN): New macro.
  19162. * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
  19163. relocation `R_PPC_REL32'. Return an error when the relocation is
  19164. unknown.
  19165. * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
  19166. * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
  19167. * util/misc.c (grub_arch_sync_caches): Likewise.
  19168. 2004-12-19 Marco Gerards <metgerards@student.han.nl>
  19169. * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
  19170. `symlist.c', add `grubof_symlist.c'.
  19171. (symlist.c): Variable removed.
  19172. (grubof_HEADERS): Variable added.
  19173. (grubof_symlist.c): New target.
  19174. (kernel_syms.lst): Use `grubof_HEADERS' instead of
  19175. `kernel_img_HEADERS'.
  19176. (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
  19177. * kern/powerpc/dl.c: New file.
  19178. * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
  19179. Function removed.
  19180. (grub_arch_dl_relocate_symbols): Likewise.
  19181. (grub_register_exported_symbols): Likewise.
  19182. 2004-12-13 Marco Gerards <metgerards@student.han.nl>
  19183. * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
  19184. (grub_ext2_dir): Likewise. Don't return in case of an error, jump
  19185. to fail instead. Reported by Vincent Pelletier
  19186. <subdino2004@yahoo.fr>.
  19187. * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
  19188. it is not allocated. Reported by Vincent Pelletier
  19189. <subdino2004@yahoo.fr>.
  19190. * normal/cmdline.c (grub_tab_complete): Add a blank line to the
  19191. output so the output looks better.
  19192. 2004-12-04 Marco Gerards <metgerards@student.han.nl>
  19193. Modulize the partition map support and add support for the amiga
  19194. partition map.
  19195. * commands/ls.c: Include <grub/partition.h> instead of
  19196. <grub/machine/partition.h>.
  19197. * kern/disk.c: Likewise.
  19198. * kern/rescue.c: Likewise.
  19199. * loader/i386/pc/chainloader.c: Likewise.
  19200. * normal/cmdline.c: Likewise.
  19201. * kern/powerpc/ieee1275/init.c: Likewise.
  19202. (grub_machine_init): Call `grub_pc_partition_map_init',
  19203. `grub_amiga_partition_map_init' and
  19204. `grub_apple_partition_map_init'.
  19205. * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
  19206. `disk/i386/pc/partition.c'. Add `kern/partition.c'.
  19207. (kernel_img_HEADERS): Remove `machine/partition.h'. Add
  19208. `partition.h' and `pc_partition.h'.
  19209. (grub_setup_SOURCES): Remove
  19210. `disk/i386/pc/partition.c'. Add `kern/partition.c',
  19211. `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
  19212. (grub_emu_SOURCES): Likewise.
  19213. (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
  19214. (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
  19215. (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
  19216. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
  19217. `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
  19218. `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
  19219. (grubof_SOURCES): Likewise.
  19220. * disk/i386/pc/partition.c: File removed.
  19221. * disk/powerpc/ieee1275/partition.c: Likewise.
  19222. * include/grub/powerpc/ieee1275/partition.h: Likewise.
  19223. * include/grub/i386/pc/partition.h: Likewise.
  19224. * kern/partition.c: New file.
  19225. * partmap/amiga.c: Likewise.
  19226. * partmap/apple.c: Likewise.
  19227. * partmap/pc.c: Likewise.
  19228. * include/grub/partition.h: Likewise..
  19229. * include/grub/pc_partition.h: Likewise.
  19230. * util/grub-emu.c: Include <grub/partition.h> instead of
  19231. <grub/machine/partition.h>.
  19232. (main): Call `grub_pc_partition_map_init',
  19233. `grub_amiga_partition_map_init' and
  19234. `grub_apple_partition_map_init' and deinitialize afterwards.
  19235. * util/i386/pc/biosdisk.c: Include `#include
  19236. <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
  19237. `<grub/machine/partition.h>'.
  19238. * util/i386/pc/grub-setup.c: Likewise.
  19239. * util/i386/pc/biosdisk.c: Likewise.
  19240. (grub_util_biosdisk_get_grub_dev): Only access the PC specific
  19241. partition information in case of a PC partition.
  19242. * util/i386/pc/grub-setup.c: Include `#include
  19243. <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
  19244. `<grub/machine/partition.h>'.
  19245. (setup): Only access the PC specific partition information in case
  19246. of a PC partition.
  19247. 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
  19248. * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
  19249. (grub_longjmp): Likewise.
  19250. * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
  19251. 20.
  19252. * normal/powerpc/setjmp.S: New file.
  19253. * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
  19254. `normal/powerpc/setjmp.S'.
  19255. (grubof_CFLAGS): Add `-DGRUBOF'.
  19256. * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
  19257. [GRUB_UTIL && !GRUBOF].
  19258. 2004-11-16 Marco Gerards <metgerards@student.han.nl>
  19259. * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
  19260. property named `name'. Correctly handle the error returned by
  19261. `grub_ieee1275_finddevice' if a device can not be opened.
  19262. 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
  19263. * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
  19264. `actual' for negativity.
  19265. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
  19266. kern/fshelp.c.
  19267. 2004-11-01 Marco Gerards <metgerards@student.han.nl>
  19268. * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
  19269. (PAGE_OFFSET): New macro.
  19270. (CRTC_ADDR_PORT): Likewise.
  19271. (CRTC_DATA_PORT): Likewise.
  19272. (START_ADDR_HIGH_REGISTER): Likewise.
  19273. (START_ADDR_LOW_REGISTER): Likewise.
  19274. (GRAPHICS_ADDR_PORT): Likewise.
  19275. (GRAPHICS_DATA_PORT): Likewise.
  19276. (READ_MAP_REGISTER): Likewise.
  19277. (INPUT_STATUS1_REGISTER): Likewise.
  19278. (INPUT_STATUS1_VERTR_BIT): Likewise.
  19279. (page): New variable.
  19280. (wait_vretrace): New function.
  19281. (set_read_map): Likewise.
  19282. (set_start_address): Likewise.
  19283. (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
  19284. the right page.
  19285. (check_vga_mem): Take the page into account.
  19286. (write_char): Likewise.
  19287. (write_cursor): Likewise.
  19288. (scroll_up): Likewise. Copy the page to the page that is not
  19289. shown and switch between both pages.
  19290. (grub_vga_putchar): Fix off by one error.
  19291. (grub_vga_cls): Wait for the vertical retrace. Take the page into
  19292. account.
  19293. 2004-11-01 Marco Gerards <metgerards@student.han.nl>
  19294. Add support for iso9660 (including rockridge).
  19295. * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
  19296. (iso9660_mod_SOURCES): New variable.
  19297. (iso9660_mod_CFLAGS): Likewise.
  19298. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
  19299. * include/grub/fs.h (grub_iso9660_init): New prototype.
  19300. * util/grub-emu.c (main): Call `grub_iso9660_init'.
  19301. * fs/iso9660.c: New file.
  19302. * include/grub/misc.h (grub_strncat): New prototype.
  19303. * kern/misc.c (grub_strncat): New function.
  19304. * fs/hfs.c (grub_hfs_mount): Translate the error
  19305. `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
  19306. * fs/jfs.c (grub_jfs_mount): Likewise.
  19307. * fs/ufs.c (grub_ufs_mount): Likewise.
  19308. 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
  19309. * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
  19310. which initialized BAT registers.
  19311. * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
  19312. grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
  19313. Move from here...
  19314. * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
  19315. grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
  19316. ... to here.
  19317. * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
  19318. (grub_mapclaim): Likewise.
  19319. * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
  19320. grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
  19321. hand.
  19322. 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
  19323. * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
  19324. (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
  19325. -ffreestanding and -msoft-float.
  19326. 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
  19327. * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
  19328. append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
  19329. set in grub_ieee1275_flags.
  19330. 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
  19331. * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
  19332. prototype.
  19333. * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
  19334. grub_console_init first.
  19335. Change the memory range used for grub_ieee1275_claim and
  19336. grub_mm_init_region.
  19337. Print an error message if the claim fails.
  19338. Include <grub/misc.h>.
  19339. 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
  19340. * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
  19341. Call grub_children_iterate for device nodes of type `scsi',
  19342. `ide', or `ata'.
  19343. (grub_ofdisk_open): Remove manual device alias resolution.
  19344. Fix memory leak when device cannot be opened.
  19345. * include/grub/powerpc/ieee1275/ieee1275.h
  19346. (grub_children_iterate): New prototype.
  19347. * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
  19348. New function.
  19349. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
  19350. Return -1 if args.size was -1.
  19351. 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
  19352. * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
  19353. (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
  19354. World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
  19355. Open Firmware's memory for it; claim memory from _start to _end.
  19356. * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
  19357. (_end): New extern.
  19358. (_start): Zero BSS from __bss_start to _end.
  19359. * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
  19360. New extern.
  19361. (GRUB_IEEE1275_NO_PARTITION_0): New #define.
  19362. 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
  19363. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
  19364. -1 if args.base was -1.
  19365. 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
  19366. * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
  19367. escape sequence instead of a literal ^L. Also call
  19368. grub_ofconsole_gotoxy.
  19369. 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
  19370. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
  19371. void * arguments to grub_addr_t. All callers updated. Also make
  19372. the `result' argument optional.
  19373. (grub_ieee1275_release): change void * arguments to grub_addr_t.
  19374. All callers updated.
  19375. 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
  19376. * commands/ls.c (grub_ls_list_files): Use the string following the
  19377. initial ')', if present, as the filesystem path.
  19378. * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
  19379. * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
  19380. 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
  19381. Make the source code of the menu interface more readable.
  19382. * normal/menu.c: Include grub/mm.h.
  19383. (TERM_WIDTH): New macro.
  19384. (TERM_HEIGHT): Likewise.
  19385. (TERM_INFO_HEIGHT): Likewise.
  19386. (TERM_MARGIN): Likewise.
  19387. (TERM_SCROLL_WIDTH): Likewise.
  19388. (TERM_TOP_BORDER_Y): Likewise.
  19389. (TERM_LEFT_BORDER_X): Likewise.
  19390. (TERM_BORDER_WIDTH): Likewise.
  19391. (TERM_MESSAGE_HEIGHT): Likewise.
  19392. (TERM_BORDER_HEIGHT): Likewise.
  19393. (TERM_NUM_ENTRIES): Likewise.
  19394. (TERM_FIRST_ENTRY_Y): Likewise.
  19395. (TERM_ENTRY_WIDTH): Likewise.
  19396. (TERM_CURSOR_X): Likewise.
  19397. (draw_border): Use macros instead of magic numbers.
  19398. (print_entry): Likewise.
  19399. (print_entries): Likewise.
  19400. (run_menu): Likewise. Also, handle the key 'e'.
  19401. (run_menu_entry): Ignore empty command lines.
  19402. (print_message): Added a new argument EDIT. If EDIT is true,
  19403. print a different message.
  19404. (init_page): Likewise.
  19405. (edit_menu_entry): New function. Not implemented yet.
  19406. 2004-09-17 Marco Gerards <metgerards@student.han.nl>
  19407. Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
  19408. can be loaded from normal mode.
  19409. * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
  19410. `multiboot.mod'.
  19411. (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
  19412. (multiboot_mod_CFLAGS): New variables.
  19413. * loader/i386/pc/linux_normal.c: New file.
  19414. * loader/i386/pc/multiboot_normal.c: Likewise.
  19415. * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
  19416. attribute `unused'.
  19417. * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
  19418. `fdiro' to read the mode information from instead of `diro'.
  19419. * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
  19420. looking up a symlink.
  19421. * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
  19422. macro.
  19423. * normal/command.c (grub_command_execute): Don't parse the
  19424. arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
  19425. flags of the command.
  19426. * normal/menu.c (grub_menu_run): Fix typo.
  19427. 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
  19428. * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
  19429. * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
  19430. `y + 1' instead of `y - 1'.
  19431. * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
  19432. 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
  19433. From Hollis Blanchard <hollis@penguinppc.org>:
  19434. * kern/misc.c (memmove): New alias for grub_memmove.
  19435. (memcmp): New alias for grub_memcmp.
  19436. (memset): New alias for grub_memset.
  19437. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
  19438. Change "int handle" to "grub_ieee1275_phandle_t handle".
  19439. * include/grub/powerpc/ieee1275/ieee1275.h
  19440. (grub_ieee1275_get_property): Likewise.
  19441. 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
  19442. Added normal mode command `chainloader' as module chain.mod, which
  19443. depends on normal.mod and _chain.mod.
  19444. * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
  19445. (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
  19446. * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
  19447. Deleted prototype.
  19448. * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
  19449. but arguments parsing moved to ...
  19450. (grub_chainloader_cmd): ... here. New function.
  19451. * include/grub/i386/pc/chainloader.h: New file.
  19452. * loader/i386/pc/chainloader_normal.c: Likewise.
  19453. 2004-09-11 Marco Gerards <metgerards@student.han.nl>
  19454. * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
  19455. (grub_mkimage_LDFLAGS): Likewise.
  19456. (grub_emu_SOURCES): Likewise.
  19457. (kernel_img_HEADERS): Added fshelp.h.
  19458. * fs/ext2.c: Include <grub/fshelp.h>.
  19459. (FILETYPE_REG): New macro.
  19460. (FILETYPE_INO_REG): Likewise.
  19461. (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
  19462. Changed all users.
  19463. (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
  19464. all users.
  19465. (grub_fshelp_node): New struct.
  19466. (grub_ext2_data): Added member `diropen'. Changed member `inode'
  19467. to a pointer.
  19468. (grub_ext2_get_file_block): Removed function.
  19469. (grub_ext2_read_block): New function.
  19470. (grub_ext2_read_file): Replaced parameter `data' by `node'.
  19471. This function was written.
  19472. (grub_ext2_mount): Read the root inode. Create a diropen struct.
  19473. (grub_ext2_find_file): Removed function.
  19474. (grub_ext2_read_symlink): New function.
  19475. (grub_ext2_iterate_dir): Likewise.
  19476. (grub_ext2_open): Rewritten.
  19477. (grub_ext2_dir): Rewritten.
  19478. * include/grub/fshelp.h: New file.
  19479. * fs/fshelp.c: Likewise.
  19480. 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
  19481. * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
  19482. (print_message): Add a missing newline.
  19483. (run_menu): Added timeout support.
  19484. (run_menu_entry): New local function.
  19485. (grub_menu_run): Added support for booting.
  19486. * kern/loader.c (grub_loader_is_loaded): New function.
  19487. * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
  19488. (grub_get_rtc): Exported.
  19489. * include/grub/i386/pc/time.h: Include grub/symbol.h.
  19490. (grub_get_rtc): Exported.
  19491. * include/grub/normal.h (struct grub_command_list): Remove
  19492. constant from the member `command'.
  19493. * include/grub/loader.h (grub_loader_is_loaded): Declared.
  19494. * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
  19495. * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
  19496. 2004-08-28 Marco Gerards <metgerards@student.han.nl>
  19497. Add support for the JFS filesystem.
  19498. * fs/jfs.c: New file.
  19499. * include/grub/fs.h (grub_jfs_init): New prototype.
  19500. (grub_jfs_fini): New prototype.
  19501. * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
  19502. (grub_emu_SOURCES): Likewise.
  19503. (pkgdata_MODULES): Add jfs.mod.
  19504. (jfs_mod_SOURCES): New variable.
  19505. (jfs_mod_CFLAGS): Likewise.
  19506. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
  19507. (grubof_SOURCES): Likewise.
  19508. * util/grub-emu.c (main): Initialize and deinitialize JFS support.
  19509. * fs/fat.c (grub_fat_find_dir): Convert the filename little
  19510. endian to the host endian.
  19511. (grub_fat_utf16_to_utf8): Move function from there...
  19512. * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
  19513. the endianness of the source string anymore.
  19514. * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
  19515. 2004-08-24 Marco Gerards <metgerards@student.han.nl>
  19516. * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
  19517. (grub_boot_fini) [GRUB_UTIL]: Likewise.
  19518. (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
  19519. (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
  19520. * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
  19521. (grub_hfs_iterate_dir): Make the function static. Add prototypes
  19522. for `node_found' and `it_dir'.
  19523. (grub_hfs_dir): Add prototype for `dir_hook'.
  19524. * fs/minix.c (grub_minix_get_file_block): Add prototype for
  19525. `grub_get_indir'. Rename `indir' in two blocks to `indir16'
  19526. and `indir32' to silence a gcc warning.
  19527. * include/grub/fs.h (grub_hfs_init): New prototype.
  19528. (grub_hfs_fini): Likewise.
  19529. 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
  19530. Each disk device has its own id now. This is useful to make use
  19531. of multiple disk devices.
  19532. * include/grub/disk.h (grub_disk_dev_id): New enum.
  19533. (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
  19534. (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
  19535. * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
  19536. GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
  19537. * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
  19538. GRUB_DISK_DEVICE_OFDISK_ID as an id.
  19539. * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
  19540. GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
  19541. * include/grub/disk.h (struct grub_disk_dev): Added a new member
  19542. "id" which is used by the cache manager.
  19543. * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
  19544. of just "GRUB".
  19545. 2004-08-18 Marco Gerards <metgerards@student.han.nl>
  19546. * fs/hfs.c: New file.
  19547. * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
  19548. (grub_emu_SOURCES): Likewise.
  19549. (pkgdata_MODULES): Add hfs.mod.
  19550. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
  19551. (grubof_SOURCES): Likewise.
  19552. * util/grub-emu.c (main): Initialize and deinitialize HFS support.
  19553. * include/grub/misc.h (grub_strncasecmp): Add prototype.
  19554. * kern/misc.c (grub_strncasecmp): Add function.
  19555. 2004-08-14 Marco Gerards <metgerards@student.han.nl>
  19556. * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
  19557. with parentheses.
  19558. * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
  19559. (grub_ext2_dir): In case the directory entry type is unknown, read
  19560. it from the inode.
  19561. 2004-08-02 Peter Bruin <pjbruin@dds.nl>
  19562. * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
  19563. grub_load_linux instead of grub_rescue_cmd_linux as second
  19564. argument of grub_rescue_register_command.
  19565. * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
  19566. 2004-07-27 Marco Gerards <metgerards@student.han.nl>
  19567. * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
  19568. function.
  19569. * commands/boot.c: Remove the check for `GRUB_UTIL'.
  19570. * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
  19571. `loader/powerpc/ieee1275/linux.c',
  19572. `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
  19573. * include/grub/powerpc/ieee1275/ieee1275.h
  19574. (grub_ieee1275_release): New prototype.
  19575. * include/grub/powerpc/ieee1275/loader.h: Rewritten.
  19576. * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
  19577. normal, boot, linux and linux_normal.
  19578. * loader/powerpc/ieee1275/linux.c: New file.
  19579. * loader/powerpc/ieee1275/linux_normal.c: Likewise.
  19580. 2004-07-12 Marco Gerards <metgerards@student.han.nl>
  19581. * normal/arg.c (grub_arg_parse): Correct error handling after
  19582. reallocating the argumentlist (check if `argl' is not null instead
  19583. of checking if `args' is not null).
  19584. * kern/mm.c (grub_realloc): Return the same pointer when using the
  19585. same region, instead of returning the header address.
  19586. 2004-07-11 Marco Gerards <metgerards@student.han.nl>
  19587. * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
  19588. one block instead of two when looking for the initial partition.
  19589. (grub_partition_probe): Initialize the local variable `p' with 0.
  19590. Use base 10 for the grub_strtoul call.
  19591. * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
  19592. need for one local variable.
  19593. (grub_strtoul): Don't add the new value to `num', instead of that
  19594. just assign it.
  19595. 2004-07-11 Marco Gerards <metgerards@student.han.nl>
  19596. * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
  19597. (pxeboot_img_SOURCES): New variable.
  19598. (pxeboot_img_ASFLAGS): Likewise.
  19599. (pxeboot_img_LDFLAGS): Likewise.
  19600. * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
  19601. GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
  19602. <lode_leroy@hotmail.com>.
  19603. 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
  19604. * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
  19605. there was no input.
  19606. 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
  19607. * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
  19608. the history buffer logic.
  19609. 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
  19610. * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
  19611. (FILETYPE_INO_SYMLINK): New macros.
  19612. (grub_ext2_find_file): Check if the node is a directory using the
  19613. inode stat information instead of using the filetype in the
  19614. dirent. Exclude the first character of an absolute symlink.
  19615. (grub_ext2_dir): Mask out the filetype part of the mode member of
  19616. the inode.
  19617. 2004-05-24 Marco Gerards <metgerards@student.han.nl>
  19618. Add support for UFS version 1 and 2. Add support for the minix
  19619. filesystem version 1 and 2, both the variants with 14 and 30 long
  19620. filenames.
  19621. * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
  19622. fs/minix.c.
  19623. (grub_emu_SOURCES): Likewise.
  19624. (pkgdata_MODULES): Add ufs.mod and minix.mod.
  19625. (ufs_mod_SOURCES): New variable.
  19626. (ufs_mod_CFLAGS): Likewise.
  19627. (minix_mod_SOURCES): Likewise.
  19628. (minix_mod_CFLAGS): Likewise.
  19629. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
  19630. fs/minix.c.
  19631. (grubof_SOURCES): Likewise.
  19632. * fs/ufs.c: New file.
  19633. * fs/minix.c: New file.
  19634. * include/grub/fs.h (grub_ufs_init): New prototype.
  19635. (grub_ufs_fini): Likewise.
  19636. (grub_minix_init): Likewise.
  19637. (grub_minix_fini): Likewise.
  19638. * util/grub-emu.c (main): Initialize and deinitialize UFS and
  19639. minix fs.
  19640. 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
  19641. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
  19642. commands/ls.c, commands/terminal.c, commands/boot.c,
  19643. commands/cmp.c and commands/cat.c.
  19644. (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
  19645. * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
  19646. "env.h"
  19647. 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
  19648. All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
  19649. and grub_, respectively. Because the conversion is trivial and
  19650. mechanical, I omit the details here. Please refer to the CVS
  19651. if you need more information.
  19652. 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
  19653. * include/pupa: Renamed to ...
  19654. * include/grub: ... this.
  19655. * util/i386/pc/pupa-mkimage.c: Renamed to ...
  19656. * util/i386/pc/grub-mkimage.c: ... this.
  19657. * util/i386/pc/pupa-setup.c: Renamed to ...
  19658. * util/i386/pc/grub-setup.c: ... this.
  19659. * util/pupa-emu.c: Renamed to ...
  19660. * util/grub-emu.c: ... this.
  19661. 2004-03-29 Marco Gerards <metgerards@student.han.nl>
  19662. Add support for the newworld apple macintosh (PPC). This has been
  19663. tested on the powerbook 2000 only. It only adds support for
  19664. generic ieee1275 functions, console and disk support. This should
  19665. be easy to port to other architectures with support for Open
  19666. Firmware.
  19667. * configure.ac: Accept the powerpc as host_cpu. In the case of
  19668. the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
  19669. specific tests are only executed while building for the i386.
  19670. Inverse test for crosscompile.
  19671. * genmk.rb (Utility): Allow assembler files.
  19672. * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
  19673. * conf/powerpc-ieee1275.rmk: New file.
  19674. * disk/powerpc/ieee1275/ofdisk.c: Likewise.
  19675. * disk/powerpc/ieee1275/partition.c: Likewise.
  19676. * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
  19677. * include/pupa/powerpc/ieee1275/console.h: Likewise.
  19678. * include/pupa/powerpc/ieee1275/partition.h: Likewise.
  19679. * include/pupa/powerpc/ieee1275/time.h: Likewise.
  19680. * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
  19681. * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
  19682. * include/pupa/powerpc/ieee1275/loader.h
  19683. * include/pupa/powerpc/setjmp.h: Likewise.
  19684. * include/pupa/powerpc/types.h: Likewise.
  19685. * kern/powerpc/ieee1275/init.c: Likewise.
  19686. * kern/powerpc/ieee1275/openfw.c: Likewise.
  19687. * term/powerpc/ieee1275/ofconsole.c: Likewise.
  19688. These files were written by Johan Rydberg
  19689. (jrydberg@night.trouble.net) and I only modified them slightly.
  19690. * boot/powerpc/ieee1275/cmain.c: New file.
  19691. * boot/powerpc/ieee1275/crt0.S: Likewise.
  19692. * boot/powerpc/ieee1275/ieee1275.c: Likewise.
  19693. * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
  19694. 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
  19695. * Makefile.in: Update copyright.
  19696. * genmodsrc.sh: Likewise.
  19697. * gensymlist.sh: Likewise.
  19698. * term/i386/pc/vga.c: Indent correctly.
  19699. * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
  19700. bugreporting address.
  19701. * util/i386/pc/pupa-setup.c (usage): Likewise,
  19702. (main): Call pupa_ext2_init and pupa_ext2_fini.
  19703. * fs/fat.c (log2): Renamed to ...
  19704. (fat_log2): ... this.
  19705. All callers changed.
  19706. * kern/misc.c (memcpy): Alias to pupa_memmove.
  19707. * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
  19708. lvalue cast.
  19709. * util/console.c (pupa_ncurses_fini): Return 0.
  19710. * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
  19711. Move fail label here.
  19712. [__GNU__]: Don't warn when using stat.
  19713. (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
  19714. (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
  19715. long int. Use strtol instead of strtoul.
  19716. 2004-03-14 Marco Gerards <metgerards@student.han.nl>
  19717. * commands/boot.c: New file.
  19718. * commands/cat.c: Likewise.
  19719. * commands/cmp.c: Likewise.
  19720. * commands/ls.c: Likewise.
  19721. * commands/terminal.c: Likewise.
  19722. * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
  19723. (pupa_register_command): Changed interface to match the new
  19724. argument parser.
  19725. (pupa_command_execute): Changed (almost rewritten) so it uses
  19726. pupa_split_command. Added support for setting variables using the
  19727. syntax `foo=bar'.
  19728. (rescue_command): Changed to work with the new argument parser.
  19729. (terminal_command): Moved from here to commands/terminal.c.
  19730. (set_command): New function.
  19731. (unset_command): New function.
  19732. (insmod_command): New function.
  19733. (rmmod_command): New function.
  19734. (lsmod_command): New function.
  19735. (pupa_command_init): Don't initialize the command terminal
  19736. anymore. Initialize the commands set, unset, insmod, rmmod and
  19737. lsmod.
  19738. * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
  19739. (kernel_img_HEADERS): Add arg.h and env.h.
  19740. (pupa_mkimage_LDFLAGS): Add kern/env.c.
  19741. (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
  19742. commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
  19743. normal/arg.c.
  19744. (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
  19745. terminal.mod.
  19746. (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
  19747. (boot_mod_SOURCES): New variable.
  19748. (terminal_mod_SOURCES): Likewise.
  19749. (ls_mod_SOURCES): Likewise.
  19750. (cmp_mod_SOURCES): Likewise.
  19751. (cat_mod_SOURCES): Likewise.
  19752. * normal/arg.c: New file.
  19753. * kern/env.c: Likewise.
  19754. * include/pupa/arg.h: Likewise.
  19755. * include/pupa/env.h: Likewise.
  19756. * font/manager.c (font_command): Changed to match argument parsing
  19757. interface changes.
  19758. (PUPA_MOD_INIT): Likewise.
  19759. * hello/hello.c (pupa_cmd_hello): Likewise.
  19760. (PUPA_MOD_INIT): Likewise.
  19761. * include/pupa/disk.h: Include <pupa/device.h>.
  19762. (pupa_print_partinfo): New prototype.
  19763. * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
  19764. (pupa_dl_get_prefix): Likewise.
  19765. * include/pupa/misc.h: Include <pupa/err.h>.
  19766. (pupa_isgraph): New prototype.
  19767. (pupa_isdigit): Likewise.
  19768. (pupa_split_cmdline): Likewise.
  19769. * include/pupa/normal.h: Include <pupa/arg.h>.
  19770. (pupa_command): Changed the prototype of the member `func' to
  19771. match the argument parsing interface. Added member `options'.
  19772. (pupa_register_command): Updated to match function.
  19773. (pupa_arg_parse): New prototype.
  19774. (pupa_hello_init) [PUPA_UTIL]: New prototype.
  19775. (pupa_hello_fini) [PUPA_UTIL]: Likewise.
  19776. (pupa_ls_init) [PUPA_UTIL]: Likewise.
  19777. (pupa_ls_fini) [PUPA_UTIL]: Likewise.
  19778. (pupa_cat_init) [PUPA_UTIL]: Likewise.
  19779. (pupa_cat_fini) [PUPA_UTIL]: Likewise.
  19780. (pupa_boot_init) [PUPA_UTIL]: Likewise.
  19781. (pupa_boot_fini) [PUPA_UTIL]: Likewise.
  19782. (pupa_cmp_init) [PUPA_UTIL]: Likewise.
  19783. (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
  19784. (pupa_terminal_init) [PUPA_UTIL]: Likewise.
  19785. (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
  19786. * kern/disk.c: Include <pupa/file.h>.
  19787. (pupa_print_partinfo): New function.
  19788. * kern/dl.c: Include <pupa/env.h>.
  19789. (pupa_dl_dir): Variable removed.
  19790. (pupa_dl_load): Use the environment variable `prefix' instead of
  19791. the variable pupa_dl_dir.
  19792. (pupa_dl_set_prefix): Function removed.
  19793. (pupa_dl_get_prefix): Likewise.
  19794. * kern/i386/pc/init.c: Include <pupa/env.h>.
  19795. (pupa_machine_init): Use the environment variable `prefix' instead of
  19796. using pupa_dl_set_prefix to set the prefix.
  19797. * kern/main.c: Include <pupa/env.h>.
  19798. (pupa_set_root_dev): Use the environment variable `prefix' instead of
  19799. using pupa_dl_get_prefix to get the prefix.
  19800. * kern/misc.c: Include <pupa/env.h>.
  19801. (pupa_isdigit): New function.
  19802. (pupa_isgraph): Likewise.
  19803. (pupa_ftoa): Likewise.
  19804. (pupa_vsprintf): Added support for printing values of the type
  19805. `double'. Make it possible to format variable output when using
  19806. formatting like `%1.2%f'.
  19807. (pupa_split_cmdline): New function.
  19808. * kern/rescue.c: Include <pupa/env.h>.
  19809. (next_word): Removed function.
  19810. (pupa_rescue_cmd_prefix): Likewise.
  19811. (pupa_rescue_cmd_set): New function.
  19812. (pupa_rescue_cmd_unset): New function.
  19813. (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
  19814. split the command line instead of splitting it here. Added
  19815. support for setting variables using the syntax `foo=bar'. Don't
  19816. initialize the prefix command anymore. Initialized the set and
  19817. unset commands.
  19818. * normal/cmdline.c: Include <pupa/env.h>.
  19819. (pupa_tab_complete): Added prototypes for print_simple_completion,
  19820. print_partition_completion, add_completion, iterate_commands,
  19821. iterate_dev, iterate_part and iterate_dir. Moved code to print
  19822. partition information from here to kern/disk.c.
  19823. (pupa_cmdline_run): Don't check if the function exists anymore.
  19824. * normal/main.c: Include <pupa/env.h>.
  19825. (pupa_rescue_cmd_normal): Use the environment variable `prefix'
  19826. instead of using pupa_dl_get_prefix to get the prefix.
  19827. * term/i386/pc/vga.c: Include <pupa/arg.h>.
  19828. (check_vga_mem): Cast pointers to `void *' to silence a gcc
  19829. warning.
  19830. (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
  19831. (pupa_vga_setcolor): Declare unused variables with `__attribute__
  19832. ((unused))' to silence a gcc warning.
  19833. (pupa_vga_setcolor): Likewise.
  19834. (debug_command): Changed to match argument parsing
  19835. interface changes.
  19836. * util/pupa-emu.c: Include <pupa/env.h>.
  19837. (options): Added 0's for unused fields to silence a gcc warning.
  19838. (argp): Likewise.
  19839. (main): Use the environment variable `prefix' instead of using
  19840. pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
  19841. boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
  19842. and terminal.
  19843. * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
  19844. * util/misc.c: Include <malloc.h>.
  19845. (pupa_malloc): Rewritten so errors are correctly reported.
  19846. (pupa_realloc): Likewise.
  19847. (pupa_memalign): Likewise.
  19848. (pupa_mm_init_region): Declare unused variables with
  19849. `__attribute__ ((unused))' to silence a gcc warning.
  19850. * normal/i386/setjmp.S: Remove tab at the end of the file to
  19851. silence a gcc warning.
  19852. * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
  19853. variables with `__attribute__ ((unused))' to silence a gcc
  19854. warning.
  19855. * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
  19856. local variable i unsigned to silence a gcc warning.
  19857. * kern/term.c: Include <pupa/misc.h>.
  19858. (pupa_more_lines): New variable.
  19859. (pupa_more): Likewise.
  19860. (pupa_putcode): When the pager is active pause at the end of every
  19861. screen.
  19862. (pupa_set_more): New function.
  19863. * include/pupa/term.h (pupa_set_more): New prototype.
  19864. 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
  19865. Now this project is GRUB 2 rather than PUPA. The location of
  19866. the CVS repository was moved to GRUB's.
  19867. * configure.ac: Use bug-grub as the reporting address.
  19868. Use GRUB instead of PUPA.
  19869. Change the version number to 1.90.
  19870. 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
  19871. * genkernsyms.sh: Updated copyright information.
  19872. * genmk.rb: Likewise.
  19873. * genmodsrc.sh: Likewise.
  19874. * gensymlist.sh: Likewise.
  19875. * boot/i386/pc/boot.S: Likewise.
  19876. * boot/i386/pc/diskboot.S: Likewise.
  19877. * disk/i386/pc/biosdisk.c: Likewise.
  19878. * disk/i386/pc/partition.c: Likewise.
  19879. * font/manager.c: Likewise.
  19880. * fs/ext2.c: Likewise.
  19881. * fs/fat.c: Likewise.
  19882. * include/pupa/boot.h: Likewise.
  19883. * include/pupa/device.h: Likewise.
  19884. * include/pupa/disk.h: Likewise.
  19885. * include/pupa/dl.h: Likewise.
  19886. * include/pupa/elf.h: Likewise.
  19887. * include/pupa/err.h: Likewise.
  19888. * include/pupa/file.h: Likewise.
  19889. * include/pupa/font.h: Likewise.
  19890. * include/pupa/fs.h: Likewise.
  19891. * include/pupa/kernel.h: Likewise.
  19892. * include/pupa/loader.h: Likewise.
  19893. * include/pupa/misc.h: Likewise.
  19894. * include/pupa/mm.h: Likewise.
  19895. * include/pupa/net.h: Likewise.
  19896. * include/pupa/normal.h: Likewise.
  19897. * include/pupa/rescue.h: Likewise.
  19898. * include/pupa/setjmp.h: Likewise.
  19899. * include/pupa/symbol.h: Likewise.
  19900. * include/pupa/term.h: Likewise.
  19901. * include/pupa/types.h: Likewise.
  19902. * include/pupa/i386/setjmp.h: Likewise.
  19903. * include/pupa/i386/types.h: Likewise.
  19904. * include/pupa/i386/pc/biosdisk.h: Likewise.
  19905. * include/pupa/i386/pc/boot.h: Likewise.
  19906. * include/pupa/i386/pc/console.h: Likewise.
  19907. * include/pupa/i386/pc/init.h: Likewise.
  19908. * include/pupa/i386/pc/kernel.h: Likewise.
  19909. * include/pupa/i386/pc/linux.h: Likewise.
  19910. * include/pupa/i386/pc/loader.h: Likewise.
  19911. * include/pupa/i386/pc/memory.h: Likewise.
  19912. * include/pupa/i386/pc/multiboot.h: Likewise.
  19913. * include/pupa/i386/pc/partition.h: Likewise.
  19914. * include/pupa/i386/pc/time.h: Likewise.
  19915. * include/pupa/i386/pc/vga.h: Likewise.
  19916. * include/pupa/i386/pc/util/biosdisk.h: Likewise.
  19917. * include/pupa/util/getroot.h: Likewise.
  19918. * include/pupa/util/misc.h: Likewise.
  19919. * include/pupa/util/resolve.h: Likewise.
  19920. * kern/device.c: Likewise.
  19921. * kern/disk.c: Likewise.
  19922. * kern/dl.c: Likewise.
  19923. * kern/err.c: Likewise.
  19924. * kern/file.c: Likewise.
  19925. * kern/fs.c: Likewise.
  19926. * kern/loader.c: Likewise.
  19927. * kern/main.c: Likewise.
  19928. * kern/misc.c: Likewise.
  19929. * kern/mm.c: Likewise.
  19930. * kern/rescue.c: Likewise.
  19931. * kern/term.c: Likewise.
  19932. * kern/i386/dl.c: Likewise.
  19933. * kern/i386/pc/init.c: Likewise.
  19934. * kern/i386/pc/lzo1x.S: Likewise.
  19935. * kern/i386/pc/startup.S: Likewise.
  19936. * loader/i386/pc/chainloader.c: Likewise.
  19937. * loader/i386/pc/linux.c: Likewise.
  19938. * loader/i386/pc/multiboot.c: Likewise.
  19939. * normal/cmdline.c: Likewise.
  19940. * normal/command.c: Likewise.
  19941. * normal/main.c: Likewise.
  19942. * normal/menu.c: Likewise.
  19943. * normal/i386/setjmp.S: Likewise.
  19944. * term/i386/pc/console.c: Likewise.
  19945. * term/i386/pc/vga.c: Likewise.
  19946. * util/console.c: Likewise.
  19947. * util/genmoddep.c: Likewise.
  19948. * util/misc.c: Likewise.
  19949. * util/pupa-emu.c: Likewise.
  19950. * util/resolve.c: Likewise.
  19951. * util/unifont2pff.rb: Likewise.
  19952. * util/i386/pc/biosdisk.c: Likewise.
  19953. * util/i386/pc/getroot.c: Likewise.
  19954. * util/i386/pc/pupa-mkimage.c: Likewise.
  19955. * util/i386/pc/pupa-setup.c: Likewise.
  19956. 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
  19957. * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
  19958. when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
  19959. callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
  19960. reading and reset it after reading.
  19961. (pupa_ext2_close): Return PUPA_ERR_NONE.
  19962. * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
  19963. Correct value.
  19964. (struct linux_kernel_header): Add kernel_version and
  19965. initrd_addr_max.
  19966. * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
  19967. pupa_file_read succeeds.
  19968. (pupa_rescue_cmd_initrd): Implement.
  19969. 2003-12-03 Marco Gerards <metgerards@student.han.nl>
  19970. * fs/ext2.c (pupa_ext2_label): New function.
  19971. (pupa_ext2_fs): Added label.
  19972. * fs/fat.c (pupa_fat_label): New function.
  19973. (pupa_fat_fs): Added label.
  19974. * include/pupa/fs.h (struct pupa_fs): Added prototype label.
  19975. * kern/misc.c (pupa_strndup): New function.
  19976. * include/pupa/misc.h (pupa_strndup): New prototype.
  19977. * include/pupa/normal.h: Include <pupa/err.h>.
  19978. (pupa_set_history): New prototype.
  19979. (pupa_iterate_commands): New prototype.
  19980. * normal/cmdline.c: Include <pupa/machine/partition.h>,
  19981. <pupa/disk.h>, <pupa/file.h>.
  19982. (hist_size): New variable.
  19983. (hist_lines): Likewise.
  19984. (hist_end): Likewise.
  19985. (hist_used): Likewise.
  19986. (pupa_set_history): New function.
  19987. (pupa_history_get): Likewise.
  19988. (pupa_history_add): Likewise.
  19989. (pupa_history_replace): Likewise.
  19990. (pupa_tab_complete): Likewise.
  19991. (pupa_cmdline_run): Added tab completion and history buffer. Tab
  19992. completion shows partitionnames while completing partitions, this
  19993. feature was suggested by Jeff Bailey.
  19994. * normal/command.c (pupa_iterate_commands): New function.
  19995. * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
  19996. (pupa_normal_init): Initialize history buffer.
  19997. (PUPA_MOD_INIT): Likewise.
  19998. (pupa_normal_fini): Free the history buffer.
  19999. (PUPA_MOD_FINI): Likewise.
  20000. * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
  20001. key.
  20002. * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
  20003. * configure.ac [i386]: Check for regparam bug.
  20004. (NESTED_FUNC_ATTR) [! i386]: Defined.
  20005. 2003-11-17 Marco Gerards <metgerards@student.han.nl>
  20006. * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
  20007. (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
  20008. (pupa_emu_SOURCES): New variable.
  20009. (pupa_emu_LDFLAGS): Likewise.
  20010. * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
  20011. (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
  20012. * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
  20013. (pupa_normal_fini) [PUPA_UTIL]: Likewise.
  20014. * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
  20015. (pupa_jmp_buf): New typedef.
  20016. (pupa_setjmp) [PUPA_UTIL]: New macro.
  20017. (pupa_longjmp) [PUPA_UTIL]: Likewise.
  20018. * include/pupa/term.h (struct pupa_term): New member `refresh'.
  20019. (pupa_refresh): New prototype.
  20020. * include/pupa/util/getroot.h: New file.
  20021. * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
  20022. it.
  20023. * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
  20024. (pupa_rescue_cmd_cat): Likewise.
  20025. (pupa_rescue_cmd_ls): Likewise.
  20026. (pupa_rescue_cmd_testload): Likewise.
  20027. (pupa_rescue_cmd_lsmod): Likewise.
  20028. * normal/cmdline.c (pupa_cmdline_get): Likewise.
  20029. * normal/menu.c (run_menu): Likewise.
  20030. * kern/term.c (pupa_cls): Likewise.
  20031. (pupa_refresh): New function.
  20032. * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
  20033. (pupa_normal_fini) [PUPA_UTIL]: Likewise.
  20034. * util/console.c: New file.
  20035. * util/i386/pc/getroot.c: New file.
  20036. * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
  20037. (pupa_putchar): New function.
  20038. (pupa_refresh): Likewise.
  20039. (xgetcwd): Function moved to ...
  20040. (strip_extra_slashes): Likewise.
  20041. (get_prefix): Likewise.
  20042. * util/i386/pc/getroot.c: ... here.
  20043. (find_root_device): Function moved and renamed to...
  20044. * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
  20045. Changed all callers.
  20046. * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
  20047. and renamed to...
  20048. * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
  20049. Changed all callers.
  20050. * util/misc.c (pupa_memalign): New function.
  20051. (pupa_mm_init_region): Likewise.
  20052. (pupa_register_exported_symbols): Likewise.
  20053. (pupa_putchar): Function removed.
  20054. * util/pupa-emu.c: New file.
  20055. 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
  20056. * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
  20057. (_multiboot_mod_SOURCES): New variable.
  20058. (_multiboot_mod_CFLAGS): Likewise.
  20059. * loader/i386/pc/multiboot.c: New file.
  20060. * include/pupa/i386/pc/multiboot.h: Likewise.
  20061. * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
  20062. (pupa_multiboot_real_boot): New function.
  20063. * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
  20064. (pupa_multiboot_real_boot): New prototype.
  20065. (pupa_rescue_cmd_multiboot): Likewise
  20066. (pupa_rescue_cmd_module): Likewise.
  20067. * kern/loader.c (pupa_loader_set): Continue when
  20068. pupa_loader_unload_func() fails.
  20069. (pupa_loader_unset): New function.
  20070. * include/pupa/loader.h (pupa_loader_unset): New prototype.
  20071. * kern/misc.c (pupa_stpcpy): New function.
  20072. * include/pupa/misc.h (pupa_stpcpy): New prototype.
  20073. 2003-11-12 Marco Gerards <metgerards@student.han.nl>
  20074. * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
  20075. for available extensions.
  20076. * include/pupa/i386/pc/time.h: New file.
  20077. * kern/disk.c: Include <pupa/machine/time.h>.
  20078. (PUPA_CACHE_TIMEOUT): New macro.
  20079. (pupa_last_time): New variable.
  20080. (pupa_disk_open): Flush the cache when there was a timeout.
  20081. (pupa_disk_close): Reset the timer.
  20082. * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
  20083. pupa_currticks.
  20084. * util/misc.c: Include <sys/times.h>
  20085. (pupa_get_rtc): New function.
  20086. 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
  20087. * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
  20088. as blocks.
  20089. (pupa_ext2_get_file_block): Use blocks member.
  20090. * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
  20091. first block. Return -1 instead of pupa_errno on error.
  20092. 2003-10-27 Marco Gerards <metgerards@student.han.nl>
  20093. * README: In the pupa-mkimage example use _chain instead of chain
  20094. and ext2 instead of fat.
  20095. * TODO: Replace ext2fs with jfs as an example. Add an item for
  20096. adding journal playback for ext2fs.
  20097. * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
  20098. (pkgdata_MODULES): Added ext2.mod.
  20099. (ext2_mod_SOURCES): New variable.
  20100. (ext2_mod_CFLAGS): Likewise.
  20101. * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
  20102. * include/pupa/misc.h (pupa_strncpy): New prototype.
  20103. (pupa_strcat): Likewise.
  20104. (pupa_strncmp): Likewise.
  20105. * kern/misc.c (pupa_strcat): Enable function.
  20106. (pupa_strncpy): New function.
  20107. (pupa_strncmp): Likewise.
  20108. * fs/ext2.c: New file.
  20109. * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
  20110. when the read failed before retrying.
  20111. * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
  20112. (_FILE_OFFSET_BITS): Likewise.
  20113. * configure.ac: Added AC_SYS_LARGEFILE.
  20114. 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
  20115. * genmk.rb (PModule#rule): Make sure to get only symbol names
  20116. from the output of nm.
  20117. Reported by Robert Millan <rmh.grub@aybabtu.com>.
  20118. 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
  20119. I forgot to check in these changes for a long time. This adds
  20120. incomplete support for VGA console, and this is still very
  20121. buggy. Also, a lot of consideration is required for I18N,
  20122. UNICODE, and VGA font issues. Therefore, assume that this is
  20123. such that "better than nothing".
  20124. * font/manager.c: New file.
  20125. * include/pupa/font.h: Likewise.
  20126. * include/pupa/i386/pc/vga.h: Likewise.
  20127. * term/i386/pc/vga.c: Likewise.
  20128. * util/unifont2pff.rb: Likewise.
  20129. * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
  20130. (pkgdata_MODULES): Added vga.mod and font.mod.
  20131. (vga_mod_SOURCES): New variables.
  20132. (vga_mod_CFLAGS): Likewise.
  20133. (font_mod_SOURCES): Likewise.
  20134. (font_mod_CFLAGS): Likewise.
  20135. * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
  20136. * include/pupa/term.h: Include pupa/err.h.
  20137. (struct pupa_term): Added init and fini.
  20138. Changed the argument of putchar to pupa_uint32_t.
  20139. * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
  20140. (pupa_console_real_putchar): New prototype.
  20141. (pupa_console_putchar): Removed.
  20142. (pupa_console_checkkey): Exported.
  20143. (pupa_console_getkey): Likewise.
  20144. * kern/misc.c (pupa_vsprintf): Add support for UNICODE
  20145. characters.
  20146. * kern/term.c (pupa_term_set_current): Rewritten.
  20147. (pupa_putchar): Likewise.
  20148. (pupa_putcode): New function.
  20149. * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
  20150. (pupa_console_real_putchar): ... this.
  20151. (pupa_vga_set_mode): New function.
  20152. (pupa_vga_get_font): Likewise.
  20153. * normal/command.c: Include pupa/term.h.
  20154. (terminal_command): New function.
  20155. (pupa_command_init): Register the command "terminal".
  20156. * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
  20157. (DISP_UP): Likewise.
  20158. (DISP_RIGHT): Likewise.
  20159. (DISP_DOWN): Likewise.
  20160. (DISP_HLINE): Likewise.
  20161. (DISP_VLINE): Likewise.
  20162. (DISP_UL): Likewise.
  20163. (DISP_UR): Likewise.
  20164. (DISP_LL): Likewise.
  20165. (DISP_LR): Likewise.
  20166. * term/i386/pc/console.c (pupa_console_putchar): New function.
  20167. 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
  20168. * util/resolve.c (pupa_util_resolve_dependencies): BUG
  20169. FIX. Reverse the path_list.
  20170. * include/pupa/normal.h: Export pupa_register_command and
  20171. pupa_unregister_command.
  20172. * hello/hello.c (pupa_cmd_hello): New module.
  20173. * conf/i386-pc.rmk: Added hello.mod.
  20174. 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
  20175. * kern/i386/pc/lzo1x.S: New file.
  20176. * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
  20177. (compress_kernel): New variable.
  20178. (generate_image): Heavily modified to support compressing a
  20179. large part of the core image.
  20180. * util/misc.c (pupa_util_read_image): Fix a file descriptor
  20181. leak.
  20182. (pupa_util_load_image): New function.
  20183. * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
  20184. (pupa_compressed_size): New variable.
  20185. (codestart): Enable Gate A20 here.
  20186. Decompress the compressed part of the core image.
  20187. Rearrange the code to put functions and variables which are
  20188. required for initialization in the non-compressed part.
  20189. Include lzo1x.S.
  20190. * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
  20191. here.
  20192. * include/pupa/util/misc.h (pupa_util_write_image): Declared.
  20193. * include/pupa/i386/pc/kernel.h
  20194. (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
  20195. (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
  20196. (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
  20197. (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
  20198. (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
  20199. * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
  20200. * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
  20201. (Utility#rule): Likewise.
  20202. * configure.ac: Check if LZO is available.
  20203. 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
  20204. * include/pupa/normal.h: New file.
  20205. * include/pupa/setjmp.h: Likewise.
  20206. * include/pupa/i386/setjmp.h: Likewise.
  20207. * normal/cmdline.c: Likewise.
  20208. * normal/command.c: Likewise.
  20209. * normal/main.c: Likewise.
  20210. * normal/menu.c: Likewise.
  20211. * normal/i386/setjmp.S: Likewise.
  20212. * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
  20213. (pupa_rescue_cmd_initrd): Likewise.
  20214. * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
  20215. Likewise.
  20216. * kern/i386/pc/startup.S (translation_table): New variable.
  20217. (translate_keycode): New function.
  20218. (pupa_console_getkey): Call translate_keycode.
  20219. * kern/rescue.c (attempt_normal_mode): New function.
  20220. (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
  20221. it failed, print a message.
  20222. * kern/mm.c (pupa_real_malloc): Print more information when a
  20223. free magic is broken.
  20224. (pupa_free): If the first free header is not free actually, set
  20225. it to P.
  20226. * kern/main.c (pupa_load_normal_mode): Just load the module
  20227. "normal".
  20228. (pupa_main): Don't print the message
  20229. "Entering into rescue mode..." here.
  20230. * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
  20231. Declared.
  20232. (pupa_rescue_cmd_initrd): Likewise.
  20233. (pupa_rescue_cmd_initrd): Likewise.
  20234. * include/pupa/symbol.h (FUNCTION): Specify the type.
  20235. (VARIABLE): Likewise.
  20236. * include/pupa/err.h (pupa_err_t): Added
  20237. PUPA_ERR_UNKNOWN_COMMAND.
  20238. * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
  20239. (pupa_dl_get_prefix): Likewise.
  20240. * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
  20241. Added _chain.mod and _linux.mod instead of chain.mod and
  20242. linux.mod.
  20243. (chain_mod_SOURCES): Renamed to ...
  20244. (_chain_mod_SOURCES): ... this.
  20245. (chain_mod_CFLAGS): Renamed to ...
  20246. (_chain_mod_CFLAGS): ... this.
  20247. (linux_mod_SOURCES): Renamed to ...
  20248. (_linux_mod_SOURCES): ... this.
  20249. (linux_mod_CFLAGS): Renamed to ...
  20250. (_linux_mod_CFLAGS): ... this.
  20251. (normal_mod_SOURCES): New variable.
  20252. (normal_mod_CFLAGS): Likewise.
  20253. (normal_mod_ASFLAGS): Likewise.
  20254. 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
  20255. * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
  20256. possible.
  20257. * kern/dl.c (pupa_dl_ref): Refer depending modules
  20258. recursively.
  20259. (pupa_dl_unref): Unrefer depending modules recursively.
  20260. Don't call pupa_dl_unload implicitly, because PUPA can crash if
  20261. a module is unloaded before one depending on that module is
  20262. unloaded.
  20263. (pupa_dl_unload): Unload depending modules explicitly,
  20264. if possible.
  20265. 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
  20266. * include/pupa/i386/pc/linux.h: New file.
  20267. * loader/i386/pc/linux.c: Likewise.
  20268. * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
  20269. Removed.
  20270. (pupa_chainloader_unload): Return PUPA_ERR_NONE.
  20271. (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
  20272. of PUPA_CHAINLOADER_BOOT_SECTOR.
  20273. * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
  20274. (pupa_linux_prot_size): New variable.
  20275. (pupa_linux_tmp_addr): Likewise.
  20276. (pupa_linux_real_addr): Likewise.
  20277. (pupa_linux_boot_zimage): New function.
  20278. (pupa_linux_boot_bzimage): Likewise.
  20279. * kern/i386/pc/init.c (struct mem_region): New structure.
  20280. (MAX_REGIONS): New macro.
  20281. (mem_regions): New variable.
  20282. (num_regions): Likewise.
  20283. (pupa_os_area_addr): Likewise.
  20284. (pupa_os_area_size): Likewise.
  20285. (pupa_lower_mem): Likewise.
  20286. (pupa_upper_mem): Likewise.
  20287. (add_mem_region): New function.
  20288. (compact_mem_regions): Likewise.
  20289. (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
  20290. the size of the conventional memory and that of so-called upper
  20291. memory (before the first memory hole).
  20292. Instead of adding each found region to free memory, use
  20293. add_mem_region and add them after removing overlaps.
  20294. Also, add only 1/4 of the upper memory to free memory. The rest
  20295. is used for loading OS images. Maybe this is ad hoc, but this
  20296. makes it much easier to relocate OS images when booting.
  20297. * kern/rescue.c (pupa_rescue_cmd_module): Removed.
  20298. (pupa_enter_rescue_mode): Don't register initrd and module.
  20299. * kern/mm.c: Include pupa/dl.h.
  20300. * kern/main.c: Include pupa/file.h and pupa/device.h.
  20301. * kern/loader.c (pupa_loader_load_module_func): Removed.
  20302. (pupa_loader_load_module): Likewise.
  20303. * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
  20304. ``.o''.
  20305. * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
  20306. (pupa_linux_tmp_addr): Likewise.
  20307. (pupa_linux_real_addr): Likewise.
  20308. (pupa_linux_boot_zimage): Likewise.
  20309. (pupa_linux_boot_bzimage): Likewise.
  20310. * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
  20311. (pupa_upper_mem): Likewise.
  20312. (pupa_gate_a20): Don't export, because turning off Gate A20 in a
  20313. module is too dangerous.
  20314. * include/pupa/loader.h (pupa_os_area_addr): Declared.
  20315. (pupa_os_area_size): Likewise.
  20316. (pupa_loader_set): Remove the first argument. Loader doesn't
  20317. manage modules or initrd any longer.
  20318. (pupa_loader_load_module): Removed.
  20319. * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
  20320. (linux_mod_SOURCES): New variable.
  20321. (linux_mod_CFLAGS): Likewise.
  20322. 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
  20323. * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
  20324. the length of a blocklist correctly.
  20325. * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
  20326. Use ioctl only if the OS file is a block device.
  20327. (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
  20328. not very useful for normal files.
  20329. * kern/main.c (pupa_set_root_dev): New function.
  20330. (pupa_load_normal_mode): Likewise.
  20331. (pupa_main): Call those above.
  20332. * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
  20333. pupa_uint16_t.
  20334. * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
  20335. 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
  20336. * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
  20337. (setup): Configure the installed partition information and the
  20338. dl prefix.
  20339. * loader/i386/pc/chainloader.c (my_mod): New variable.
  20340. (pupa_chainloader_unload): New function.
  20341. (pupa_rescue_cmd_chainloader): Refer itself.
  20342. (PUPA_MOD_INIT): Save its own module in MY_MOD.
  20343. * kern/i386/pc/startup.S (install_partition): Removed.
  20344. (version_string): Likewise.
  20345. (config_file): Likewise.
  20346. (pupa_install_dos_part): New variable.
  20347. (pupa_install_bsd_part): Likewise.
  20348. (pupa_prefix): Likewise.
  20349. (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
  20350. * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
  20351. and pupa/misc.h.
  20352. (make_install_device): New function.
  20353. (pupa_machine_init): Set the dl prefix.
  20354. * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
  20355. (buf): Renamed to ...
  20356. (linebuf): ... this.
  20357. (pupa_rescue_cmd_prefix): New function.
  20358. (pupa_rescue_cmd_insmod): Likewise.
  20359. (pupa_rescue_cmd_rmmod): Likewise.
  20360. (pupa_rescue_cmd_lsmod): Likewise.
  20361. (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
  20362. rmmod and lsmod.
  20363. * kern/mm.c (pupa_memalign): If failed even after invalidating
  20364. disk caches, unload unneeded modules and retry.
  20365. * kern/misc.c (pupa_memmove): New function.
  20366. (pupa_memcpy): Removed.
  20367. (pupa_strcpy): New function.
  20368. (pupa_itoa): Made static.
  20369. * kern/dl.c (pupa_dl_iterate): New function.
  20370. (pupa_dl_ref): Likewise.
  20371. (pupa_dl_unref): Likewise.
  20372. (pupa_dl_unload): Return if succeeded or not.
  20373. (pupa_dl_unload_unneeded): New function.
  20374. (pupa_dl_unload_all): Likewise.
  20375. (pupa_dl_init): Renamed to ...
  20376. (pupa_dl_set_prefix): ... this.
  20377. (pupa_dl_get_prefix): New function.
  20378. * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
  20379. (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
  20380. (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
  20381. (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
  20382. (pupa_install_dos_part): Declared.
  20383. (pupa_install_bsd_part): Likewise.
  20384. (pupa_prefix): Likewise.
  20385. (pupa_boot_drive): Likewise.
  20386. * include/pupa/types.h: Fix a typo.
  20387. * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
  20388. pupa_memmove.
  20389. (pupa_memmove): Declared.
  20390. (pupa_strcpy): Likewise.
  20391. * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
  20392. pupa_mod_init takes one argument, its own module.
  20393. (pupa_dl_unload_unneeded): Declared.
  20394. (pupa_dl_unload_all): Likewise.
  20395. (pupa_dl_ref): Likewise.
  20396. (pupa_dl_unref): Likewise.
  20397. (pupa_dl_iterate): Likewise.
  20398. (pupa_dl_init): Renamed to ...
  20399. (pupa_dl_set_prefix): ... this.
  20400. (pupa_dl_get_prefix): Declared.
  20401. * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
  20402. (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
  20403. unloaded.
  20404. (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
  20405. (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
  20406. * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
  20407. -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
  20408. 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
  20409. * util/i386/pc/pupa-setup.c (setup): Define the internal
  20410. function find_first_partition_start at the top level, because GCC
  20411. 3.0.x cannot compile internal functions in deeper scopes
  20412. correctly.
  20413. (find_root_device): Use lstat instead of stat.
  20414. Don't follow symbolic links.
  20415. Fix the path-constructing code.
  20416. * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
  20417. (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
  20418. by a BLKGETSIZE ioctl first, because block devices don't fill
  20419. the member st_mode of the structure stat on Linux.
  20420. [__linux__] (linux_find_partition): Use a temporary buffer
  20421. REAL_DEV for the working space. Copy it to DEV before returning.
  20422. (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
  20423. buffer cache consistent.
  20424. (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
  20425. strncmp. The previous value was merely wrong.
  20426. (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
  20427. * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
  20428. FAT size is 12. The previous value was merely wrong.
  20429. * kern/main.c (pupa_main): Don't split the starting message from
  20430. newlines.
  20431. * kern/term.c (pupa_putchar): Put CR after LF instead of before
  20432. LF, because BIOS goes crazy about character attributes in this
  20433. case.
  20434. 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
  20435. * include/i386/pc/util/biosdisk.h: New file.
  20436. * util/i386/pc/biosdisk.c: Likewise.
  20437. * util/i386/pc/pupa-setup.c: Likewise.
  20438. * Makefile.in (INCLUDE_DISTFILES): Added
  20439. include/pupa/i386/pc/util/biosdisk.h.
  20440. (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
  20441. directory util/i386/pc.
  20442. (install-local): Added a rule for sbin_UTILITIES.
  20443. (uninstall): Likewise.
  20444. * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
  20445. * util/misc.c (xrealloc): New function.
  20446. (pupa_malloc): Likewise.
  20447. (pupa_free): Likewise.
  20448. (pupa_realloc): Likewise.
  20449. (pupa_stop): Likewise.
  20450. (pupa_putchar): Likewise.
  20451. * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
  20452. * include/pupa/util/misc.h (xrealloc): Declared.
  20453. * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
  20454. macro.
  20455. (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
  20456. (PUPA_BOOT_MACHINE_BPB_END): ... this.
  20457. * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
  20458. [PUPA_UTIL] (pupa_fat_fini): Likewise.
  20459. * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
  20460. way should be implemented.
  20461. [PUPA_UTIL] (pupa_fat_fini): Likewise.
  20462. * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
  20463. the size of NAME for safety.
  20464. (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
  20465. 0x88.
  20466. * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
  20467. (pupa_setup_SOURCES): Likewise.
  20468. * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
  20469. 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
  20470. * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
  20471. bunch of pushl's from pusha, because this destroys the return
  20472. value.
  20473. 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
  20474. Use -mrtd and -mregparm=3 to reduce the generated code sizes.
  20475. This means that any missing prototypes could be fatal. Also, you
  20476. must take care when writing assembly code. See the comments at
  20477. the beginning of startup.S, for more details.
  20478. * kern/i386/pc/startup.S (pupa_halt): Modified for the new
  20479. compilation mechanism.
  20480. (pupa_chainloader_real_boot): Likewise.
  20481. (pupa_biosdisk_rw_int13_extensions): Likewise.
  20482. (pupa_biosdisk_rw_standard): Likewise.
  20483. (pupa_biosdisk_check_int13_extensions): Likewise.
  20484. (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
  20485. (pupa_biosdisk_get_diskinfo_standard): Likewise.
  20486. (pupa_get_memsize): Likewise.
  20487. (pupa_get_mmap_entry): Likewise.
  20488. (pupa_console_putchar): Likewise.
  20489. (pupa_console_setcursor): Likewise.
  20490. (pupa_getrtsecs): Use pushl instead of push.
  20491. * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
  20492. memory instead of the stack for a mmap entry, because some
  20493. BIOSes may ignore the maximum size and overflow.
  20494. * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
  20495. * genmk.rb (PModule#rule): Compile automatically generated
  20496. sources with module-specific CFLAGS as well as other sources.
  20497. 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
  20498. * configure.ac: Check ld.
  20499. Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
  20500. respectively, before checking endianness and sizes.
  20501. * Makefile.in (LD): New variable.
  20502. 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
  20503. * Makefile.in (BUILD_CC): CC -> BUILD_CC.
  20504. 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
  20505. * Changelog: New file.