1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169 |
- acpi= [HW,ACPI,X86,ARM64]
- Advanced Configuration and Power Interface
- Format: { force | on | off | strict | noirq | rsdt |
- copy_dsdt }
- force -- enable ACPI if default was off
- on -- enable ACPI but allow fallback to DT [arm64]
- off -- disable ACPI if default was on
- noirq -- do not use ACPI for IRQ routing
- strict -- Be less tolerant of platforms that are not
- strictly ACPI specification compliant.
- rsdt -- prefer RSDT over (default) XSDT
- copy_dsdt -- copy DSDT to memory
- For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force"
- are available
- See also Documentation/power/runtime_pm.rst, pci=noacpi
- acpi_apic_instance= [ACPI, IOAPIC]
- Format: <int>
- 2: use 2nd APIC table, if available
- 1,0: use 1st APIC table
- default: 0
- acpi_backlight= [HW,ACPI]
- { vendor | video | native | none }
- If set to vendor, prefer vendor-specific driver
- (e.g. thinkpad_acpi, sony_acpi, etc.) instead
- of the ACPI video.ko driver.
- If set to video, use the ACPI video.ko driver.
- If set to native, use the device's native backlight mode.
- If set to none, disable the ACPI backlight interface.
- acpi_force_32bit_fadt_addr
- force FADT to use 32 bit addresses rather than the
- 64 bit X_* addresses. Some firmware have broken 64
- bit addresses for force ACPI ignore these and use
- the older legacy 32 bit addresses.
- acpica_no_return_repair [HW, ACPI]
- Disable AML predefined validation mechanism
- This mechanism can repair the evaluation result to make
- the return objects more ACPI specification compliant.
- This option is useful for developers to identify the
- root cause of an AML interpreter issue when the issue
- has something to do with the repair mechanism.
- acpi.debug_layer= [HW,ACPI,ACPI_DEBUG]
- acpi.debug_level= [HW,ACPI,ACPI_DEBUG]
- Format: <int>
- CONFIG_ACPI_DEBUG must be enabled to produce any ACPI
- debug output. Bits in debug_layer correspond to a
- _COMPONENT in an ACPI source file, e.g.,
- #define _COMPONENT ACPI_PCI_COMPONENT
- Bits in debug_level correspond to a level in
- ACPI_DEBUG_PRINT statements, e.g.,
- ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
- The debug_level mask defaults to "info". See
- Documentation/firmware-guide/acpi/debug.rst for more information about
- debug layers and levels.
- Enable processor driver info messages:
- acpi.debug_layer=0x20000000
- Enable PCI/PCI interrupt routing info messages:
- acpi.debug_layer=0x400000
- Enable AML "Debug" output, i.e., stores to the Debug
- object while interpreting AML:
- acpi.debug_layer=0xffffffff acpi.debug_level=0x2
- Enable all messages related to ACPI hardware:
- acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
- Some values produce so much output that the system is
- unusable. The "log_buf_len" parameter may be useful
- if you need to capture more output.
- acpi_enforce_resources= [ACPI]
- { strict | lax | no }
- Check for resource conflicts between native drivers
- and ACPI OperationRegions (SystemIO and SystemMemory
- only). IO ports and memory declared in ACPI might be
- used by the ACPI subsystem in arbitrary AML code and
- can interfere with legacy drivers.
- strict (default): access to resources claimed by ACPI
- is denied; legacy drivers trying to access reserved
- resources will fail to bind to device using them.
- lax: access to resources claimed by ACPI is allowed;
- legacy drivers trying to access reserved resources
- will bind successfully but a warning message is logged.
- no: ACPI OperationRegions are not marked as reserved,
- no further checks are performed.
- acpi_force_table_verification [HW,ACPI]
- Enable table checksum verification during early stage.
- By default, this is disabled due to x86 early mapping
- size limitation.
- acpi_irq_balance [HW,ACPI]
- ACPI will balance active IRQs
- default in APIC mode
- acpi_irq_nobalance [HW,ACPI]
- ACPI will not move active IRQs (default)
- default in PIC mode
- acpi_irq_isa= [HW,ACPI] If irq_balance, mark listed IRQs used by ISA
- Format: <irq>,<irq>...
- acpi_irq_pci= [HW,ACPI] If irq_balance, clear listed IRQs for
- use by PCI
- Format: <irq>,<irq>...
- acpi_mask_gpe= [HW,ACPI]
- Due to the existence of _Lxx/_Exx, some GPEs triggered
- by unsupported hardware/firmware features can result in
- GPE floodings that cannot be automatically disabled by
- the GPE dispatcher.
- This facility can be used to prevent such uncontrolled
- GPE floodings.
- Format: <byte>
- acpi_no_auto_serialize [HW,ACPI]
- Disable auto-serialization of AML methods
- AML control methods that contain the opcodes to create
- named objects will be marked as "Serialized" by the
- auto-serialization feature.
- This feature is enabled by default.
- This option allows to turn off the feature.
- acpi_no_memhotplug [ACPI] Disable memory hotplug. Useful for kdump
- kernels.
- acpi_no_static_ssdt [HW,ACPI]
- Disable installation of static SSDTs at early boot time
- By default, SSDTs contained in the RSDT/XSDT will be
- installed automatically and they will appear under
- /sys/firmware/acpi/tables.
- This option turns off this feature.
- Note that specifying this option does not affect
- dynamic table installation which will install SSDT
- tables to /sys/firmware/acpi/tables/dynamic.
- acpi_no_watchdog [HW,ACPI,WDT]
- Ignore the ACPI-based watchdog interface (WDAT) and let
- a native driver control the watchdog device instead.
- acpi_rsdp= [ACPI,EFI,KEXEC]
- Pass the RSDP address to the kernel, mostly used
- on machines running EFI runtime service to boot the
- second kernel for kdump.
- acpi_os_name= [HW,ACPI] Tell ACPI BIOS the name of the OS
- Format: To spoof as Windows 98: ="Microsoft Windows"
- acpi_rev_override [ACPI] Override the _REV object to return 5 (instead
- of 2 which is mandated by ACPI 6) as the supported ACPI
- specification revision (when using this switch, it may
- be necessary to carry out a cold reboot _twice_ in a
- row to make it take effect on the platform firmware).
- acpi_osi= [HW,ACPI] Modify list of supported OS interface strings
- acpi_osi="string1" # add string1
- acpi_osi="!string2" # remove string2
- acpi_osi=!* # remove all strings
- acpi_osi=! # disable all built-in OS vendor
- strings
- acpi_osi=!! # enable all built-in OS vendor
- strings
- acpi_osi= # disable all strings
- 'acpi_osi=!' can be used in combination with single or
- multiple 'acpi_osi="string1"' to support specific OS
- vendor string(s). Note that such command can only
- affect the default state of the OS vendor strings, thus
- it cannot affect the default state of the feature group
- strings and the current state of the OS vendor strings,
- specifying it multiple times through kernel command line
- is meaningless. This command is useful when one do not
- care about the state of the feature group strings which
- should be controlled by the OSPM.
- Examples:
- 1. 'acpi_osi=! acpi_osi="Windows 2000"' is equivalent
- to 'acpi_osi="Windows 2000" acpi_osi=!', they all
- can make '_OSI("Windows 2000")' TRUE.
- 'acpi_osi=' cannot be used in combination with other
- 'acpi_osi=' command lines, the _OSI method will not
- exist in the ACPI namespace. NOTE that such command can
- only affect the _OSI support state, thus specifying it
- multiple times through kernel command line is also
- meaningless.
- Examples:
- 1. 'acpi_osi=' can make 'CondRefOf(_OSI, Local1)'
- FALSE.
- 'acpi_osi=!*' can be used in combination with single or
- multiple 'acpi_osi="string1"' to support specific
- string(s). Note that such command can affect the
- current state of both the OS vendor strings and the
- feature group strings, thus specifying it multiple times
- through kernel command line is meaningful. But it may
- still not able to affect the final state of a string if
- there are quirks related to this string. This command
- is useful when one want to control the state of the
- feature group strings to debug BIOS issues related to
- the OSPM features.
- Examples:
- 1. 'acpi_osi="Module Device" acpi_osi=!*' can make
- '_OSI("Module Device")' FALSE.
- 2. 'acpi_osi=!* acpi_osi="Module Device"' can make
- '_OSI("Module Device")' TRUE.
- 3. 'acpi_osi=! acpi_osi=!* acpi_osi="Windows 2000"' is
- equivalent to
- 'acpi_osi=!* acpi_osi=! acpi_osi="Windows 2000"'
- and
- 'acpi_osi=!* acpi_osi="Windows 2000" acpi_osi=!',
- they all will make '_OSI("Windows 2000")' TRUE.
- acpi_pm_good [X86]
- Override the pmtimer bug detection: force the kernel
- to assume that this machine's pmtimer latches its value
- and always returns good values.
- acpi_sci= [HW,ACPI] ACPI System Control Interrupt trigger mode
- Format: { level | edge | high | low }
- acpi_skip_timer_override [HW,ACPI]
- Recognize and ignore IRQ0/pin2 Interrupt Override.
- For broken nForce2 BIOS resulting in XT-PIC timer.
- acpi_sleep= [HW,ACPI] Sleep options
- Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
- old_ordering, nonvs, sci_force_enable, nobl }
- See Documentation/power/video.rst for information on
- s3_bios and s3_mode.
- s3_beep is for debugging; it makes the PC's speaker beep
- as soon as the kernel's real-mode entry point is called.
- s4_nohwsig prevents ACPI hardware signature from being
- used during resume from hibernation.
- old_ordering causes the ACPI 1.0 ordering of the _PTS
- control method, with respect to putting devices into
- low power states, to be enforced (the ACPI 2.0 ordering
- of _PTS is used by default).
- nonvs prevents the kernel from saving/restoring the
- ACPI NVS memory during suspend/hibernation and resume.
- sci_force_enable causes the kernel to set SCI_EN directly
- on resume from S1/S3 (which is against the ACPI spec,
- but some broken systems don't work without it).
- nobl causes the internal blacklist of systems known to
- behave incorrectly in some ways with respect to system
- suspend and resume to be ignored (use wisely).
- acpi_use_timer_override [HW,ACPI]
- Use timer override. For some broken Nvidia NF5 boards
- that require a timer override, but don't have HPET
- add_efi_memmap [EFI; X86] Include EFI memory map in
- kernel's map of available physical RAM.
- agp= [AGP]
- { off | try_unsupported }
- off: disable AGP support
- try_unsupported: try to drive unsupported chipsets
- (may crash computer or cause data corruption)
- ALSA [HW,ALSA]
- See Documentation/sound/alsa-configuration.rst
- alignment= [KNL,ARM]
- Allow the default userspace alignment fault handler
- behaviour to be specified. Bit 0 enables warnings,
- bit 1 enables fixups, and bit 2 sends a segfault.
- align_va_addr= [X86-64]
- Align virtual addresses by clearing slice [14:12] when
- allocating a VMA at process creation time. This option
- gives you up to 3% performance improvement on AMD F15h
- machines (where it is enabled by default) for a
- CPU-intensive style benchmark, and it can vary highly in
- a microbenchmark depending on workload and compiler.
- 32: only for 32-bit processes
- 64: only for 64-bit processes
- on: enable for both 32- and 64-bit processes
- off: disable for both 32- and 64-bit processes
- alloc_snapshot [FTRACE]
- Allocate the ftrace snapshot buffer on boot up when the
- main buffer is allocated. This is handy if debugging
- and you need to use tracing_snapshot() on boot up, and
- do not want to use tracing_snapshot_alloc() as it needs
- to be done where GFP_KERNEL allocations are allowed.
- allow_file_spec_access
- Allow speculative faults on file backed pages.
- Speculative faults are enabled only for those vm_ops
- that implement and return true for allow_speculation
- callback.
- allow_mismatched_32bit_el0 [ARM64]
- Allow execve() of 32-bit applications and setting of the
- PER_LINUX32 personality on systems where only a strict
- subset of the CPUs support 32-bit EL0. When this
- parameter is present, the set of CPUs supporting 32-bit
- EL0 is indicated by /sys/devices/system/cpu/aarch32_el0
- and hot-unplug operations may be restricted.
- amd_iommu= [HW,X86-64]
- Pass parameters to the AMD IOMMU driver in the system.
- Possible values are:
- fullflush - enable flushing of IO/TLB entries when
- they are unmapped. Otherwise they are
- flushed before they will be reused, which
- is a lot of faster
- off - do not initialize any AMD IOMMU found in
- the system
- force_isolation - Force device isolation for all
- devices. The IOMMU driver is not
- allowed anymore to lift isolation
- requirements as needed. This option
- does not override iommu=pt
- amd_iommu_dump= [HW,X86-64]
- Enable AMD IOMMU driver option to dump the ACPI table
- for AMD IOMMU. With this option enabled, AMD IOMMU
- driver will print ACPI tables for AMD IOMMU during
- IOMMU initialization.
- amd_iommu_intr= [HW,X86-64]
- Specifies one of the following AMD IOMMU interrupt
- remapping modes:
- legacy - Use legacy interrupt remapping mode.
- vapic - Use virtual APIC mode, which allows IOMMU
- to inject interrupts directly into guest.
- This mode requires kvm-amd.avic=1.
- (Default when IOMMU HW support is present.)
- amijoy.map= [HW,JOY] Amiga joystick support
- Map of devices attached to JOY0DAT and JOY1DAT
- Format: <a>,<b>
- See also Documentation/input/joydev/joystick.rst
- analog.map= [HW,JOY] Analog joystick and gamepad support
- Specifies type or capabilities of an analog joystick
- connected to one of 16 gameports
- Format: <type1>,<type2>,..<type16>
- apc= [HW,SPARC]
- Power management functions (SPARCstation-4/5 + deriv.)
- Format: noidle
- Disable APC CPU standby support. SPARCstation-Fox does
- not play well with APC CPU idle - disable it if you have
- APC and your system crashes randomly.
- apic= [APIC,X86] Advanced Programmable Interrupt Controller
- Change the output verbosity while booting
- Format: { quiet (default) | verbose | debug }
- Change the amount of debugging information output
- when initialising the APIC and IO-APIC components.
- For X86-32, this can also be used to specify an APIC
- driver name.
- Format: apic=driver_name
- Examples: apic=bigsmp
- apic_extnmi= [APIC,X86] External NMI delivery setting
- Format: { bsp (default) | all | none }
- bsp: External NMI is delivered only to CPU 0
- all: External NMIs are broadcast to all CPUs as a
- backup of CPU 0
- none: External NMI is masked for all CPUs. This is
- useful so that a dump capture kernel won't be
- shot down by NMI
- autoconf= [IPV6]
- See Documentation/networking/ipv6.rst.
- show_lapic= [APIC,X86] Advanced Programmable Interrupt Controller
- Limit apic dumping. The parameter defines the maximal
- number of local apics being dumped. Also it is possible
- to set it to "all" by meaning -- no limit here.
- Format: { 1 (default) | 2 | ... | all }.
- The parameter valid if only apic=debug or
- apic=verbose is specified.
- Example: apic=debug show_lapic=all
- apm= [APM] Advanced Power Management
- See header of arch/x86/kernel/apm_32.c.
- arcrimi= [HW,NET] ARCnet - "RIM I" (entirely mem-mapped) cards
- Format: <io>,<irq>,<nodeID>
- arm64.nobti [ARM64] Unconditionally disable Branch Target
- Identification support
- arm64.nopauth [ARM64] Unconditionally disable Pointer Authentication
- support
- arm64.nomte [ARM64] Unconditionally disable Memory Tagging Extension
- support
- ataflop= [HW,M68k]
- atarimouse= [HW,MOUSE] Atari Mouse
- atkbd.extra= [HW] Enable extra LEDs and keys on IBM RapidAccess,
- EzKey and similar keyboards
- atkbd.reset= [HW] Reset keyboard during initialization
- atkbd.set= [HW] Select keyboard code set
- Format: <int> (2 = AT (default), 3 = PS/2)
- atkbd.scroll= [HW] Enable scroll wheel on MS Office and similar
- keyboards
- atkbd.softraw= [HW] Choose between synthetic and real raw mode
- Format: <bool> (0 = real, 1 = synthetic (default))
- atkbd.softrepeat= [HW]
- Use software keyboard repeat
- audit= [KNL] Enable the audit sub-system
- Format: { "0" | "1" | "off" | "on" }
- 0 | off - kernel audit is disabled and can not be
- enabled until the next reboot
- unset - kernel audit is initialized but disabled and
- will be fully enabled by the userspace auditd.
- 1 | on - kernel audit is initialized and partially
- enabled, storing at most audit_backlog_limit
- messages in RAM until it is fully enabled by the
- userspace auditd.
- Default: unset
- audit_backlog_limit= [KNL] Set the audit queue size limit.
- Format: <int> (must be >=0)
- Default: 64
- bau= [X86_UV] Enable the BAU on SGI UV. The default
- behavior is to disable the BAU (i.e. bau=0).
- Format: { "0" | "1" }
- 0 - Disable the BAU.
- 1 - Enable the BAU.
- unset - Disable the BAU.
- baycom_epp= [HW,AX25]
- Format: <io>,<mode>
- baycom_par= [HW,AX25] BayCom Parallel Port AX.25 Modem
- Format: <io>,<mode>
- See header of drivers/net/hamradio/baycom_par.c.
- baycom_ser_fdx= [HW,AX25]
- BayCom Serial Port AX.25 Modem (Full Duplex Mode)
- Format: <io>,<irq>,<mode>[,<baud>]
- See header of drivers/net/hamradio/baycom_ser_fdx.c.
- baycom_ser_hdx= [HW,AX25]
- BayCom Serial Port AX.25 Modem (Half Duplex Mode)
- Format: <io>,<irq>,<mode>
- See header of drivers/net/hamradio/baycom_ser_hdx.c.
- blkdevparts= Manual partition parsing of block device(s) for
- embedded devices based on command line input.
- See Documentation/block/cmdline-partition.rst
- boot_delay= Milliseconds to delay each printk during boot.
- Values larger than 10 seconds (10000) are changed to
- no delay (0).
- Format: integer
- bootconfig [KNL]
- Extended command line options can be added to an initrd
- and this will cause the kernel to look for it.
- See Documentation/admin-guide/bootconfig.rst
- bert_disable [ACPI]
- Disable BERT OS support on buggy BIOSes.
- bgrt_disable [ACPI][X86]
- Disable BGRT to avoid flickering OEM logo.
- bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards)
- bttv.radio= Most important insmod options are available as
- kernel args too.
- bttv.pll= See Documentation/admin-guide/media/bttv.rst
- bttv.tuner=
- bulk_remove=off [PPC] This parameter disables the use of the pSeries
- firmware feature for flushing multiple hpte entries
- at a time.
- c101= [NET] Moxa C101 synchronous serial card
- cachesize= [BUGS=X86-32] Override level 2 CPU cache size detection.
- Sometimes CPU hardware bugs make them report the cache
- size incorrectly. The kernel will attempt work arounds
- to fix known problems, but for some CPUs it is not
- possible to determine what the correct size should be.
- This option provides an override for these situations.
- carrier_timeout=
- [NET] Specifies amount of time (in seconds) that
- the kernel should wait for a network carrier. By default
- it waits 120 seconds.
- ca_keys= [KEYS] This parameter identifies a specific key(s) on
- the system trusted keyring to be used for certificate
- trust validation.
- format: { id:<keyid> | builtin }
- cca= [MIPS] Override the kernel pages' cache coherency
- algorithm. Accepted values range from 0 to 7
- inclusive. See arch/mips/include/asm/pgtable-bits.h
- for platform specific values (SB1, Loongson3 and
- others).
- ccw_timeout_log [S390]
- See Documentation/s390/common_io.rst for details.
- cgroup_disable= [KNL] Disable a particular controller or optional feature
- Format: {name of the controller(s) or feature(s) to disable}
- The effects of cgroup_disable=foo are:
- - foo isn't auto-mounted if you mount all cgroups in
- a single hierarchy
- - foo isn't visible as an individually mountable
- subsystem
- - if foo is an optional feature then the feature is
- disabled and corresponding cgroup files are not
- created
- {Currently only "memory" controller deal with this and
- cut the overhead, others just disable the usage. So
- only cgroup_disable=memory is actually worthy}
- Specifying "pressure" disables per-cgroup pressure
- stall information accounting feature
- cgroup_no_v1= [KNL] Disable cgroup controllers and named hierarchies in v1
- Format: { { controller | "all" | "named" }
- [,{ controller | "all" | "named" }...] }
- Like cgroup_disable, but only applies to cgroup v1;
- the blacklisted controllers remain available in cgroup2.
- "all" blacklists all controllers and "named" disables
- named mounts. Specifying both "all" and "named" disables
- all v1 hierarchies.
- cgroup.memory= [KNL] Pass options to the cgroup memory controller.
- Format: <string>
- nosocket -- Disable socket memory accounting.
- nokmem -- Disable kernel memory accounting.
- checkreqprot [SELINUX] Set initial checkreqprot flag value.
- Format: { "0" | "1" }
- See security/selinux/Kconfig help text.
- 0 -- check protection applied by kernel (includes
- any implied execute protection).
- 1 -- check protection requested by application.
- Default value is set via a kernel config option.
- Value can be changed at runtime via
- /sys/fs/selinux/checkreqprot.
- Setting checkreqprot to 1 is deprecated.
- cio_ignore= [S390]
- See Documentation/s390/common_io.rst for details.
- clk_ignore_unused
- [CLK]
- Prevents the clock framework from automatically gating
- clocks that have not been explicitly enabled by a Linux
- device driver but are enabled in hardware at reset or
- by the bootloader/firmware. Note that this does not
- force such clocks to be always-on nor does it reserve
- those clocks in any way. This parameter is useful for
- debug and development, but should not be needed on a
- platform with proper driver support. For more
- information, see Documentation/driver-api/clk.rst.
- clock= [BUGS=X86-32, HW] gettimeofday clocksource override.
- [Deprecated]
- Forces specified clocksource (if available) to be used
- when calculating gettimeofday(). If specified
- clocksource is not available, it defaults to PIT.
- Format: { pit | tsc | cyclone | pmtmr }
- clocksource= Override the default clocksource
- Format: <string>
- Override the default clocksource and use the clocksource
- with the name specified.
- Some clocksource names to choose from, depending on
- the platform:
- [all] jiffies (this is the base, fallback clocksource)
- [ACPI] acpi_pm
- [ARM] imx_timer1,OSTS,netx_timer,mpu_timer2,
- pxa_timer,timer3,32k_counter,timer0_1
- [X86-32] pit,hpet,tsc;
- scx200_hrt on Geode; cyclone on IBM x440
- [MIPS] MIPS
- [PARISC] cr16
- [S390] tod
- [SH] SuperH
- [SPARC64] tick
- [X86-64] hpet,tsc
- clocksource.arm_arch_timer.evtstrm=
- [ARM,ARM64]
- Format: <bool>
- Enable/disable the eventstream feature of the ARM
- architected timer so that code using WFE-based polling
- loops can be debugged more effectively on production
- systems.
- clocksource.max_cswd_read_retries= [KNL]
- Number of clocksource_watchdog() retries due to
- external delays before the clock will be marked
- unstable. Defaults to three retries, that is,
- four attempts to read the clock under test.
- clearcpuid=BITNUM[,BITNUM...] [X86]
- Disable CPUID feature X for the kernel. See
- arch/x86/include/asm/cpufeatures.h for the valid bit
- numbers. Note the Linux specific bits are not necessarily
- stable over kernel options, but the vendor specific
- ones should be.
- Also note that user programs calling CPUID directly
- or using the feature without checking anything
- will still see it. This just prevents it from
- being used by the kernel or shown in /proc/cpuinfo.
- Also note the kernel might malfunction if you disable
- some critical bits.
- cma=nn[MG]@[start[MG][-end[MG]]]
- [KNL,CMA]
- Sets the size of kernel global memory area for
- contiguous memory allocations and optionally the
- placement constraint by the physical address range of
- memory allocations. A value of 0 disables CMA
- altogether. For more information, see
- kernel/dma/contiguous.c
- cma_pernuma=nn[MG]
- [ARM64,KNL]
- Sets the size of kernel per-numa memory area for
- contiguous memory allocations. A value of 0 disables
- per-numa CMA altogether. And If this option is not
- specificed, the default value is 0.
- With per-numa CMA enabled, DMA users on node nid will
- first try to allocate buffer from the pernuma area
- which is located in node nid, if the allocation fails,
- they will fallback to the global default memory area.
- cmo_free_hint= [PPC] Format: { yes | no }
- Specify whether pages are marked as being inactive
- when they are freed. This is used in CMO environments
- to determine OS memory pressure for page stealing by
- a hypervisor.
- Default: yes
- coherent_pool=nn[KMG] [ARM,KNL]
- Sets the size of memory pool for coherent, atomic dma
- allocations, by default set to 256K.
- com20020= [HW,NET] ARCnet - COM20020 chipset
- Format:
- <io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]]
- com90io= [HW,NET] ARCnet - COM90xx chipset (IO-mapped buffers)
- Format: <io>[,<irq>]
- com90xx= [HW,NET]
- ARCnet - COM90xx chipset (memory-mapped buffers)
- Format: <io>[,<irq>[,<memstart>]]
- condev= [HW,S390] console device
- conmode=
- console= [KNL] Output console device and options.
- tty<n> Use the virtual console device <n>.
- ttyS<n>[,options]
- ttyUSB0[,options]
- Use the specified serial port. The options are of
- the form "bbbbpnf", where "bbbb" is the baud rate,
- "p" is parity ("n", "o", or "e"), "n" is number of
- bits, and "f" is flow control ("r" for RTS or
- omit it). Default is "9600n8".
- See Documentation/admin-guide/serial-console.rst for more
- information. See
- Documentation/networking/netconsole.rst for an
- alternative.
- uart[8250],io,<addr>[,options]
- uart[8250],mmio,<addr>[,options]
- uart[8250],mmio16,<addr>[,options]
- uart[8250],mmio32,<addr>[,options]
- uart[8250],0x<addr>[,options]
- Start an early, polled-mode console on the 8250/16550
- UART at the specified I/O port or MMIO address,
- switching to the matching ttyS device later.
- MMIO inter-register address stride is either 8-bit
- (mmio), 16-bit (mmio16), or 32-bit (mmio32).
- If none of [io|mmio|mmio16|mmio32], <addr> is assumed
- to be equivalent to 'mmio'. 'options' are specified in
- the same format described for ttyS above; if unspecified,
- the h/w is not re-initialized.
- hvc<n> Use the hypervisor console device <n>. This is for
- both Xen and PowerPC hypervisors.
- If the device connected to the port is not a TTY but a braille
- device, prepend "brl," before the device type, for instance
- console=brl,ttyS0
- For now, only VisioBraille is supported.
- console_msg_format=
- [KNL] Change console messages format
- default
- By default we print messages on consoles in
- "[time stamp] text\n" format (time stamp may not be
- printed, depending on CONFIG_PRINTK_TIME or
- `printk_time' param).
- syslog
- Switch to syslog format: "<%u>[time stamp] text\n"
- IOW, each message will have a facility and loglevel
- prefix. The format is similar to one used by syslog()
- syscall, or to executing "dmesg -S --raw" or to reading
- from /proc/kmsg.
- consoleblank= [KNL] The console blank (screen saver) timeout in
- seconds. A value of 0 disables the blank timer.
- Defaults to 0.
- coredump_filter=
- [KNL] Change the default value for
- /proc/<pid>/coredump_filter.
- See also Documentation/filesystems/proc.rst.
- coresight_cpu_debug.enable
- [ARM,ARM64]
- Format: <bool>
- Enable/disable the CPU sampling based debugging.
- 0: default value, disable debugging
- 1: enable debugging at boot time
- cpuidle.off=1 [CPU_IDLE]
- disable the cpuidle sub-system
- cpuidle.governor=
- [CPU_IDLE] Name of the cpuidle governor to use.
- cpufreq.off=1 [CPU_FREQ]
- disable the cpufreq sub-system
- cpufreq.default_governor=
- [CPU_FREQ] Name of the default cpufreq governor or
- policy to use. This governor must be registered in the
- kernel before the cpufreq driver probes.
- cpu_init_udelay=N
- [X86] Delay for N microsec between assert and de-assert
- of APIC INIT to start processors. This delay occurs
- on every CPU online, such as boot, and resume from suspend.
- Default: 10000
- cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver
- Format:
- <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
- crashkernel=size[KMG][@offset[KMG]]
- [KNL] Using kexec, Linux can switch to a 'crash kernel'
- upon panic. This parameter reserves the physical
- memory region [offset, offset + size] for that kernel
- image. If '@offset' is omitted, then a suitable offset
- is selected automatically.
- [KNL, X86-64] Select a region under 4G first, and
- fall back to reserve region above 4G when '@offset'
- hasn't been specified.
- See Documentation/admin-guide/kdump/kdump.rst for further details.
- crashkernel=range1:size1[,range2:size2,...][@offset]
- [KNL] Same as above, but depends on the memory
- in the running system. The syntax of range is
- start-[end] where start and end are both
- a memory unit (amount[KMG]). See also
- Documentation/admin-guide/kdump/kdump.rst for an example.
- crashkernel=size[KMG],high
- [KNL, X86-64] range could be above 4G. Allow kernel
- to allocate physical memory region from top, so could
- be above 4G if system have more than 4G ram installed.
- Otherwise memory region will be allocated below 4G, if
- available.
- It will be ignored if crashkernel=X is specified.
- crashkernel=size[KMG],low
- [KNL, X86-64] range under 4G. When crashkernel=X,high
- is passed, kernel could allocate physical memory region
- above 4G, that cause second kernel crash on system
- that require some amount of low memory, e.g. swiotlb
- requires at least 64M+32K low memory, also enough extra
- low memory is needed to make sure DMA buffers for 32-bit
- devices won't run out. Kernel would try to allocate at
- at least 256M below 4G automatically.
- This one let user to specify own low range under 4G
- for second kernel instead.
- 0: to disable low allocation.
- It will be ignored when crashkernel=X,high is not used
- or memory reserved is below 4G.
- cryptomgr.notests
- [KNL] Disable crypto self-tests
- cs89x0_dma= [HW,NET]
- Format: <dma>
- cs89x0_media= [HW,NET]
- Format: { rj45 | aui | bnc }
- dasd= [HW,NET]
- See header of drivers/s390/block/dasd_devmap.c.
- db9.dev[2|3]= [HW,JOY] Multisystem joystick support via parallel port
- (one device per port)
- Format: <port#>,<type>
- See also Documentation/input/devices/joystick-parport.rst
- ddebug_query= [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot
- time. See
- Documentation/admin-guide/dynamic-debug-howto.rst for
- details. Deprecated, see dyndbg.
- debug [KNL] Enable kernel debugging (events log level).
- debug_boot_weak_hash
- [KNL] Enable printing [hashed] pointers early in the
- boot sequence. If enabled, we use a weak hash instead
- of siphash to hash pointers. Use this option if you are
- seeing instances of '(___ptrval___)') and need to see a
- value (hashed pointer) instead. Cryptographically
- insecure, please do not use on production kernels.
- debug_locks_verbose=
- [KNL] verbose self-tests
- Format=<0|1>
- Print debugging info while doing the locking API
- self-tests.
- We default to 0 (no extra messages), setting it to
- 1 will print _a lot_ more information - normally
- only useful to kernel developers.
- debug_objects [KNL] Enable object debugging
- no_debug_objects
- [KNL] Disable object debugging
- debug_guardpage_minorder=
- [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this
- parameter allows control of the order of pages that will
- be intentionally kept free (and hence protected) by the
- buddy allocator. Bigger value increase the probability
- of catching random memory corruption, but reduce the
- amount of memory for normal system use. The maximum
- possible value is MAX_ORDER/2. Setting this parameter
- to 1 or 2 should be enough to identify most random
- memory corruption problems caused by bugs in kernel or
- driver code when a CPU writes to (or reads from) a
- random memory location. Note that there exists a class
- of memory corruptions problems caused by buggy H/W or
- F/W or by drivers badly programing DMA (basically when
- memory is written at bus level and the CPU MMU is
- bypassed) which are not detectable by
- CONFIG_DEBUG_PAGEALLOC, hence this option will not help
- tracking down these problems.
- debug_pagealloc=
- [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this parameter
- enables the feature at boot time. By default, it is
- disabled and the system will work mostly the same as a
- kernel built without CONFIG_DEBUG_PAGEALLOC.
- Note: to get most of debug_pagealloc error reports, it's
- useful to also enable the page_owner functionality.
- on: enable the feature
- debugfs= [KNL] This parameter enables what is exposed to userspace
- and debugfs internal clients.
- Format: { on, no-mount, off }
- on: All functions are enabled.
- no-mount:
- Filesystem is not registered but kernel clients can
- access APIs and a crashkernel can be used to read
- its content. There is nothing to mount.
- off: Filesystem is not registered and clients
- get a -EPERM as result when trying to register files
- or directories within debugfs.
- This is equivalent of the runtime functionality if
- debugfs was not enabled in the kernel at all.
- Default value is set in build-time with a kernel configuration.
- debugpat [X86] Enable PAT debugging
- decnet.addr= [HW,NET]
- Format: <area>[,<node>]
- See also Documentation/networking/decnet.rst.
- default_hugepagesz=
- [HW] The size of the default HugeTLB page. This is
- the size represented by the legacy /proc/ hugepages
- APIs. In addition, this is the default hugetlb size
- used for shmget(), mmap() and mounting hugetlbfs
- filesystems. If not specified, defaults to the
- architecture's default huge page size. Huge page
- sizes are architecture dependent. See also
- Documentation/admin-guide/mm/hugetlbpage.rst.
- Format: size[KMG]
- deferred_probe_timeout=
- [KNL] Debugging option to set a timeout in seconds for
- deferred probe to give up waiting on dependencies to
- probe. Only specific dependencies (subsystems or
- drivers) that have opted in will be ignored. A timeout of 0
- will timeout at the end of initcalls. This option will also
- dump out devices still on the deferred probe list after
- retrying.
- dfltcc= [HW,S390]
- Format: { on | off | def_only | inf_only | always }
- on: s390 zlib hardware support for compression on
- level 1 and decompression (default)
- off: No s390 zlib hardware support
- def_only: s390 zlib hardware support for deflate
- only (compression on level 1)
- inf_only: s390 zlib hardware support for inflate
- only (decompression)
- always: Same as 'on' but ignores the selected compression
- level always using hardware support (used for debugging)
- dhash_entries= [KNL]
- Set number of hash buckets for dentry cache.
- disable_1tb_segments [PPC]
- Disables the use of 1TB hash page table segments. This
- causes the kernel to fall back to 256MB segments which
- can be useful when debugging issues that require an SLB
- miss to occur.
- disable_dma32= [KNL]
- Dynamically disable ZONE_DMA32 on kernels compiled with
- CONFIG_ZONE_DMA32=y.
- stress_slb [PPC]
- Limits the number of kernel SLB entries, and flushes
- them frequently to increase the rate of SLB faults
- on kernel addresses.
- disable= [IPV6]
- See Documentation/networking/ipv6.rst.
- hardened_usercopy=
- [KNL] Under CONFIG_HARDENED_USERCOPY, whether
- hardening is enabled for this boot. Hardened
- usercopy checking is used to protect the kernel
- from reading or writing beyond known memory
- allocation boundaries as a proactive defense
- against bounds-checking flaws in the kernel's
- copy_to_user()/copy_from_user() interface.
- on Perform hardened usercopy checks (default).
- off Disable hardened usercopy checks.
- disable_radix [PPC]
- Disable RADIX MMU mode on POWER9
- radix_hcall_invalidate=on [PPC/PSERIES]
- Disable RADIX GTSE feature and use hcall for TLB
- invalidate.
- disable_tlbie [PPC]
- Disable TLBIE instruction. Currently does not work
- with KVM, with HASH MMU, or with coherent accelerators.
- disable_cpu_apicid= [X86,APIC,SMP]
- Format: <int>
- The number of initial APIC ID for the
- corresponding CPU to be disabled at boot,
- mostly used for the kdump 2nd kernel to
- disable BSP to wake up multiple CPUs without
- causing system reset or hang due to sending
- INIT from AP to BSP.
- perf_v4_pmi= [X86,INTEL]
- Format: <bool>
- Disable Intel PMU counter freezing feature.
- The feature only exists starting from
- Arch Perfmon v4 (Skylake and newer).
- disable_ddw [PPC/PSERIES]
- Disable Dynamic DMA Window support. Use this
- to workaround buggy firmware.
- disable_ipv6= [IPV6]
- See Documentation/networking/ipv6.rst.
- disable_mtrr_cleanup [X86]
- The kernel tries to adjust MTRR layout from continuous
- to discrete, to make X server driver able to add WB
- entry later. This parameter disables that.
- disable_mtrr_trim [X86, Intel and AMD only]
- By default the kernel will trim any uncacheable
- memory out of your available memory pool based on
- MTRR settings. This parameter disables that behavior,
- possibly causing your machine to run very slowly.
- disable_timer_pin_1 [X86]
- Disable PIN 1 of APIC timer
- Can be useful to work around chipset bugs.
- dis_ucode_ldr [X86] Disable the microcode loader.
- dma_debug=off If the kernel is compiled with DMA_API_DEBUG support,
- this option disables the debugging code at boot.
- dma_debug_entries=<number>
- This option allows to tune the number of preallocated
- entries for DMA-API debugging code. One entry is
- required per DMA-API allocation. Use this if the
- DMA-API debugging code disables itself because the
- architectural default is too low.
- dma_debug_driver=<driver_name>
- With this option the DMA-API debugging driver
- filter feature can be enabled at boot time. Just
- pass the driver to filter for as the parameter.
- The filter can be disabled or changed to another
- driver later using sysfs.
- driver_async_probe= [KNL]
- List of driver names to be probed asynchronously.
- Format: <driver_name1>,<driver_name2>...
- drm.edid_firmware=[<connector>:]<file>[,[<connector>:]<file>]
- Broken monitors, graphic adapters, KVMs and EDIDless
- panels may send no or incorrect EDID data sets.
- This parameter allows to specify an EDID data sets
- in the /lib/firmware directory that are used instead.
- Generic built-in EDID data sets are used, if one of
- edid/1024x768.bin, edid/1280x1024.bin,
- edid/1680x1050.bin, or edid/1920x1080.bin is given
- and no file with the same name exists. Details and
- instructions how to build your own EDID data are
- available in Documentation/admin-guide/edid.rst. An EDID
- data set will only be used for a particular connector,
- if its name and a colon are prepended to the EDID
- name. Each connector may use a unique EDID data
- set by separating the files with a comma. An EDID
- data set with no connector name will be used for
- any connectors not explicitly specified.
- dscc4.setup= [NET]
- dt_cpu_ftrs= [PPC]
- Format: {"off" | "known"}
- Control how the dt_cpu_ftrs device-tree binding is
- used for CPU feature discovery and setup (if it
- exists).
- off: Do not use it, fall back to legacy cpu table.
- known: Do not pass through unknown features to guests
- or userspace, only those that the kernel is aware of.
- dump_apple_properties [X86]
- Dump name and content of EFI device properties on
- x86 Macs. Useful for driver authors to determine
- what data is available or for reverse-engineering.
- dyndbg[="val"] [KNL,DYNAMIC_DEBUG]
- <module>.dyndbg[="val"]
- Enable debug messages at boot time. See
- Documentation/admin-guide/dynamic-debug-howto.rst
- for details.
- nopku [X86] Disable Memory Protection Keys CPU feature found
- in some Intel CPUs.
- <module>.async_probe [KNL]
- Enable asynchronous probe on this module.
- early_ioremap_debug [KNL]
- Enable debug messages in early_ioremap support. This
- is useful for tracking down temporary early mappings
- which are not unmapped.
- earlycon= [KNL] Output early console device and options.
- When used with no options, the early console is
- determined by stdout-path property in device tree's
- chosen node or the ACPI SPCR table if supported by
- the platform.
- cdns,<addr>[,options]
- Start an early, polled-mode console on a Cadence
- (xuartps) serial port at the specified address. Only
- supported option is baud rate. If baud rate is not
- specified, the serial port must already be setup and
- configured.
- uart[8250],io,<addr>[,options]
- uart[8250],mmio,<addr>[,options]
- uart[8250],mmio32,<addr>[,options]
- uart[8250],mmio32be,<addr>[,options]
- uart[8250],0x<addr>[,options]
- Start an early, polled-mode console on the 8250/16550
- UART at the specified I/O port or MMIO address.
- MMIO inter-register address stride is either 8-bit
- (mmio) or 32-bit (mmio32 or mmio32be).
- If none of [io|mmio|mmio32|mmio32be], <addr> is assumed
- to be equivalent to 'mmio'. 'options' are specified
- in the same format described for "console=ttyS<n>"; if
- unspecified, the h/w is not initialized.
- pl011,<addr>
- pl011,mmio32,<addr>
- Start an early, polled-mode console on a pl011 serial
- port at the specified address. The pl011 serial port
- must already be setup and configured. Options are not
- yet supported. If 'mmio32' is specified, then only
- the driver will use only 32-bit accessors to read/write
- the device registers.
- meson,<addr>
- Start an early, polled-mode console on a meson serial
- port at the specified address. The serial port must
- already be setup and configured. Options are not yet
- supported.
- msm_serial,<addr>
- Start an early, polled-mode console on an msm serial
- port at the specified address. The serial port
- must already be setup and configured. Options are not
- yet supported.
- msm_serial_dm,<addr>
- Start an early, polled-mode console on an msm serial
- dm port at the specified address. The serial port
- must already be setup and configured. Options are not
- yet supported.
- owl,<addr>
- Start an early, polled-mode console on a serial port
- of an Actions Semi SoC, such as S500 or S900, at the
- specified address. The serial port must already be
- setup and configured. Options are not yet supported.
- rda,<addr>
- Start an early, polled-mode console on a serial port
- of an RDA Micro SoC, such as RDA8810PL, at the
- specified address. The serial port must already be
- setup and configured. Options are not yet supported.
- sbi
- Use RISC-V SBI (Supervisor Binary Interface) for early
- console.
- smh Use ARM semihosting calls for early console.
- s3c2410,<addr>
- s3c2412,<addr>
- s3c2440,<addr>
- s3c6400,<addr>
- s5pv210,<addr>
- exynos4210,<addr>
- Use early console provided by serial driver available
- on Samsung SoCs, requires selecting proper type and
- a correct base address of the selected UART port. The
- serial port must already be setup and configured.
- Options are not yet supported.
- lantiq,<addr>
- Start an early, polled-mode console on a lantiq serial
- (lqasc) port at the specified address. The serial port
- must already be setup and configured. Options are not
- yet supported.
- lpuart,<addr>
- lpuart32,<addr>
- Use early console provided by Freescale LP UART driver
- found on Freescale Vybrid and QorIQ LS1021A processors.
- A valid base address must be provided, and the serial
- port must already be setup and configured.
- ec_imx21,<addr>
- ec_imx6q,<addr>
- Start an early, polled-mode, output-only console on the
- Freescale i.MX UART at the specified address. The UART
- must already be setup and configured.
- ar3700_uart,<addr>
- Start an early, polled-mode console on the
- Armada 3700 serial port at the specified
- address. The serial port must already be setup
- and configured. Options are not yet supported.
- qcom_geni,<addr>
- Start an early, polled-mode console on a Qualcomm
- Generic Interface (GENI) based serial port at the
- specified address. The serial port must already be
- setup and configured. Options are not yet supported.
- efifb,[options]
- Start an early, unaccelerated console on the EFI
- memory mapped framebuffer (if available). On cache
- coherent non-x86 systems that use system memory for
- the framebuffer, pass the 'ram' option so that it is
- mapped with the correct attributes.
- linflex,<addr>
- Use early console provided by Freescale LINFlexD UART
- serial driver for NXP S32V234 SoCs. A valid base
- address must be provided, and the serial port must
- already be setup and configured.
- earlyprintk= [X86,SH,ARM,M68k,S390]
- earlyprintk=vga
- earlyprintk=sclp
- earlyprintk=xen
- earlyprintk=serial[,ttySn[,baudrate]]
- earlyprintk=serial[,0x...[,baudrate]]
- earlyprintk=ttySn[,baudrate]
- earlyprintk=dbgp[debugController#]
- earlyprintk=pciserial[,force],bus:device.function[,baudrate]
- earlyprintk=xdbc[xhciController#]
- earlyprintk is useful when the kernel crashes before
- the normal console is initialized. It is not enabled by
- default because it has some cosmetic problems.
- Append ",keep" to not disable it when the real console
- takes over.
- Only one of vga, efi, serial, or usb debug port can
- be used at a time.
- Currently only ttyS0 and ttyS1 may be specified by
- name. Other I/O ports may be explicitly specified
- on some architectures (x86 and arm at least) by
- replacing ttySn with an I/O port address, like this:
- earlyprintk=serial,0x1008,115200
- You can find the port for a given device in
- /proc/tty/driver/serial:
- 2: uart:ST16650V2 port:00001008 irq:18 ...
- Interaction with the standard serial driver is not
- very good.
- The VGA and EFI output is eventually overwritten by
- the real console.
- The xen output can only be used by Xen PV guests.
- The sclp output can only be used on s390.
- The optional "force" to "pciserial" enables use of a
- PCI device even when its classcode is not of the
- UART class.
- edac_report= [HW,EDAC] Control how to report EDAC event
- Format: {"on" | "off" | "force"}
- on: enable EDAC to report H/W event. May be overridden
- by other higher priority error reporting module.
- off: disable H/W event reporting through EDAC.
- force: enforce the use of EDAC to report H/W event.
- default: on.
- ekgdboc= [X86,KGDB] Allow early kernel console debugging
- ekgdboc=kbd
- This is designed to be used in conjunction with
- the boot argument: earlyprintk=vga
- This parameter works in place of the kgdboc parameter
- but can only be used if the backing tty is available
- very early in the boot process. For early debugging
- via a serial port see kgdboc_earlycon instead.
- edd= [EDD]
- Format: {"off" | "on" | "skip[mbr]"}
- efi= [EFI]
- Format: { "debug", "disable_early_pci_dma",
- "nochunk", "noruntime", "nosoftreserve",
- "novamap", "no_disable_early_pci_dma" }
- debug: enable misc debug output.
- disable_early_pci_dma: disable the busmaster bit on all
- PCI bridges while in the EFI boot stub.
- nochunk: disable reading files in "chunks" in the EFI
- boot stub, as chunking can cause problems with some
- firmware implementations.
- noruntime : disable EFI runtime services support
- nosoftreserve: The EFI_MEMORY_SP (Specific Purpose)
- attribute may cause the kernel to reserve the
- memory range for a memory mapping driver to
- claim. Specify efi=nosoftreserve to disable this
- reservation and treat the memory by its base type
- (i.e. EFI_CONVENTIONAL_MEMORY / "System RAM").
- novamap: do not call SetVirtualAddressMap().
- no_disable_early_pci_dma: Leave the busmaster bit set
- on all PCI bridges while in the EFI boot stub
- efi_no_storage_paranoia [EFI; X86]
- Using this parameter you can use more than 50% of
- your efi variable storage. Use this parameter only if
- you are really sure that your UEFI does sane gc and
- fulfills the spec otherwise your board may brick.
- efi_fake_mem= nn[KMG]@ss[KMG]:aa[,nn[KMG]@ss[KMG]:aa,..] [EFI; X86]
- Add arbitrary attribute to specific memory range by
- updating original EFI memory map.
- Region of memory which aa attribute is added to is
- from ss to ss+nn.
- If efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000
- is specified, EFI_MEMORY_MORE_RELIABLE(0x10000)
- attribute is added to range 0x100000000-0x180000000 and
- 0x10a0000000-0x1120000000.
- If efi_fake_mem=8G@9G:0x40000 is specified, the
- EFI_MEMORY_SP(0x40000) attribute is added to
- range 0x240000000-0x43fffffff.
- Using this parameter you can do debugging of EFI memmap
- related features. For example, you can do debugging of
- Address Range Mirroring feature even if your box
- doesn't support it, or mark specific memory as
- "soft reserved".
- efivar_ssdt= [EFI; X86] Name of an EFI variable that contains an SSDT
- that is to be dynamically loaded by Linux. If there are
- multiple variables with the same name but with different
- vendor GUIDs, all of them will be loaded. See
- Documentation/admin-guide/acpi/ssdt-overlays.rst for details.
- eisa_irq_edge= [PARISC,HW]
- See header of drivers/parisc/eisa.c.
- elanfreq= [X86-32]
- See comment before function elanfreq_setup() in
- arch/x86/kernel/cpu/cpufreq/elanfreq.c.
- elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
- Specifies physical address of start of kernel core
- image elf header and optionally the size. Generally
- kexec loader will pass this option to capture kernel.
- See Documentation/admin-guide/kdump/kdump.rst for details.
- enable_mtrr_cleanup [X86]
- The kernel tries to adjust MTRR layout from continuous
- to discrete, to make X server driver able to add WB
- entry later. This parameter enables that.
- enable_timer_pin_1 [X86]
- Enable PIN 1 of APIC timer
- Can be useful to work around chipset bugs
- (in particular on some ATI chipsets).
- The kernel tries to set a reasonable default.
- enforcing [SELINUX] Set initial enforcing status.
- Format: {"0" | "1"}
- See security/selinux/Kconfig help text.
- 0 -- permissive (log only, no denials).
- 1 -- enforcing (deny and log).
- Default value is 0.
- Value can be changed at runtime via
- /sys/fs/selinux/enforce.
- erst_disable [ACPI]
- Disable Error Record Serialization Table (ERST)
- support.
- ether= [HW,NET] Ethernet cards parameters
- This option is obsoleted by the "netdev=" option, which
- has equivalent usage. See its documentation for details.
- evm= [EVM]
- Format: { "fix" }
- Permit 'security.evm' to be updated regardless of
- current integrity status.
- failslab=
- fail_usercopy=
- fail_page_alloc=
- fail_make_request=[KNL]
- General fault injection mechanism.
- Format: <interval>,<probability>,<space>,<times>
- See also Documentation/fault-injection/.
- fb_tunnels= [NET]
- Format: { initns | none }
- See Documentation/admin-guide/sysctl/net.rst for
- fb_tunnels_only_for_init_ns
- floppy= [HW]
- See Documentation/admin-guide/blockdev/floppy.rst.
- force_pal_cache_flush
- [IA-64] Avoid check_sal_cache_flush which may hang on
- buggy SAL_CACHE_FLUSH implementations. Using this
- parameter will force ia64_sal_cache_flush to call
- ia64_pal_cache_flush instead of SAL_CACHE_FLUSH.
- forcepae [X86-32]
- Forcefully enable Physical Address Extension (PAE).
- Many Pentium M systems disable PAE but may have a
- functionally usable PAE implementation.
- Warning: use of this parameter will taint the kernel
- and may cause unknown problems.
- ftrace=[tracer]
- [FTRACE] will set and start the specified tracer
- as early as possible in order to facilitate early
- boot debugging.
- ftrace_dump_on_oops[=orig_cpu]
- [FTRACE] will dump the trace buffers on oops.
- If no parameter is passed, ftrace will dump
- buffers of all CPUs, but if you pass orig_cpu, it will
- dump only the buffer of the CPU that triggered the
- oops.
- ftrace_filter=[function-list]
- [FTRACE] Limit the functions traced by the function
- tracer at boot up. function-list is a comma separated
- list of functions. This list can be changed at run
- time by the set_ftrace_filter file in the debugfs
- tracing directory.
- ftrace_notrace=[function-list]
- [FTRACE] Do not trace the functions specified in
- function-list. This list can be changed at run time
- by the set_ftrace_notrace file in the debugfs
- tracing directory.
- ftrace_graph_filter=[function-list]
- [FTRACE] Limit the top level callers functions traced
- by the function graph tracer at boot up.
- function-list is a comma separated list of functions
- that can be changed at run time by the
- set_graph_function file in the debugfs tracing directory.
- ftrace_graph_notrace=[function-list]
- [FTRACE] Do not trace from the functions specified in
- function-list. This list is a comma separated list of
- functions that can be changed at run time by the
- set_graph_notrace file in the debugfs tracing directory.
- ftrace_graph_max_depth=<uint>
- [FTRACE] Used with the function graph tracer. This is
- the max depth it will trace into a function. This value
- can be changed at run time by the max_graph_depth file
- in the tracefs tracing directory. default: 0 (no limit)
- fw_devlink= [KNL] Create device links between consumer and supplier
- devices by scanning the firmware to infer the
- consumer/supplier relationships. This feature is
- especially useful when drivers are loaded as modules as
- it ensures proper ordering of tasks like device probing
- (suppliers first, then consumers), supplier boot state
- clean up (only after all consumers have probed),
- suspend/resume & runtime PM (consumers first, then
- suppliers).
- Format: { off | permissive | on | rpm }
- off -- Don't create device links from firmware info.
- permissive -- Create device links from firmware info
- but use it only for ordering boot state clean
- up (sync_state() calls).
- on -- Create device links from firmware info and use it
- to enforce probe and suspend/resume ordering.
- rpm -- Like "on", but also use to order runtime PM.
- fw_devlink.strict=<bool>
- [KNL] Treat all inferred dependencies as mandatory
- dependencies. This only applies for fw_devlink=on|rpm.
- Format: <bool>
- gamecon.map[2|3]=
- [HW,JOY] Multisystem joystick and NES/SNES/PSX pad
- support via parallel port (up to 5 devices per port)
- Format: <port#>,<pad1>,<pad2>,<pad3>,<pad4>,<pad5>
- See also Documentation/input/devices/joystick-parport.rst
- gamma= [HW,DRM]
- gart_fix_e820= [X86-64] disable the fix e820 for K8 GART
- Format: off | on
- default: on
- gcov_persist= [GCOV] When non-zero (default), profiling data for
- kernel modules is saved and remains accessible via
- debugfs, even when the module is unloaded/reloaded.
- When zero, profiling data is discarded and associated
- debugfs files are removed at module unload time.
- goldfish [X86] Enable the goldfish android emulator platform.
- Don't use this when you are not running on the
- android emulator
- gpt [EFI] Forces disk with valid GPT signature but
- invalid Protective MBR to be treated as GPT. If the
- primary GPT is corrupted, it enables the backup/alternate
- GPT to be used instead.
- grcan.enable0= [HW] Configuration of physical interface 0. Determines
- the "Enable 0" bit of the configuration register.
- Format: 0 | 1
- Default: 0
- grcan.enable1= [HW] Configuration of physical interface 1. Determines
- the "Enable 0" bit of the configuration register.
- Format: 0 | 1
- Default: 0
- grcan.select= [HW] Select which physical interface to use.
- Format: 0 | 1
- Default: 0
- grcan.txsize= [HW] Sets the size of the tx buffer.
- Format: <unsigned int> such that (txsize & ~0x1fffc0) == 0.
- Default: 1024
- grcan.rxsize= [HW] Sets the size of the rx buffer.
- Format: <unsigned int> such that (rxsize & ~0x1fffc0) == 0.
- Default: 1024
- gpio-mockup.gpio_mockup_ranges
- [HW] Sets the ranges of gpiochip of for this device.
- Format: <start1>,<end1>,<start2>,<end2>...
- hardlockup_all_cpu_backtrace=
- [KNL] Should the hard-lockup detector generate
- backtraces on all cpus.
- Format: 0 | 1
- hashdist= [KNL,NUMA] Large hashes allocated during boot
- are distributed across NUMA nodes. Defaults on
- for 64-bit NUMA, off otherwise.
- Format: 0 | 1 (for off | on)
- hcl= [IA-64] SGI's Hardware Graph compatibility layer
- hd= [EIDE] (E)IDE hard drive subsystem geometry
- Format: <cyl>,<head>,<sect>
- hest_disable [ACPI]
- Disable Hardware Error Source Table (HEST) support;
- corresponding firmware-first mode error processing
- logic will be disabled.
- highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact
- size of <nn>. This works even on boxes that have no
- highmem otherwise. This also works to reduce highmem
- size on bigger boxes.
- highres= [KNL] Enable/disable high resolution timer mode.
- Valid parameters: "on", "off"
- Default: "on"
- hlt [BUGS=ARM,SH]
- hpet= [X86-32,HPET] option to control HPET usage
- Format: { enable (default) | disable | force |
- verbose }
- disable: disable HPET and use PIT instead
- force: allow force enabled of undocumented chips (ICH4,
- VIA, nVidia)
- verbose: show contents of HPET registers during setup
- hpet_mmap= [X86, HPET_MMAP] Allow userspace to mmap HPET
- registers. Default set by CONFIG_HPET_MMAP_DEFAULT.
- hugetlb_cma= [HW] The size of a cma area used for allocation
- of gigantic hugepages.
- Format: nn[KMGTPE]
- Reserve a cma area of given size and allocate gigantic
- hugepages using the cma allocator. If enabled, the
- boot-time allocation of gigantic hugepages is skipped.
- hugepages= [HW] Number of HugeTLB pages to allocate at boot.
- If this follows hugepagesz (below), it specifies
- the number of pages of hugepagesz to be allocated.
- If this is the first HugeTLB parameter on the command
- line, it specifies the number of pages to allocate for
- the default huge page size. See also
- Documentation/admin-guide/mm/hugetlbpage.rst.
- Format: <integer>
- hugepagesz=
- [HW] The size of the HugeTLB pages. This is used in
- conjunction with hugepages (above) to allocate huge
- pages of a specific size at boot. The pair
- hugepagesz=X hugepages=Y can be specified once for
- each supported huge page size. Huge page sizes are
- architecture dependent. See also
- Documentation/admin-guide/mm/hugetlbpage.rst.
- Format: size[KMG]
- hung_task_panic=
- [KNL] Should the hung task detector generate panics.
- Format: 0 | 1
- A value of 1 instructs the kernel to panic when a
- hung task is detected. The default value is controlled
- by the CONFIG_BOOTPARAM_HUNG_TASK_PANIC build-time
- option. The value selected by this boot parameter can
- be changed later by the kernel.hung_task_panic sysctl.
- hvc_iucv= [S390] Number of z/VM IUCV hypervisor console (HVC)
- terminal devices. Valid values: 0..8
- hvc_iucv_allow= [S390] Comma-separated list of z/VM user IDs.
- If specified, z/VM IUCV HVC accepts connections
- from listed z/VM user IDs only.
- hvc_dcc.enable= [ARM,ARM64] Enable DCC driver at runtime. For GKI,
- disabled at runtime by default to prevent
- crashes in devices which do not support DCC.
- hv_nopvspin [X86,HYPER_V] Disables the paravirt spinlock optimizations
- which allow the hypervisor to 'idle' the
- guest on lock contention.
- keep_bootcon [KNL]
- Do not unregister boot console at start. This is only
- useful for debugging when something happens in the window
- between unregistering the boot console and initializing
- the real console.
- i2c_bus= [HW] Override the default board specific I2C bus speed
- or register an additional I2C bus that is not
- registered from board initialization code.
- Format:
- <bus_id>,<clkrate>
- i8042.debug [HW] Toggle i8042 debug mode
- i8042.unmask_kbd_data
- [HW] Enable printing of interrupt data from the KBD port
- (disabled by default, and as a pre-condition
- requires that i8042.debug=1 be enabled)
- i8042.direct [HW] Put keyboard port into non-translated mode
- i8042.dumbkbd [HW] Pretend that controller can only read data from
- keyboard and cannot control its state
- (Don't attempt to blink the leds)
- i8042.noaux [HW] Don't check for auxiliary (== mouse) port
- i8042.nokbd [HW] Don't check/create keyboard port
- i8042.noloop [HW] Disable the AUX Loopback command while probing
- for the AUX port
- i8042.nomux [HW] Don't check presence of an active multiplexing
- controller
- i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
- controllers
- i8042.notimeout [HW] Ignore timeout condition signalled by controller
- i8042.reset [HW] Reset the controller during init, cleanup and
- suspend-to-ram transitions, only during s2r
- transitions, or never reset
- Format: { 1 | Y | y | 0 | N | n }
- 1, Y, y: always reset controller
- 0, N, n: don't ever reset controller
- Default: only on s2r transitions on x86; most other
- architectures force reset to be always executed
- i8042.unlock [HW] Unlock (ignore) the keylock
- i8042.kbdreset [HW] Reset device connected to KBD port
- i8042.probe_defer
- [HW] Allow deferred probing upon i8042 probe errors
- i810= [HW,DRM]
- i8k.ignore_dmi [HW] Continue probing hardware even if DMI data
- indicates that the driver is running on unsupported
- hardware.
- i8k.force [HW] Activate i8k driver even if SMM BIOS signature
- does not match list of supported models.
- i8k.power_status
- [HW] Report power status in /proc/i8k
- (disabled by default)
- i8k.restricted [HW] Allow controlling fans only if SYS_ADMIN
- capability is set.
- i915.invert_brightness=
- [DRM] Invert the sense of the variable that is used to
- set the brightness of the panel backlight. Normally a
- brightness value of 0 indicates backlight switched off,
- and the maximum of the brightness value sets the backlight
- to maximum brightness. If this parameter is set to 0
- (default) and the machine requires it, or this parameter
- is set to 1, a brightness value of 0 sets the backlight
- to maximum brightness, and the maximum of the brightness
- value switches the backlight off.
- -1 -- never invert brightness
- 0 -- machine default
- 1 -- force brightness inversion
- icn= [HW,ISDN]
- Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]
- ide-core.nodma= [HW] (E)IDE subsystem
- Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc
- .vlb_clock .pci_clock .noflush .nohpa .noprobe .nowerr
- .cdrom .chs .ignore_cable are additional options
- See Documentation/ide/ide.rst.
- ide-generic.probe-mask= [HW] (E)IDE subsystem
- Format: <int>
- Probe mask for legacy ISA IDE ports. Depending on
- platform up to 6 ports are supported, enabled by
- setting corresponding bits in the mask to 1. The
- default value is 0x0, which has a special meaning.
- On systems that have PCI, it triggers scanning the
- PCI bus for the first and the second port, which
- are then probed. On systems without PCI the value
- of 0x0 enables probing the two first ports as if it
- was 0x3.
- ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem
- Claim all unknown PCI IDE storage controllers.
- idle= [X86]
- Format: idle=poll, idle=halt, idle=nomwait
- Poll forces a polling idle loop that can slightly
- improve the performance of waking up a idle CPU, but
- will use a lot of power and make the system run hot.
- Not recommended.
- idle=halt: Halt is forced to be used for CPU idle.
- In such case C2/C3 won't be used again.
- idle=nomwait: Disable mwait for CPU C-states
- ieee754= [MIPS] Select IEEE Std 754 conformance mode
- Format: { strict | legacy | 2008 | relaxed }
- Default: strict
- Choose which programs will be accepted for execution
- based on the IEEE 754 NaN encoding(s) supported by
- the FPU and the NaN encoding requested with the value
- of an ELF file header flag individually set by each
- binary. Hardware implementations are permitted to
- support either or both of the legacy and the 2008 NaN
- encoding mode.
- Available settings are as follows:
- strict accept binaries that request a NaN encoding
- supported by the FPU
- legacy only accept legacy-NaN binaries, if supported
- by the FPU
- 2008 only accept 2008-NaN binaries, if supported
- by the FPU
- relaxed accept any binaries regardless of whether
- supported by the FPU
- The FPU emulator is always able to support both NaN
- encodings, so if no FPU hardware is present or it has
- been disabled with 'nofpu', then the settings of
- 'legacy' and '2008' strap the emulator accordingly,
- 'relaxed' straps the emulator for both legacy-NaN and
- 2008-NaN, whereas 'strict' enables legacy-NaN only on
- legacy processors and both NaN encodings on MIPS32 or
- MIPS64 CPUs.
- The setting for ABS.fmt/NEG.fmt instruction execution
- mode generally follows that for the NaN encoding,
- except where unsupported by hardware.
- ignore_loglevel [KNL]
- Ignore loglevel setting - this will print /all/
- kernel messages to the console. Useful for debugging.
- We also add it as printk module parameter, so users
- could change it dynamically, usually by
- /sys/module/printk/parameters/ignore_loglevel.
- ignore_rlimit_data
- Ignore RLIMIT_DATA setting for data mappings,
- print warning at first misuse. Can be changed via
- /sys/module/kernel/parameters/ignore_rlimit_data.
- ihash_entries= [KNL]
- Set number of hash buckets for inode cache.
- ima_appraise= [IMA] appraise integrity measurements
- Format: { "off" | "enforce" | "fix" | "log" }
- default: "enforce"
- ima_appraise_tcb [IMA] Deprecated. Use ima_policy= instead.
- The builtin appraise policy appraises all files
- owned by uid=0.
- ima_canonical_fmt [IMA]
- Use the canonical format for the binary runtime
- measurements, instead of host native format.
- ima_hash= [IMA]
- Format: { md5 | sha1 | rmd160 | sha256 | sha384
- | sha512 | ... }
- default: "sha1"
- The list of supported hash algorithms is defined
- in crypto/hash_info.h.
- ima_policy= [IMA]
- The builtin policies to load during IMA setup.
- Format: "tcb | appraise_tcb | secure_boot |
- fail_securely"
- The "tcb" policy measures all programs exec'd, files
- mmap'd for exec, and all files opened with the read
- mode bit set by either the effective uid (euid=0) or
- uid=0.
- The "appraise_tcb" policy appraises the integrity of
- all files owned by root.
- The "secure_boot" policy appraises the integrity
- of files (eg. kexec kernel image, kernel modules,
- firmware, policy, etc) based on file signatures.
- The "fail_securely" policy forces file signature
- verification failure also on privileged mounted
- filesystems with the SB_I_UNVERIFIABLE_SIGNATURE
- flag.
- ima_tcb [IMA] Deprecated. Use ima_policy= instead.
- Load a policy which meets the needs of the Trusted
- Computing Base. This means IMA will measure all
- programs exec'd, files mmap'd for exec, and all files
- opened for read by uid=0.
- ima_template= [IMA]
- Select one of defined IMA measurements template formats.
- Formats: { "ima" | "ima-ng" | "ima-sig" }
- Default: "ima-ng"
- ima_template_fmt=
- [IMA] Define a custom template format.
- Format: { "field1|...|fieldN" }
- ima.ahash_minsize= [IMA] Minimum file size for asynchronous hash usage
- Format: <min_file_size>
- Set the minimal file size for using asynchronous hash.
- If left unspecified, ahash usage is disabled.
- ahash performance varies for different data sizes on
- different crypto accelerators. This option can be used
- to achieve the best performance for a particular HW.
- ima.ahash_bufsize= [IMA] Asynchronous hash buffer size
- Format: <bufsize>
- Set hashing buffer size. Default: 4k.
- ahash performance varies for different chunk sizes on
- different crypto accelerators. This option can be used
- to achieve best performance for particular HW.
- init= [KNL]
- Format: <full_path>
- Run specified binary instead of /sbin/init as init
- process.
- initcall_debug [KNL] Trace initcalls as they are executed. Useful
- for working out where the kernel is dying during
- startup.
- initcall_blacklist= [KNL] Do not execute a comma-separated list of
- initcall functions. Useful for debugging built-in
- modules and initcalls.
- initrd= [BOOT] Specify the location of the initial ramdisk
- initrdmem= [KNL] Specify a physical address and size from which to
- load the initrd. If an initrd is compiled in or
- specified in the bootparams, it takes priority over this
- setting.
- Format: ss[KMG],nn[KMG]
- Default is 0, 0
- init_on_alloc= [MM] Fill newly allocated pages and heap objects with
- zeroes.
- Format: 0 | 1
- Default set by CONFIG_INIT_ON_ALLOC_DEFAULT_ON.
- init_on_free= [MM] Fill freed pages and heap objects with zeroes.
- Format: 0 | 1
- Default set by CONFIG_INIT_ON_FREE_DEFAULT_ON.
- init_pkru= [X86] Specify the default memory protection keys rights
- register contents for all processes. 0x55555554 by
- default (disallow access to all but pkey 0). Can
- override in debugfs after boot.
- inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver
- Format: <irq>
- int_pln_enable [X86] Enable power limit notification interrupt
- integrity_audit=[IMA]
- Format: { "0" | "1" }
- 0 -- basic integrity auditing messages. (Default)
- 1 -- additional integrity auditing messages.
- intel_iommu= [DMAR] Intel IOMMU driver (DMAR) option
- on
- Enable intel iommu driver.
- off
- Disable intel iommu driver.
- igfx_off [Default Off]
- By default, gfx is mapped as normal device. If a gfx
- device has a dedicated DMAR unit, the DMAR unit is
- bypassed by not enabling DMAR with this option. In
- this case, gfx device will use physical address for
- DMA.
- forcedac [X86-64]
- With this option iommu will not optimize to look
- for io virtual address below 32-bit forcing dual
- address cycle on pci bus for cards supporting greater
- than 32-bit addressing. The default is to look
- for translation below 32-bit and if not available
- then look in the higher range.
- strict [Default Off]
- With this option on every unmap_single operation will
- result in a hardware IOTLB flush operation as opposed
- to batching them for performance.
- sp_off [Default Off]
- By default, super page will be supported if Intel IOMMU
- has the capability. With this option, super page will
- not be supported.
- sm_on [Default Off]
- By default, scalable mode will be disabled even if the
- hardware advertises that it has support for the scalable
- mode translation. With this option set, scalable mode
- will be used on hardware which claims to support it.
- tboot_noforce [Default Off]
- Do not force the Intel IOMMU enabled under tboot.
- By default, tboot will force Intel IOMMU on, which
- could harm performance of some high-throughput
- devices like 40GBit network cards, even if identity
- mapping is enabled.
- Note that using this option lowers the security
- provided by tboot because it makes the system
- vulnerable to DMA attacks.
- nobounce [Default off]
- Disable bounce buffer for untrusted devices such as
- the Thunderbolt devices. This will treat the untrusted
- devices as the trusted ones, hence might expose security
- risks of DMA attacks.
- intel_idle.max_cstate= [KNL,HW,ACPI,X86]
- 0 disables intel_idle and fall back on acpi_idle.
- 1 to 9 specify maximum depth of C-state.
- intel_pstate= [X86]
- disable
- Do not enable intel_pstate as the default
- scaling driver for the supported processors
- passive
- Use intel_pstate as a scaling driver, but configure it
- to work with generic cpufreq governors (instead of
- enabling its internal governor). This mode cannot be
- used along with the hardware-managed P-states (HWP)
- feature.
- force
- Enable intel_pstate on systems that prohibit it by default
- in favor of acpi-cpufreq. Forcing the intel_pstate driver
- instead of acpi-cpufreq may disable platform features, such
- as thermal controls and power capping, that rely on ACPI
- P-States information being indicated to OSPM and therefore
- should be used with caution. This option does not work with
- processors that aren't supported by the intel_pstate driver
- or on platforms that use pcc-cpufreq instead of acpi-cpufreq.
- no_hwp
- Do not enable hardware P state control (HWP)
- if available.
- hwp_only
- Only load intel_pstate on systems which support
- hardware P state control (HWP) if available.
- support_acpi_ppc
- Enforce ACPI _PPC performance limits. If the Fixed ACPI
- Description Table, specifies preferred power management
- profile as "Enterprise Server" or "Performance Server",
- then this feature is turned on by default.
- per_cpu_perf_limits
- Allow per-logical-CPU P-State performance control limits using
- cpufreq sysfs interface
- intremap= [X86-64, Intel-IOMMU]
- on enable Interrupt Remapping (default)
- off disable Interrupt Remapping
- nosid disable Source ID checking
- no_x2apic_optout
- BIOS x2APIC opt-out request will be ignored
- nopost disable Interrupt Posting
- iomem= Disable strict checking of access to MMIO memory
- strict regions from userspace.
- relaxed
- iommu= [X86]
- off
- force
- noforce
- biomerge
- panic
- nopanic
- merge
- nomerge
- soft
- pt [X86]
- nopt [X86]
- nobypass [PPC/POWERNV]
- Disable IOMMU bypass, using IOMMU for PCI devices.
- iommu.strict= [ARM64] Configure TLB invalidation behaviour
- Format: { "0" | "1" }
- 0 - Lazy mode.
- Request that DMA unmap operations use deferred
- invalidation of hardware TLBs, for increased
- throughput at the cost of reduced device isolation.
- Will fall back to strict mode if not supported by
- the relevant IOMMU driver.
- 1 - Strict mode (default).
- DMA unmap operations invalidate IOMMU hardware TLBs
- synchronously.
- iommu.passthrough=
- [ARM64, X86] Configure DMA to bypass the IOMMU by default.
- Format: { "0" | "1" }
- 0 - Use IOMMU translation for DMA.
- 1 - Bypass the IOMMU for DMA.
- unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH.
- io7= [HW] IO7 for Marvel-based Alpha systems
- See comment before marvel_specify_io7 in
- arch/alpha/kernel/core_marvel.c.
- io_delay= [X86] I/O delay method
- 0x80
- Standard port 0x80 based delay
- 0xed
- Alternate port 0xed based delay (needed on some systems)
- udelay
- Simple two microseconds delay
- none
- No delay
- ip= [IP_PNP]
- See Documentation/admin-guide/nfs/nfsroot.rst.
- ipcmni_extend [KNL] Extend the maximum number of unique System V
- IPC identifiers from 32,768 to 16,777,216.
- irqaffinity= [SMP] Set the default irq affinity mask
- The argument is a cpu list, as described above.
- irqchip.gicv2_force_probe=
- [ARM, ARM64]
- Format: <bool>
- Force the kernel to look for the second 4kB page
- of a GICv2 controller even if the memory range
- exposed by the device tree is too small.
- irqchip.gicv3_nolpi=
- [ARM, ARM64]
- Force the kernel to ignore the availability of
- LPIs (and by consequence ITSs). Intended for system
- that use the kernel as a bootloader, and thus want
- to let secondary kernels in charge of setting up
- LPIs.
- irqchip.gicv3_pseudo_nmi= [ARM64]
- Enables support for pseudo-NMIs in the kernel. This
- requires the kernel to be built with
- CONFIG_ARM64_PSEUDO_NMI.
- irqfixup [HW]
- When an interrupt is not handled search all handlers
- for it. Intended to get systems with badly broken
- firmware running.
- irqpoll [HW]
- When an interrupt is not handled search all handlers
- for it. Also check all handlers each timer
- interrupt. Intended to get systems with badly broken
- firmware running.
- isapnp= [ISAPNP]
- Format: <RDP>,<reset>,<pci_scan>,<verbosity>
- isolcpus= [KNL,SMP,ISOL] Isolate a given set of CPUs from disturbance.
- [Deprecated - use cpusets instead]
- Format: [flag-list,]<cpu-list>
- Specify one or more CPUs to isolate from disturbances
- specified in the flag list (default: domain):
- nohz
- Disable the tick when a single task runs.
- A residual 1Hz tick is offloaded to workqueues, which you
- need to affine to housekeeping through the global
- workqueue's affinity configured via the
- /sys/devices/virtual/workqueue/cpumask sysfs file, or
- by using the 'domain' flag described below.
- NOTE: by default the global workqueue runs on all CPUs,
- so to protect individual CPUs the 'cpumask' file has to
- be configured manually after bootup.
- domain
- Isolate from the general SMP balancing and scheduling
- algorithms. Note that performing domain isolation this way
- is irreversible: it's not possible to bring back a CPU to
- the domains once isolated through isolcpus. It's strongly
- advised to use cpusets instead to disable scheduler load
- balancing through the "cpuset.sched_load_balance" file.
- It offers a much more flexible interface where CPUs can
- move in and out of an isolated set anytime.
- You can move a process onto or off an "isolated" CPU via
- the CPU affinity syscalls or cpuset.
- <cpu number> begins at 0 and the maximum value is
- "number of CPUs in system - 1".
- managed_irq
- Isolate from being targeted by managed interrupts
- which have an interrupt mask containing isolated
- CPUs. The affinity of managed interrupts is
- handled by the kernel and cannot be changed via
- the /proc/irq/* interfaces.
- This isolation is best effort and only effective
- if the automatically assigned interrupt mask of a
- device queue contains isolated and housekeeping
- CPUs. If housekeeping CPUs are online then such
- interrupts are directed to the housekeeping CPU
- so that IO submitted on the housekeeping CPU
- cannot disturb the isolated CPU.
- If a queue's affinity mask contains only isolated
- CPUs then this parameter has no effect on the
- interrupt routing decision, though interrupts are
- only delivered when tasks running on those
- isolated CPUs submit IO. IO submitted on
- housekeeping CPUs has no influence on those
- queues.
- The format of <cpu-list> is described above.
- iucv= [HW,NET]
- ivrs_ioapic [HW,X86-64]
- Provide an override to the IOAPIC-ID<->DEVICE-ID
- mapping provided in the IVRS ACPI table. For
- example, to map IOAPIC-ID decimal 10 to
- PCI device 00:14.0 write the parameter as:
- ivrs_ioapic[10]=00:14.0
- ivrs_hpet [HW,X86-64]
- Provide an override to the HPET-ID<->DEVICE-ID
- mapping provided in the IVRS ACPI table. For
- example, to map HPET-ID decimal 0 to
- PCI device 00:14.0 write the parameter as:
- ivrs_hpet[0]=00:14.0
- ivrs_acpihid [HW,X86-64]
- Provide an override to the ACPI-HID:UID<->DEVICE-ID
- mapping provided in the IVRS ACPI table. For
- example, to map UART-HID:UID AMD0020:0 to
- PCI device 00:14.5 write the parameter as:
- ivrs_acpihid[00:14.5]=AMD0020:0
- js= [HW,JOY] Analog joystick
- See Documentation/input/joydev/joystick.rst.
- nokaslr [KNL]
- When CONFIG_RANDOMIZE_BASE is set, this disables
- kernel and module base offset ASLR (Address Space
- Layout Randomization).
- kasan_multi_shot
- [KNL] Enforce KASAN (Kernel Address Sanitizer) to print
- report on every invalid memory access. Without this
- parameter KASAN will print report only for the first
- invalid access.
- keepinitrd [HW,ARM]
- kernelcore= [KNL,X86,IA-64,PPC]
- Format: nn[KMGTPE] | nn% | "mirror"
- This parameter specifies the amount of memory usable by
- the kernel for non-movable allocations. The requested
- amount is spread evenly throughout all nodes in the
- system as ZONE_NORMAL. The remaining memory is used for
- movable memory in its own zone, ZONE_MOVABLE. In the
- event, a node is too small to have both ZONE_NORMAL and
- ZONE_MOVABLE, kernelcore memory will take priority and
- other nodes will have a larger ZONE_MOVABLE.
- ZONE_MOVABLE is used for the allocation of pages that
- may be reclaimed or moved by the page migration
- subsystem. Note that allocations like PTEs-from-HighMem
- still use the HighMem zone if it exists, and the Normal
- zone if it does not.
- It is possible to specify the exact amount of memory in
- the form of "nn[KMGTPE]", a percentage of total system
- memory in the form of "nn%", or "mirror". If "mirror"
- option is specified, mirrored (reliable) memory is used
- for non-movable allocations and remaining memory is used
- for Movable pages. "nn[KMGTPE]", "nn%", and "mirror"
- are exclusive, so you cannot specify multiple forms.
- kgdbdbgp= [KGDB,HW] kgdb over EHCI usb debug port.
- Format: <Controller#>[,poll interval]
- The controller # is the number of the ehci usb debug
- port as it is probed via PCI. The poll interval is
- optional and is the number seconds in between
- each poll cycle to the debug port in case you need
- the functionality for interrupting the kernel with
- gdb or control-c on the dbgp connection. When
- not using this parameter you use sysrq-g to break into
- the kernel debugger.
- kgdboc= [KGDB,HW] kgdb over consoles.
- Requires a tty driver that supports console polling,
- or a supported polling keyboard driver (non-usb).
- Serial only format: <serial_device>[,baud]
- keyboard only format: kbd
- keyboard and serial format: kbd,<serial_device>[,baud]
- Optional Kernel mode setting:
- kms, kbd format: kms,kbd
- kms, kbd and serial format: kms,kbd,<ser_dev>[,baud]
- kgdboc_earlycon= [KGDB,HW]
- If the boot console provides the ability to read
- characters and can work in polling mode, you can use
- this parameter to tell kgdb to use it as a backend
- until the normal console is registered. Intended to
- be used together with the kgdboc parameter which
- specifies the normal console to transition to.
- The name of the early console should be specified
- as the value of this parameter. Note that the name of
- the early console might be different than the tty
- name passed to kgdboc. It's OK to leave the value
- blank and the first boot console that implements
- read() will be picked.
- kgdbwait [KGDB] Stop kernel execution and enter the
- kernel debugger at the earliest opportunity.
- kmac= [MIPS] Korina ethernet MAC address.
- Configure the RouterBoard 532 series on-chip
- Ethernet adapter MAC address.
- kmemleak= [KNL] Boot-time kmemleak enable/disable
- Valid arguments: on, off
- Default: on
- Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
- the default is off.
- kprobe_event=[probe-list]
- [FTRACE] Add kprobe events and enable at boot time.
- The probe-list is a semicolon delimited list of probe
- definitions. Each definition is same as kprobe_events
- interface, but the parameters are comma delimited.
- For example, to add a kprobe event on vfs_read with
- arg1 and arg2, add to the command line;
- kprobe_event=p,vfs_read,$arg1,$arg2
- See also Documentation/trace/kprobetrace.rst "Kernel
- Boot Parameter" section.
- kpti= [ARM64] Control page table isolation of user
- and kernel address spaces.
- Default: enabled on cores which need mitigation.
- 0: force disabled
- 1: force enabled
- kvm.ignore_msrs=[KVM] Ignore guest accesses to unhandled MSRs.
- Default is 0 (don't ignore, but inject #GP)
- kvm.enable_vmware_backdoor=[KVM] Support VMware backdoor PV interface.
- Default is false (don't support).
- kvm.mmu_audit= [KVM] This is a R/W parameter which allows audit
- KVM MMU at runtime.
- Default is 0 (off)
- kvm.nx_huge_pages=
- [KVM] Controls the software workaround for the
- X86_BUG_ITLB_MULTIHIT bug.
- force : Always deploy workaround.
- off : Never deploy workaround.
- auto : Deploy workaround based on the presence of
- X86_BUG_ITLB_MULTIHIT.
- Default is 'auto'.
- If the software workaround is enabled for the host,
- guests do need not to enable it for nested guests.
- kvm.nx_huge_pages_recovery_ratio=
- [KVM] Controls how many 4KiB pages are periodically zapped
- back to huge pages. 0 disables the recovery, otherwise if
- the value is N KVM will zap 1/Nth of the 4KiB pages every
- minute. The default is 60.
- kvm-amd.nested= [KVM,AMD] Allow nested virtualization in KVM/SVM.
- Default is 1 (enabled)
- kvm-amd.npt= [KVM,AMD] Disable nested paging (virtualized MMU)
- for all guests.
- Default is 1 (enabled) if in 64-bit or 32-bit PAE mode.
- kvm-arm.mode=
- [KVM,ARM] Select one of KVM/arm64's modes of operation.
- nvhe: Standard nVHE-based mode, without support for
- protected guests.
- protected: nVHE-based mode with support for guests whose
- state is kept private from the host.
- Not valid if the kernel is running in EL2.
- Defaults to VHE/nVHE based on hardware support and
- the value of CONFIG_ARM64_VHE.
- kvm-arm.vgic_v3_group0_trap=
- [KVM,ARM] Trap guest accesses to GICv3 group-0
- system registers
- kvm-arm.vgic_v3_group1_trap=
- [KVM,ARM] Trap guest accesses to GICv3 group-1
- system registers
- kvm-arm.vgic_v3_common_trap=
- [KVM,ARM] Trap guest accesses to GICv3 common
- system registers
- kvm-arm.vgic_v4_enable=
- [KVM,ARM] Allow use of GICv4 for direct injection of
- LPIs.
- kvm_cma_resv_ratio=n [PPC]
- Reserves given percentage from system memory area for
- contiguous memory allocation for KVM hash pagetable
- allocation.
- By default it reserves 5% of total system memory.
- Format: <integer>
- Default: 5
- kvm-intel.ept= [KVM,Intel] Disable extended page tables
- (virtualized MMU) support on capable Intel chips.
- Default is 1 (enabled)
- kvm-intel.emulate_invalid_guest_state=
- [KVM,Intel] Disable emulation of invalid guest state.
- Ignored if kvm-intel.enable_unrestricted_guest=1, as
- guest state is never invalid for unrestricted guests.
- This param doesn't apply to nested guests (L2), as KVM
- never emulates invalid L2 guest state.
- Default is 1 (enabled)
- kvm-intel.flexpriority=
- [KVM,Intel] Disable FlexPriority feature (TPR shadow).
- Default is 1 (enabled)
- kvm-intel.nested=
- [KVM,Intel] Enable VMX nesting (nVMX).
- Default is 0 (disabled)
- kvm-intel.unrestricted_guest=
- [KVM,Intel] Disable unrestricted guest feature
- (virtualized real and unpaged mode) on capable
- Intel chips. Default is 1 (enabled)
- kvm-intel.vmentry_l1d_flush=[KVM,Intel] Mitigation for L1 Terminal Fault
- CVE-2018-3620.
- Valid arguments: never, cond, always
- always: L1D cache flush on every VMENTER.
- cond: Flush L1D on VMENTER only when the code between
- VMEXIT and VMENTER can leak host memory.
- never: Disables the mitigation
- Default is cond (do L1 cache flush in specific instances)
- kvm-intel.vpid= [KVM,Intel] Disable Virtual Processor Identification
- feature (tagged TLBs) on capable Intel chips.
- Default is 1 (enabled)
- l1tf= [X86] Control mitigation of the L1TF vulnerability on
- affected CPUs
- The kernel PTE inversion protection is unconditionally
- enabled and cannot be disabled.
- full
- Provides all available mitigations for the
- L1TF vulnerability. Disables SMT and
- enables all mitigations in the
- hypervisors, i.e. unconditional L1D flush.
- SMT control and L1D flush control via the
- sysfs interface is still possible after
- boot. Hypervisors will issue a warning
- when the first VM is started in a
- potentially insecure configuration,
- i.e. SMT enabled or L1D flush disabled.
- full,force
- Same as 'full', but disables SMT and L1D
- flush runtime control. Implies the
- 'nosmt=force' command line option.
- (i.e. sysfs control of SMT is disabled.)
- flush
- Leaves SMT enabled and enables the default
- hypervisor mitigation, i.e. conditional
- L1D flush.
- SMT control and L1D flush control via the
- sysfs interface is still possible after
- boot. Hypervisors will issue a warning
- when the first VM is started in a
- potentially insecure configuration,
- i.e. SMT enabled or L1D flush disabled.
- flush,nosmt
- Disables SMT and enables the default
- hypervisor mitigation.
- SMT control and L1D flush control via the
- sysfs interface is still possible after
- boot. Hypervisors will issue a warning
- when the first VM is started in a
- potentially insecure configuration,
- i.e. SMT enabled or L1D flush disabled.
- flush,nowarn
- Same as 'flush', but hypervisors will not
- warn when a VM is started in a potentially
- insecure configuration.
- off
- Disables hypervisor mitigations and doesn't
- emit any warnings.
- It also drops the swap size and available
- RAM limit restriction on both hypervisor and
- bare metal.
- Default is 'flush'.
- For details see: Documentation/admin-guide/hw-vuln/l1tf.rst
- l2cr= [PPC]
- l3cr= [PPC]
- lapic [X86-32,APIC] Enable the local APIC even if BIOS
- disabled it.
- lapic= [X86,APIC] Do not use TSC deadline
- value for LAPIC timer one-shot implementation. Default
- back to the programmable timer unit in the LAPIC.
- Format: notscdeadline
- lapic_timer_c2_ok [X86,APIC] trust the local apic timer
- in C2 power state.
- libata.dma= [LIBATA] DMA control
- libata.dma=0 Disable all PATA and SATA DMA
- libata.dma=1 PATA and SATA Disk DMA only
- libata.dma=2 ATAPI (CDROM) DMA only
- libata.dma=4 Compact Flash DMA only
- Combinations also work, so libata.dma=3 enables DMA
- for disks and CDROMs, but not CFs.
- libata.ignore_hpa= [LIBATA] Ignore HPA limit
- libata.ignore_hpa=0 keep BIOS limits (default)
- libata.ignore_hpa=1 ignore limits, using full disk
- libata.noacpi [LIBATA] Disables use of ACPI in libata suspend/resume
- when set.
- Format: <int>
- libata.force= [LIBATA] Force configurations. The format is comma
- separated list of "[ID:]VAL" where ID is
- PORT[.DEVICE]. PORT and DEVICE are decimal numbers
- matching port, link or device. Basically, it matches
- the ATA ID string printed on console by libata. If
- the whole ID part is omitted, the last PORT and DEVICE
- values are used. If ID hasn't been specified yet, the
- configuration applies to all ports, links and devices.
- If only DEVICE is omitted, the parameter applies to
- the port and all links and devices behind it. DEVICE
- number of 0 either selects the first device or the
- first fan-out link behind PMP device. It does not
- select the host link. DEVICE number of 15 selects the
- host link and device attached to it.
- The VAL specifies the configuration to force. As long
- as there's no ambiguity shortcut notation is allowed.
- For example, both 1.5 and 1.5G would work for 1.5Gbps.
- The following configurations can be forced.
- * Cable type: 40c, 80c, short40c, unk, ign or sata.
- Any ID with matching PORT is used.
- * SATA link speed limit: 1.5Gbps or 3.0Gbps.
- * Transfer mode: pio[0-7], mwdma[0-4] and udma[0-7].
- udma[/][16,25,33,44,66,100,133] notation is also
- allowed.
- * [no]ncq: Turn on or off NCQ.
- * [no]ncqtrim: Turn off queued DSM TRIM.
- * nohrst, nosrst, norst: suppress hard, soft
- and both resets.
- * rstonce: only attempt one reset during
- hot-unplug link recovery
- * dump_id: dump IDENTIFY data.
- * atapi_dmadir: Enable ATAPI DMADIR bridge support
- * disable: Disable this device.
- If there are multiple matching configurations changing
- the same attribute, the last one is used.
- memblock=debug [KNL] Enable memblock debug messages.
- load_ramdisk= [RAM] [Deprecated]
- lockd.nlm_grace_period=P [NFS] Assign grace period.
- Format: <integer>
- lockd.nlm_tcpport=N [NFS] Assign TCP port.
- Format: <integer>
- lockd.nlm_timeout=T [NFS] Assign timeout value.
- Format: <integer>
- lockd.nlm_udpport=M [NFS] Assign UDP port.
- Format: <integer>
- lockdown= [SECURITY]
- { integrity | confidentiality }
- Enable the kernel lockdown feature. If set to
- integrity, kernel features that allow userland to
- modify the running kernel are disabled. If set to
- confidentiality, kernel features that allow userland
- to extract confidential information from the kernel
- are also disabled.
- locktorture.nreaders_stress= [KNL]
- Set the number of locking read-acquisition kthreads.
- Defaults to being automatically set based on the
- number of online CPUs.
- locktorture.nwriters_stress= [KNL]
- Set the number of locking write-acquisition kthreads.
- locktorture.onoff_holdoff= [KNL]
- Set time (s) after boot for CPU-hotplug testing.
- locktorture.onoff_interval= [KNL]
- Set time (s) between CPU-hotplug operations, or
- zero to disable CPU-hotplug testing.
- locktorture.shuffle_interval= [KNL]
- Set task-shuffle interval (jiffies). Shuffling
- tasks allows some CPUs to go into dyntick-idle
- mode during the locktorture test.
- locktorture.shutdown_secs= [KNL]
- Set time (s) after boot system shutdown. This
- is useful for hands-off automated testing.
- locktorture.stat_interval= [KNL]
- Time (s) between statistics printk()s.
- locktorture.stutter= [KNL]
- Time (s) to stutter testing, for example,
- specifying five seconds causes the test to run for
- five seconds, wait for five seconds, and so on.
- This tests the locking primitive's ability to
- transition abruptly to and from idle.
- locktorture.torture_type= [KNL]
- Specify the locking implementation to test.
- locktorture.verbose= [KNL]
- Enable additional printk() statements.
- logibm.irq= [HW,MOUSE] Logitech Bus Mouse Driver
- Format: <irq>
- loglevel= All Kernel Messages with a loglevel smaller than the
- console loglevel will be printed to the console. It can
- also be changed with klogd or other programs. The
- loglevels are defined as follows:
- 0 (KERN_EMERG) system is unusable
- 1 (KERN_ALERT) action must be taken immediately
- 2 (KERN_CRIT) critical conditions
- 3 (KERN_ERR) error conditions
- 4 (KERN_WARNING) warning conditions
- 5 (KERN_NOTICE) normal but significant condition
- 6 (KERN_INFO) informational
- 7 (KERN_DEBUG) debug-level messages
- log_buf_len=n[KMG] Sets the size of the printk ring buffer,
- in bytes. n must be a power of two and greater
- than the minimal size. The minimal size is defined
- by LOG_BUF_SHIFT kernel config parameter. There is
- also CONFIG_LOG_CPU_MAX_BUF_SHIFT config parameter
- that allows to increase the default size depending on
- the number of CPUs. See init/Kconfig for more details.
- logo.nologo [FB] Disables display of the built-in Linux logo.
- This may be used to provide more screen space for
- kernel log messages and is useful when debugging
- kernel boot problems.
- lp=0 [LP] Specify parallel ports to use, e.g,
- lp=port[,port...] lp=none,parport0 (lp0 not configured, lp1 uses
- lp=reset first parallel port). 'lp=0' disables the
- lp=auto printer driver. 'lp=reset' (which can be
- specified in addition to the ports) causes
- attached printers to be reset. Using
- lp=port1,port2,... specifies the parallel ports
- to associate lp devices with, starting with
- lp0. A port specification may be 'none' to skip
- that lp device, or a parport name such as
- 'parport0'. Specifying 'lp=auto' instead of a
- port specification list means that device IDs
- from each port should be examined, to see if
- an IEEE 1284-compliant printer is attached; if
- so, the driver will manage that printer.
- See also header of drivers/char/lp.c.
- lpj=n [KNL]
- Sets loops_per_jiffy to given constant, thus avoiding
- time-consuming boot-time autodetection (up to 250 ms per
- CPU). 0 enables autodetection (default). To determine
- the correct value for your kernel, boot with normal
- autodetection and see what value is printed. Note that
- on SMP systems the preset will be applied to all CPUs,
- which is likely to cause problems if your CPUs need
- significantly divergent settings. An incorrect value
- will cause delays in the kernel to be wrong, leading to
- unpredictable I/O errors and other breakage. Although
- unlikely, in the extreme case this might damage your
- hardware.
- ltpc= [NET]
- Format: <io>,<irq>,<dma>
- lsm.debug [SECURITY] Enable LSM initialization debugging output.
- lsm=lsm1,...,lsmN
- [SECURITY] Choose order of LSM initialization. This
- overrides CONFIG_LSM, and the "security=" parameter.
- machvec= [IA-64] Force the use of a particular machine-vector
- (machvec) in a generic kernel.
- Example: machvec=hpzx1
- machtype= [Loongson] Share the same kernel image file between
- different yeeloong laptops.
- Example: machtype=lemote-yeeloong-2f-7inch
- max_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory greater
- than or equal to this physical address is ignored.
- maxcpus= [SMP] Maximum number of processors that an SMP kernel
- will bring up during bootup. maxcpus=n : n >= 0 limits
- the kernel to bring up 'n' processors. Surely after
- bootup you can bring up the other plugged cpu by executing
- "echo 1 > /sys/devices/system/cpu/cpuX/online". So maxcpus
- only takes effect during system bootup.
- While n=0 is a special case, it is equivalent to "nosmp",
- which also disables the IO APIC.
- max_loop= [LOOP] The number of loop block devices that get
- (loop.max_loop) unconditionally pre-created at init time. The default
- number is configured by BLK_DEV_LOOP_MIN_COUNT. Instead
- of statically allocating a predefined number, loop
- devices can be requested on-demand with the
- /dev/loop-control interface.
- mce [X86-32] Machine Check Exception
- mce=option [X86-64] See Documentation/x86/x86_64/boot-options.rst
- md= [HW] RAID subsystems devices and level
- See Documentation/admin-guide/md.rst.
- mdacon= [MDA]
- Format: <first>,<last>
- Specifies range of consoles to be captured by the MDA.
- mds= [X86,INTEL]
- Control mitigation for the Micro-architectural Data
- Sampling (MDS) vulnerability.
- Certain CPUs are vulnerable to an exploit against CPU
- internal buffers which can forward information to a
- disclosure gadget under certain conditions.
- In vulnerable processors, the speculatively
- forwarded data can be used in a cache side channel
- attack, to access data to which the attacker does
- not have direct access.
- This parameter controls the MDS mitigation. The
- options are:
- full - Enable MDS mitigation on vulnerable CPUs
- full,nosmt - Enable MDS mitigation and disable
- SMT on vulnerable CPUs
- off - Unconditionally disable MDS mitigation
- On TAA-affected machines, mds=off can be prevented by
- an active TAA mitigation as both vulnerabilities are
- mitigated with the same mechanism so in order to disable
- this mitigation, you need to specify tsx_async_abort=off
- too.
- Not specifying this option is equivalent to
- mds=full.
- For details see: Documentation/admin-guide/hw-vuln/mds.rst
- mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory
- Amount of memory to be used in cases as follows:
- 1 for test;
- 2 when the kernel is not able to see the whole system memory;
- 3 memory that lies after 'mem=' boundary is excluded from
- the hypervisor, then assigned to KVM guests.
- [X86] Work as limiting max address. Use together
- with memmap= to avoid physical address space collisions.
- Without memmap= PCI devices could be placed at addresses
- belonging to unused RAM.
- Note that this only takes effects during boot time since
- in above case 3, memory may need be hot added after boot
- if system memory of hypervisor is not sufficient.
- mem=nopentium [BUGS=X86-32] Disable usage of 4MB pages for kernel
- memory.
- memchunk=nn[KMG]
- [KNL,SH] Allow user to override the default size for
- per-device physically contiguous DMA buffers.
- memhp_default_state=online/offline
- [KNL] Set the initial state for the memory hotplug
- onlining policy. If not specified, the default value is
- set according to the
- CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE kernel config
- option.
- See Documentation/admin-guide/mm/memory-hotplug.rst.
- memmap=exactmap [KNL,X86] Enable setting of an exact
- E820 memory map, as specified by the user.
- Such memmap=exactmap lines can be constructed based on
- BIOS output or other requirements. See the memmap=nn@ss
- option description.
- memmap=nn[KMG]@ss[KMG]
- [KNL] Force usage of a specific region of memory.
- Region of memory to be used is from ss to ss+nn.
- If @ss[KMG] is omitted, it is equivalent to mem=nn[KMG],
- which limits max address to nn[KMG].
- Multiple different regions can be specified,
- comma delimited.
- Example:
- memmap=100M@2G,100M#3G,1G!1024G
- memmap=nn[KMG]#ss[KMG]
- [KNL,ACPI] Mark specific memory as ACPI data.
- Region of memory to be marked is from ss to ss+nn.
- memmap=nn[KMG]$ss[KMG]
- [KNL,ACPI] Mark specific memory as reserved.
- Region of memory to be reserved is from ss to ss+nn.
- Example: Exclude memory from 0x18690000-0x1869ffff
- memmap=64K$0x18690000
- or
- memmap=0x10000$0x18690000
- Some bootloaders may need an escape character before '$',
- like Grub2, otherwise '$' and the following number
- will be eaten.
- memmap=nn[KMG]!ss[KMG]
- [KNL,X86] Mark specific memory as protected.
- Region of memory to be used, from ss to ss+nn.
- The memory region may be marked as e820 type 12 (0xc)
- and is NVDIMM or ADR memory.
- memmap=<size>%<offset>-<oldtype>+<newtype>
- [KNL,ACPI] Convert memory within the specified region
- from <oldtype> to <newtype>. If "-<oldtype>" is left
- out, the whole region will be marked as <newtype>,
- even if previously unavailable. If "+<newtype>" is left
- out, matching memory will be removed. Types are
- specified as e820 types, e.g., 1 = RAM, 2 = reserved,
- 3 = ACPI, 12 = PRAM.
- memory_corruption_check=0/1 [X86]
- Some BIOSes seem to corrupt the first 64k of
- memory when doing things like suspend/resume.
- Setting this option will scan the memory
- looking for corruption. Enabling this will
- both detect corruption and prevent the kernel
- from using the memory being corrupted.
- However, its intended as a diagnostic tool; if
- repeatable BIOS-originated corruption always
- affects the same memory, you can use memmap=
- to prevent the kernel from using that memory.
- memory_corruption_check_size=size [X86]
- By default it checks for corruption in the low
- 64k, making this memory unavailable for normal
- use. Use this parameter to scan for
- corruption in more or less memory.
- memory_corruption_check_period=seconds [X86]
- By default it checks for corruption every 60
- seconds. Use this parameter to check at some
- other rate. 0 disables periodic checking.
- memtest= [KNL,X86,ARM,PPC] Enable memtest
- Format: <integer>
- default : 0 <disable>
- Specifies the number of memtest passes to be
- performed. Each pass selects another test
- pattern from a given set of patterns. Memtest
- fills the memory with this pattern, validates
- memory contents and reserves bad memory
- regions that are detected.
- mem_encrypt= [X86-64] AMD Secure Memory Encryption (SME) control
- Valid arguments: on, off
- Default (depends on kernel configuration option):
- on (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y)
- off (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=n)
- mem_encrypt=on: Activate SME
- mem_encrypt=off: Do not activate SME
- Refer to Documentation/virt/kvm/amd-memory-encryption.rst
- for details on when memory encryption can be activated.
- mem_sleep_default= [SUSPEND] Default system suspend mode:
- s2idle - Suspend-To-Idle
- shallow - Power-On Suspend or equivalent (if supported)
- deep - Suspend-To-RAM or equivalent (if supported)
- See Documentation/admin-guide/pm/sleep-states.rst.
- meye.*= [HW] Set MotionEye Camera parameters
- See Documentation/admin-guide/media/meye.rst.
- mfgpt_irq= [IA-32] Specify the IRQ to use for the
- Multi-Function General Purpose Timers on AMD Geode
- platforms.
- mfgptfix [X86-32] Fix MFGPT timers on AMD Geode platforms when
- the BIOS has incorrectly applied a workaround. TinyBIOS
- version 0.98 is known to be affected, 0.99 fixes the
- problem by letting the user disable the workaround.
- mga= [HW,DRM]
- min_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory below this
- physical address is ignored.
- mini2440= [ARM,HW,KNL]
- Format:[0..2][b][c][t]
- Default: "0tb"
- MINI2440 configuration specification:
- 0 - The attached screen is the 3.5" TFT
- 1 - The attached screen is the 7" TFT
- 2 - The VGA Shield is attached (1024x768)
- Leaving out the screen size parameter will not load
- the TFT driver, and the framebuffer will be left
- unconfigured.
- b - Enable backlight. The TFT backlight pin will be
- linked to the kernel VESA blanking code and a GPIO
- LED. This parameter is not necessary when using the
- VGA shield.
- c - Enable the s3c camera interface.
- t - Reserved for enabling touchscreen support. The
- touchscreen support is not enabled in the mainstream
- kernel as of 2.6.30, a preliminary port can be found
- in the "bleeding edge" mini2440 support kernel at
- https://repo.or.cz/w/linux-2.6/mini2440.git
- mitigations=
- [X86,PPC,S390,ARM64] Control optional mitigations for
- CPU vulnerabilities. This is a set of curated,
- arch-independent options, each of which is an
- aggregation of existing arch-specific options.
- off
- Disable all optional CPU mitigations. This
- improves system performance, but it may also
- expose users to several CPU vulnerabilities.
- Equivalent to: nopti [X86,PPC]
- kpti=0 [ARM64]
- nospectre_v1 [X86,PPC]
- nobp=0 [S390]
- nospectre_v2 [X86,PPC,S390,ARM64]
- spectre_v2_user=off [X86]
- spec_store_bypass_disable=off [X86,PPC]
- ssbd=force-off [ARM64]
- l1tf=off [X86]
- mds=off [X86]
- tsx_async_abort=off [X86]
- kvm.nx_huge_pages=off [X86]
- no_entry_flush [PPC]
- no_uaccess_flush [PPC]
- Exceptions:
- This does not have any effect on
- kvm.nx_huge_pages when
- kvm.nx_huge_pages=force.
- auto (default)
- Mitigate all CPU vulnerabilities, but leave SMT
- enabled, even if it's vulnerable. This is for
- users who don't want to be surprised by SMT
- getting disabled across kernel upgrades, or who
- have other ways of avoiding SMT-based attacks.
- Equivalent to: (default behavior)
- auto,nosmt
- Mitigate all CPU vulnerabilities, disabling SMT
- if needed. This is for users who always want to
- be fully mitigated, even if it means losing SMT.
- Equivalent to: l1tf=flush,nosmt [X86]
- mds=full,nosmt [X86]
- tsx_async_abort=full,nosmt [X86]
- mminit_loglevel=
- [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this
- parameter allows control of the logging verbosity for
- the additional memory initialisation checks. A value
- of 0 disables mminit logging and a level of 4 will
- log everything. Information is printed at KERN_DEBUG
- so loglevel=8 may also need to be specified.
- module.sig_enforce
- [KNL] When CONFIG_MODULE_SIG is set, this means that
- modules without (valid) signatures will fail to load.
- Note that if CONFIG_MODULE_SIG_FORCE is set, that
- is always true, so this option does nothing.
- module_blacklist= [KNL] Do not load a comma-separated list of
- modules. Useful for debugging problem modules.
- mousedev.tap_time=
- [MOUSE] Maximum time between finger touching and
- leaving touchpad surface for touch to be considered
- a tap and be reported as a left button click (for
- touchpads working in absolute mode only).
- Format: <msecs>
- mousedev.xres= [MOUSE] Horizontal screen resolution, used for devices
- reporting absolute coordinates, such as tablets
- mousedev.yres= [MOUSE] Vertical screen resolution, used for devices
- reporting absolute coordinates, such as tablets
- movablecore= [KNL,X86,IA-64,PPC]
- Format: nn[KMGTPE] | nn%
- This parameter is the complement to kernelcore=, it
- specifies the amount of memory used for migratable
- allocations. If both kernelcore and movablecore is
- specified, then kernelcore will be at *least* the
- specified value but may be more. If movablecore on its
- own is specified, the administrator must be careful
- that the amount of memory usable for all allocations
- is not too small.
- movable_node [KNL] Boot-time switch to make hotplugable memory
- NUMA nodes to be movable. This means that the memory
- of such nodes will be usable only for movable
- allocations which rules out almost all kernel
- allocations. Use with caution!
- MTD_Partition= [MTD]
- Format: <name>,<region-number>,<size>,<offset>
- MTD_Region= [MTD] Format:
- <name>,<region-number>[,<base>,<size>,<buswidth>,<altbuswidth>]
- mtdparts= [MTD]
- See drivers/mtd/parsers/cmdlinepart.c
- multitce=off [PPC] This parameter disables the use of the pSeries
- firmware feature for updating multiple TCE entries
- at a time.
- kswapd_per_node=
- kswapd_per_node allows you to control the number of kswapd threads
- running on the system. This provides the ability to devote additional
- CPU resources toward proactive page replacement with the goal of
- reducing direct reclaims. When direct reclaims are prevented, the CPU
- consumed by them is prevented as well. Depending on the workload, the
- result can cause aggregate CPU usage on the system to go up, down or
- stay the same.
- More aggressive page replacement can reduce direct reclaims which
- cause latency for tasks and decrease throughput when doing filesystem
- IO through the pagecache. Direct reclaims are recorded using the
- allocstall counter in /proc/vmstat.
- The range of acceptible values are 1-16. Always start with lower
- values in the 2-6 range. Higher values should be justified with
- testing. If direct reclaims occur in spite of high values, the cost
- of direct reclaims (in latency) that occur can be higher due to
- increased lock contention.
- onenand.bdry= [HW,MTD] Flex-OneNAND Boundary Configuration
- Format: [die0_boundary][,die0_lock][,die1_boundary][,die1_lock]
- boundary - index of last SLC block on Flex-OneNAND.
- The remaining blocks are configured as MLC blocks.
- lock - Configure if Flex-OneNAND boundary should be locked.
- Once locked, the boundary cannot be changed.
- 1 indicates lock status, 0 indicates unlock status.
- mtdset= [ARM]
- ARM/S3C2412 JIVE boot control
- See arch/arm/mach-s3c2412/mach-jive.c
- mtouchusb.raw_coordinates=
- [HW] Make the MicroTouch USB driver use raw coordinates
- ('y', default) or cooked coordinates ('n')
- mtrr_chunk_size=nn[KMG] [X86]
- used for mtrr cleanup. It is largest continuous chunk
- that could hold holes aka. UC entries.
- mtrr_gran_size=nn[KMG] [X86]
- Used for mtrr cleanup. It is granularity of mtrr block.
- Default is 1.
- Large value could prevent small alignment from
- using up MTRRs.
- mtrr_spare_reg_nr=n [X86]
- Format: <integer>
- Range: 0,7 : spare reg number
- Default : 1
- Used for mtrr cleanup. It is spare mtrr entries number.
- Set to 2 or more if your graphical card needs more.
- n2= [NET] SDL Inc. RISCom/N2 synchronous serial card
- netdev= [NET] Network devices parameters
- Format: <irq>,<io>,<mem_start>,<mem_end>,<name>
- Note that mem_start is often overloaded to mean
- something different and driver-specific.
- This usage is only documented in each driver source
- file if at all.
- nf_conntrack.acct=
- [NETFILTER] Enable connection tracking flow accounting
- 0 to disable accounting
- 1 to enable accounting
- Default value is 0.
- nfsaddrs= [NFS] Deprecated. Use ip= instead.
- See Documentation/admin-guide/nfs/nfsroot.rst.
- nfsroot= [NFS] nfs root filesystem for disk-less boxes.
- See Documentation/admin-guide/nfs/nfsroot.rst.
- nfsrootdebug [NFS] enable nfsroot debugging messages.
- See Documentation/admin-guide/nfs/nfsroot.rst.
- nfs.callback_nr_threads=
- [NFSv4] set the total number of threads that the
- NFS client will assign to service NFSv4 callback
- requests.
- nfs.callback_tcpport=
- [NFS] set the TCP port on which the NFSv4 callback
- channel should listen.
- nfs.cache_getent=
- [NFS] sets the pathname to the program which is used
- to update the NFS client cache entries.
- nfs.cache_getent_timeout=
- [NFS] sets the timeout after which an attempt to
- update a cache entry is deemed to have failed.
- nfs.idmap_cache_timeout=
- [NFS] set the maximum lifetime for idmapper cache
- entries.
- nfs.enable_ino64=
- [NFS] enable 64-bit inode numbers.
- If zero, the NFS client will fake up a 32-bit inode
- number for the readdir() and stat() syscalls instead
- of returning the full 64-bit number.
- The default is to return 64-bit inode numbers.
- nfs.max_session_cb_slots=
- [NFSv4.1] Sets the maximum number of session
- slots the client will assign to the callback
- channel. This determines the maximum number of
- callbacks the client will process in parallel for
- a particular server.
- nfs.max_session_slots=
- [NFSv4.1] Sets the maximum number of session slots
- the client will attempt to negotiate with the server.
- This limits the number of simultaneous RPC requests
- that the client can send to the NFSv4.1 server.
- Note that there is little point in setting this
- value higher than the max_tcp_slot_table_limit.
- nfs.nfs4_disable_idmapping=
- [NFSv4] When set to the default of '1', this option
- ensures that both the RPC level authentication
- scheme and the NFS level operations agree to use
- numeric uids/gids if the mount is using the
- 'sec=sys' security flavour. In effect it is
- disabling idmapping, which can make migration from
- legacy NFSv2/v3 systems to NFSv4 easier.
- Servers that do not support this mode of operation
- will be autodetected by the client, and it will fall
- back to using the idmapper.
- To turn off this behaviour, set the value to '0'.
- nfs.nfs4_unique_id=
- [NFS4] Specify an additional fixed unique ident-
- ification string that NFSv4 clients can insert into
- their nfs_client_id4 string. This is typically a
- UUID that is generated at system install time.
- nfs.send_implementation_id =
- [NFSv4.1] Send client implementation identification
- information in exchange_id requests.
- If zero, no implementation identification information
- will be sent.
- The default is to send the implementation identification
- information.
- nfs.recover_lost_locks =
- [NFSv4] Attempt to recover locks that were lost due
- to a lease timeout on the server. Please note that
- doing this risks data corruption, since there are
- no guarantees that the file will remain unchanged
- after the locks are lost.
- If you want to enable the kernel legacy behaviour of
- attempting to recover these locks, then set this
- parameter to '1'.
- The default parameter value of '0' causes the kernel
- not to attempt recovery of lost locks.
- nfs4.layoutstats_timer =
- [NFSv4.2] Change the rate at which the kernel sends
- layoutstats to the pNFS metadata server.
- Setting this to value to 0 causes the kernel to use
- whatever value is the default set by the layout
- driver. A non-zero value sets the minimum interval
- in seconds between layoutstats transmissions.
- nfsd.nfs4_disable_idmapping=
- [NFSv4] When set to the default of '1', the NFSv4
- server will return only numeric uids and gids to
- clients using auth_sys, and will accept numeric uids
- and gids from such clients. This is intended to ease
- migration from NFSv2/v3.
- nmi_backtrace.backtrace_idle [KNL]
- Dump stacks even of idle CPUs in response to an
- NMI stack-backtrace request.
- nmi_debug= [KNL,SH] Specify one or more actions to take
- when a NMI is triggered.
- Format: [state][,regs][,debounce][,die]
- nmi_watchdog= [KNL,BUGS=X86] Debugging features for SMP kernels
- Format: [panic,][nopanic,][num]
- Valid num: 0 or 1
- 0 - turn hardlockup detector in nmi_watchdog off
- 1 - turn hardlockup detector in nmi_watchdog on
- When panic is specified, panic when an NMI watchdog
- timeout occurs (or 'nopanic' to not panic on an NMI
- watchdog, if CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is set)
- To disable both hard and soft lockup detectors,
- please see 'nowatchdog'.
- This is useful when you use a panic=... timeout and
- need the box quickly up again.
- These settings can be accessed at runtime via
- the nmi_watchdog and hardlockup_panic sysctls.
- netpoll.carrier_timeout=
- [NET] Specifies amount of time (in seconds) that
- netpoll should wait for a carrier. By default netpoll
- waits 4 seconds.
- no387 [BUGS=X86-32] Tells the kernel to use the 387 maths
- emulation library even if a 387 maths coprocessor
- is present.
- no5lvl [X86-64] Disable 5-level paging mode. Forces
- kernel to use 4-level paging instead.
- nofsgsbase [X86] Disables FSGSBASE instructions.
- no_console_suspend
- [HW] Never suspend the console
- Disable suspending of consoles during suspend and
- hibernate operations. Once disabled, debugging
- messages can reach various consoles while the rest
- of the system is being put to sleep (ie, while
- debugging driver suspend/resume hooks). This may
- not work reliably with all consoles, but is known
- to work with serial and VGA consoles.
- To facilitate more flexible debugging, we also add
- console_suspend, a printk module parameter to control
- it. Users could use console_suspend (usually
- /sys/module/printk/parameters/console_suspend) to
- turn on/off it dynamically.
- novmcoredd [KNL,KDUMP]
- Disable device dump. Device dump allows drivers to
- append dump data to vmcore so you can collect driver
- specified debug info. Drivers can append the data
- without any limit and this data is stored in memory,
- so this may cause significant memory stress. Disabling
- device dump can help save memory but the driver debug
- data will be no longer available. This parameter
- is only available when CONFIG_PROC_VMCORE_DEVICE_DUMP
- is set.
- noaliencache [MM, NUMA, SLAB] Disables the allocation of alien
- caches in the slab allocator. Saves per-node memory,
- but will impact performance.
- noalign [KNL,ARM]
- noaltinstr [S390] Disables alternative instructions patching
- (CPU alternatives feature).
- noapic [SMP,APIC] Tells the kernel to not make use of any
- IOAPICs that may be present in the system.
- noautogroup Disable scheduler automatic task group creation.
- nobats [PPC] Do not use BATs for mapping kernel lowmem
- on "Classic" PPC cores.
- nocache [ARM]
- noclflush [BUGS=X86] Don't use the CLFLUSH instruction
- nodelayacct [KNL] Disable per-task delay accounting
- nodsp [SH] Disable hardware DSP at boot time.
- noefi Disable EFI runtime services support.
- no_entry_flush [PPC] Don't flush the L1-D cache when entering the kernel.
- noexec [IA-64]
- noexec [X86]
- On X86-32 available only on PAE configured kernels.
- noexec=on: enable non-executable mappings (default)
- noexec=off: disable non-executable mappings
- nosmap [X86,PPC]
- Disable SMAP (Supervisor Mode Access Prevention)
- even if it is supported by processor.
- nosmep [X86,PPC]
- Disable SMEP (Supervisor Mode Execution Prevention)
- even if it is supported by processor.
- noexec32 [X86-64]
- This affects only 32-bit executables.
- noexec32=on: enable non-executable mappings (default)
- read doesn't imply executable mappings
- noexec32=off: disable non-executable mappings
- read implies executable mappings
- nofpu [MIPS,SH] Disable hardware FPU at boot time.
- nofxsr [BUGS=X86-32] Disables x86 floating point extended
- register save and restore. The kernel will only save
- legacy floating-point registers on task switch.
- nohugeiomap [KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings.
- nosmt [KNL,S390] Disable symmetric multithreading (SMT).
- Equivalent to smt=1.
- [KNL,X86] Disable symmetric multithreading (SMT).
- nosmt=force: Force disable SMT, cannot be undone
- via the sysfs control file.
- nospectre_v1 [X86,PPC] Disable mitigations for Spectre Variant 1
- (bounds check bypass). With this option data leaks are
- possible in the system.
- nospectre_v2 [X86,PPC_FSL_BOOK3E,ARM64] Disable all mitigations for
- the Spectre variant 2 (indirect branch prediction)
- vulnerability. System may allow data leaks with this
- option.
- nospec_store_bypass_disable
- [HW] Disable all mitigations for the Speculative Store Bypass vulnerability
- no_uaccess_flush
- [PPC] Don't flush the L1-D cache after accessing user data.
- noxsave [BUGS=X86] Disables x86 extended register state save
- and restore using xsave. The kernel will fallback to
- enabling legacy floating-point and sse state.
- noxsaveopt [X86] Disables xsaveopt used in saving x86 extended
- register states. The kernel will fall back to use
- xsave to save the states. By using this parameter,
- performance of saving the states is degraded because
- xsave doesn't support modified optimization while
- xsaveopt supports it on xsaveopt enabled systems.
- noxsaves [X86] Disables xsaves and xrstors used in saving and
- restoring x86 extended register state in compacted
- form of xsave area. The kernel will fall back to use
- xsaveopt and xrstor to save and restore the states
- in standard form of xsave area. By using this
- parameter, xsave area per process might occupy more
- memory on xsaves enabled systems.
- nohlt [BUGS=ARM,SH] Tells the kernel that the sleep(SH) or
- wfi(ARM) instruction doesn't work correctly and not to
- use it. This is also useful when using JTAG debugger.
- no_file_caps Tells the kernel not to honor file capabilities. The
- only way then for a file to be executed with privilege
- is to be setuid root or executed by root.
- nohalt [IA-64] Tells the kernel not to use the power saving
- function PAL_HALT_LIGHT when idle. This increases
- power-consumption. On the positive side, it reduces
- interrupt wake-up latency, which may improve performance
- in certain environments such as networked servers or
- real-time systems.
- no_hash_pointers
- Force pointers printed to the console or buffers to be
- unhashed. By default, when a pointer is printed via %p
- format string, that pointer is "hashed", i.e. obscured
- by hashing the pointer value. This is a security feature
- that hides actual kernel addresses from unprivileged
- users, but it also makes debugging the kernel more
- difficult since unequal pointers can no longer be
- compared. However, if this command-line option is
- specified, then all normal pointers will have their true
- value printed. Pointers printed via %pK may still be
- hashed. This option should only be specified when
- debugging the kernel. Please do not use on production
- kernels.
- nohibernate [HIBERNATION] Disable hibernation and resume.
- nohz= [KNL] Boottime enable/disable dynamic ticks
- Valid arguments: on, off
- Default: on
- nohz_full= [KNL,BOOT,SMP,ISOL]
- The argument is a cpu list, as described above.
- In kernels built with CONFIG_NO_HZ_FULL=y, set
- the specified list of CPUs whose tick will be stopped
- whenever possible. The boot CPU will be forced outside
- the range to maintain the timekeeping. Any CPUs
- in this list will have their RCU callbacks offloaded,
- just as if they had also been called out in the
- rcu_nocbs= boot parameter.
- noiotrap [SH] Disables trapped I/O port accesses.
- noirqdebug [X86-32] Disables the code which attempts to detect and
- disable unhandled interrupt sources.
- no_timer_check [X86,APIC] Disables the code which tests for
- broken timer IRQ sources.
- noisapnp [ISAPNP] Disables ISA PnP code.
- noinitrd [RAM] Tells the kernel not to load any configured
- initial RAM disk.
- nointremap [X86-64, Intel-IOMMU] Do not enable interrupt
- remapping.
- [Deprecated - use intremap=off]
- nointroute [IA-64]
- noinvpcid [X86] Disable the INVPCID cpu feature.
- nojitter [IA-64] Disables jitter checking for ITC timers.
- no-kvmclock [X86,KVM] Disable paravirtualized KVM clock driver
- no-kvmapf [X86,KVM] Disable paravirtualized asynchronous page
- fault handling.
- no-vmw-sched-clock
- [X86,PV_OPS] Disable paravirtualized VMware scheduler
- clock and use the default one.
- no-steal-acc [X86,PV_OPS,ARM64] Disable paravirtualized steal time
- accounting. steal time is computed, but won't
- influence scheduler behaviour
- nolapic [X86-32,APIC] Do not enable or use the local APIC.
- nolapic_timer [X86-32,APIC] Do not use the local APIC timer.
- noltlbs [PPC] Do not use large page/tlb entries for kernel
- lowmem mapping on PPC40x and PPC8xx
- nomca [IA-64] Disable machine check abort handling
- nomce [X86-32] Disable Machine Check Exception
- nomfgpt [X86-32] Disable Multi-Function General Purpose
- Timer usage (for AMD Geode machines).
- nonmi_ipi [X86] Disable using NMI IPIs during panic/reboot to
- shutdown the other cpus. Instead use the REBOOT_VECTOR
- irq.
- nomodule Disable module load
- nopat [X86] Disable PAT (page attribute table extension of
- pagetables) support.
- nopcid [X86-64] Disable the PCID cpu feature.
- norandmaps Don't use address space randomization. Equivalent to
- echo 0 > /proc/sys/kernel/randomize_va_space
- noreplace-smp [X86-32,SMP] Don't replace SMP instructions
- with UP alternatives
- nordrand [X86] Disable kernel use of the RDRAND and
- RDSEED instructions even if they are supported
- by the processor. RDRAND and RDSEED are still
- available to user space applications.
- noresume [SWSUSP] Disables resume and restores original swap
- space.
- no-scroll [VGA] Disables scrollback.
- This is required for the Braillex ib80-piezo Braille
- reader made by F.H. Papenmeier (Germany).
- nosbagart [IA-64]
- nosep [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support.
- nosmp [SMP] Tells an SMP kernel to act as a UP kernel,
- and disable the IO APIC. legacy for "maxcpus=0".
- nosoftlockup [KNL] Disable the soft-lockup detector.
- nosync [HW,M68K] Disables sync negotiation for all devices.
- nowatchdog [KNL] Disable both lockup detectors, i.e.
- soft-lockup and NMI watchdog (hard-lockup).
- nowb [ARM]
- nox2apic [X86-64,APIC] Do not enable x2APIC mode.
- cpu0_hotplug [X86] Turn on CPU0 hotplug feature when
- CONFIG_BOOTPARAM_HOTPLUG_CPU0 is off.
- Some features depend on CPU0. Known dependencies are:
- 1. Resume from suspend/hibernate depends on CPU0.
- Suspend/hibernate will fail if CPU0 is offline and you
- need to online CPU0 before suspend/hibernate.
- 2. PIC interrupts also depend on CPU0. CPU0 can't be
- removed if a PIC interrupt is detected.
- It's said poweroff/reboot may depend on CPU0 on some
- machines although I haven't seen such issues so far
- after CPU0 is offline on a few tested machines.
- If the dependencies are under your control, you can
- turn on cpu0_hotplug.
- nps_mtm_hs_ctr= [KNL,ARC]
- This parameter sets the maximum duration, in
- cycles, each HW thread of the CTOP can run
- without interruptions, before HW switches it.
- The actual maximum duration is 16 times this
- parameter's value.
- Format: integer between 1 and 255
- Default: 255
- nptcg= [IA-64] Override max number of concurrent global TLB
- purges which is reported from either PAL_VM_SUMMARY or
- SAL PALO.
- nr_cpus= [SMP] Maximum number of processors that an SMP kernel
- could support. nr_cpus=n : n >= 1 limits the kernel to
- support 'n' processors. It could be larger than the
- number of already plugged CPU during bootup, later in
- runtime you can physically add extra cpu until it reaches
- n. So during boot up some boot time memory for per-cpu
- variables need be pre-allocated for later physical cpu
- hot plugging.
- nr_uarts= [SERIAL] maximum number of UARTs to be registered.
- numa_balancing= [KNL,X86] Enable or disable automatic NUMA balancing.
- Allowed values are enable and disable
- numa_zonelist_order= [KNL, BOOT] Select zonelist order for NUMA.
- 'node', 'default' can be specified
- This can be set from sysctl after boot.
- See Documentation/admin-guide/sysctl/vm.rst for details.
- ohci1394_dma=early [HW] enable debugging via the ohci1394 driver.
- See Documentation/core-api/debugging-via-ohci1394.rst for more
- info.
- olpc_ec_timeout= [OLPC] ms delay when issuing EC commands
- Rather than timing out after 20 ms if an EC
- command is not properly ACKed, override the length
- of the timeout. We have interrupts disabled while
- waiting for the ACK, so if this is set too high
- interrupts *may* be lost!
- omap_mux= [OMAP] Override bootloader pin multiplexing.
- Format: <mux_mode0.mode_name=value>...
- For example, to override I2C bus2:
- omap_mux=i2c2_scl.i2c2_scl=0x100,i2c2_sda.i2c2_sda=0x100
- oprofile.timer= [HW]
- Use timer interrupt instead of performance counters
- oprofile.cpu_type= Force an oprofile cpu type
- This might be useful if you have an older oprofile
- userland or if you want common events.
- Format: { arch_perfmon }
- arch_perfmon: [X86] Force use of architectural
- perfmon on Intel CPUs instead of the
- CPU specific event set.
- timer: [X86] Force use of architectural NMI
- timer mode (see also oprofile.timer
- for generic hr timer mode)
- oops=panic Always panic on oopses. Default is to just kill the
- process, but there is a small probability of
- deadlocking the machine.
- This will also cause panics on machine check exceptions.
- Useful together with panic=30 to trigger a reboot.
- page_alloc.shuffle=
- [KNL] Boolean flag to control whether the page allocator
- should randomize its free lists. The randomization may
- be automatically enabled if the kernel detects it is
- running on a platform with a direct-mapped memory-side
- cache, and this parameter can be used to
- override/disable that behavior. The state of the flag
- can be read from sysfs at:
- /sys/module/page_alloc/parameters/shuffle.
- page_owner= [KNL] Boot-time page_owner enabling option.
- Storage of the information about who allocated
- each page is disabled in default. With this switch,
- we can turn it on.
- on: enable the feature
- page_poison= [KNL] Boot-time parameter changing the state of
- poisoning on the buddy allocator, available with
- CONFIG_PAGE_POISONING=y.
- off: turn off poisoning (default)
- on: turn on poisoning
- panic= [KNL] Kernel behaviour on panic: delay <timeout>
- timeout > 0: seconds before rebooting
- timeout = 0: wait forever
- timeout < 0: reboot immediately
- Format: <timeout>
- panic_print= Bitmask for printing system info when panic happens.
- User can chose combination of the following bits:
- bit 0: print all tasks info
- bit 1: print system memory info
- bit 2: print timer info
- bit 3: print locks info if CONFIG_LOCKDEP is on
- bit 4: print ftrace buffer
- bit 5: print all printk messages in buffer
- panic_on_taint= Bitmask for conditionally calling panic() in add_taint()
- Format: <hex>[,nousertaint]
- Hexadecimal bitmask representing the set of TAINT flags
- that will cause the kernel to panic when add_taint() is
- called with any of the flags in this set.
- The optional switch "nousertaint" can be utilized to
- prevent userspace forced crashes by writing to sysctl
- /proc/sys/kernel/tainted any flagset matching with the
- bitmask set on panic_on_taint.
- See Documentation/admin-guide/tainted-kernels.rst for
- extra details on the taint flags that users can pick
- to compose the bitmask to assign to panic_on_taint.
- panic_on_warn panic() instead of WARN(). Useful to cause kdump
- on a WARN().
- pelt= [KNL] Boot-time parameter changing the PELT half life in ms
- Format: <int>
- 32: Set the half life to 32ms
- 8: Set the half life to 8ms
- default: 32
- crash_kexec_post_notifiers
- Run kdump after running panic-notifiers and dumping
- kmsg. This only for the users who doubt kdump always
- succeeds in any situation.
- Note that this also increases risks of kdump failure,
- because some panic notifiers can make the crashed
- kernel more unstable.
- parkbd.port= [HW] Parallel port number the keyboard adapter is
- connected to, default is 0.
- Format: <parport#>
- parkbd.mode= [HW] Parallel port keyboard adapter mode of operation,
- 0 for XT, 1 for AT (default is AT).
- Format: <mode>
- parport= [HW,PPT] Specify parallel ports. 0 disables.
- Format: { 0 | auto | 0xBBB[,IRQ[,DMA]] }
- Use 'auto' to force the driver to use any
- IRQ/DMA settings detected (the default is to
- ignore detected IRQ/DMA settings because of
- possible conflicts). You can specify the base
- address, IRQ, and DMA settings; IRQ and DMA
- should be numbers, or 'auto' (for using detected
- settings on that particular port), or 'nofifo'
- (to avoid using a FIFO even if it is detected).
- Parallel ports are assigned in the order they
- are specified on the command line, starting
- with parport0.
- parport_init_mode= [HW,PPT]
- Configure VIA parallel port to operate in
- a specific mode. This is necessary on Pegasos
- computer where firmware has no options for setting
- up parallel port mode and sets it to spp.
- Currently this function knows 686a and 8231 chips.
- Format: [spp|ps2|epp|ecp|ecpepp]
- pause_on_oops=
- Halt all CPUs after the first oops has been printed for
- the specified number of seconds. This is to be used if
- your oopses keep scrolling off the screen.
- pcbit= [HW,ISDN]
- pcd. [PARIDE]
- See header of drivers/block/paride/pcd.c.
- See also Documentation/admin-guide/blockdev/paride.rst.
- pci=option[,option...] [PCI] various PCI subsystem options.
- Some options herein operate on a specific device
- or a set of devices (<pci_dev>). These are
- specified in one of the following formats:
- [<domain>:]<bus>:<dev>.<func>[/<dev>.<func>]*
- pci:<vendor>:<device>[:<subvendor>:<subdevice>]
- Note: the first format specifies a PCI
- bus/device/function address which may change
- if new hardware is inserted, if motherboard
- firmware changes, or due to changes caused
- by other kernel parameters. If the
- domain is left unspecified, it is
- taken to be zero. Optionally, a path
- to a device through multiple device/function
- addresses can be specified after the base
- address (this is more robust against
- renumbering issues). The second format
- selects devices using IDs from the
- configuration space which may match multiple
- devices in the system.
- earlydump dump PCI config space before the kernel
- changes anything
- off [X86] don't probe for the PCI bus
- bios [X86-32] force use of PCI BIOS, don't access
- the hardware directly. Use this if your machine
- has a non-standard PCI host bridge.
- nobios [X86-32] disallow use of PCI BIOS, only direct
- hardware access methods are allowed. Use this
- if you experience crashes upon bootup and you
- suspect they are caused by the BIOS.
- conf1 [X86] Force use of PCI Configuration Access
- Mechanism 1 (config address in IO port 0xCF8,
- data in IO port 0xCFC, both 32-bit).
- conf2 [X86] Force use of PCI Configuration Access
- Mechanism 2 (IO port 0xCF8 is an 8-bit port for
- the function, IO port 0xCFA, also 8-bit, sets
- bus number. The config space is then accessed
- through ports 0xC000-0xCFFF).
- See http://wiki.osdev.org/PCI for more info
- on the configuration access mechanisms.
- noaer [PCIE] If the PCIEAER kernel config parameter is
- enabled, this kernel boot option can be used to
- disable the use of PCIE advanced error reporting.
- nodomains [PCI] Disable support for multiple PCI
- root domains (aka PCI segments, in ACPI-speak).
- nommconf [X86] Disable use of MMCONFIG for PCI
- Configuration
- check_enable_amd_mmconf [X86] check for and enable
- properly configured MMIO access to PCI
- config space on AMD family 10h CPU
- nomsi [MSI] If the PCI_MSI kernel config parameter is
- enabled, this kernel boot option can be used to
- disable the use of MSI interrupts system-wide.
- noioapicquirk [APIC] Disable all boot interrupt quirks.
- Safety option to keep boot IRQs enabled. This
- should never be necessary.
- ioapicreroute [APIC] Enable rerouting of boot IRQs to the
- primary IO-APIC for bridges that cannot disable
- boot IRQs. This fixes a source of spurious IRQs
- when the system masks IRQs.
- noioapicreroute [APIC] Disable workaround that uses the
- boot IRQ equivalent of an IRQ that connects to
- a chipset where boot IRQs cannot be disabled.
- The opposite of ioapicreroute.
- biosirq [X86-32] Use PCI BIOS calls to get the interrupt
- routing table. These calls are known to be buggy
- on several machines and they hang the machine
- when used, but on other computers it's the only
- way to get the interrupt routing table. Try
- this option if the kernel is unable to allocate
- IRQs or discover secondary PCI buses on your
- motherboard.
- rom [X86] Assign address space to expansion ROMs.
- Use with caution as certain devices share
- address decoders between ROMs and other
- resources.
- norom [X86] Do not assign address space to
- expansion ROMs that do not already have
- BIOS assigned address ranges.
- nobar [X86] Do not assign address space to the
- BARs that weren't assigned by the BIOS.
- irqmask=0xMMMM [X86] Set a bit mask of IRQs allowed to be
- assigned automatically to PCI devices. You can
- make the kernel exclude IRQs of your ISA cards
- this way.
- pirqaddr=0xAAAAA [X86] Specify the physical address
- of the PIRQ table (normally generated
- by the BIOS) if it is outside the
- F0000h-100000h range.
- lastbus=N [X86] Scan all buses thru bus #N. Can be
- useful if the kernel is unable to find your
- secondary buses and you want to tell it
- explicitly which ones they are.
- assign-busses [X86] Always assign all PCI bus
- numbers ourselves, overriding
- whatever the firmware may have done.
- usepirqmask [X86] Honor the possible IRQ mask stored
- in the BIOS $PIR table. This is needed on
- some systems with broken BIOSes, notably
- some HP Pavilion N5400 and Omnibook XE3
- notebooks. This will have no effect if ACPI
- IRQ routing is enabled.
- noacpi [X86] Do not use ACPI for IRQ routing
- or for PCI scanning.
- use_crs [X86] Use PCI host bridge window information
- from ACPI. On BIOSes from 2008 or later, this
- is enabled by default. If you need to use this,
- please report a bug.
- nocrs [X86] Ignore PCI host bridge windows from ACPI.
- If you need to use this, please report a bug.
- routeirq Do IRQ routing for all PCI devices.
- This is normally done in pci_enable_device(),
- so this option is a temporary workaround
- for broken drivers that don't call it.
- skip_isa_align [X86] do not align io start addr, so can
- handle more pci cards
- noearly [X86] Don't do any early type 1 scanning.
- This might help on some broken boards which
- machine check when some devices' config space
- is read. But various workarounds are disabled
- and some IOMMU drivers will not work.
- bfsort Sort PCI devices into breadth-first order.
- This sorting is done to get a device
- order compatible with older (<= 2.4) kernels.
- nobfsort Don't sort PCI devices into breadth-first order.
- pcie_bus_tune_off Disable PCIe MPS (Max Payload Size)
- tuning and use the BIOS-configured MPS defaults.
- pcie_bus_safe Set every device's MPS to the largest value
- supported by all devices below the root complex.
- pcie_bus_perf Set device MPS to the largest allowable MPS
- based on its parent bus. Also set MRRS (Max
- Read Request Size) to the largest supported
- value (no larger than the MPS that the device
- or bus can support) for best performance.
- pcie_bus_peer2peer Set every device's MPS to 128B, which
- every device is guaranteed to support. This
- configuration allows peer-to-peer DMA between
- any pair of devices, possibly at the cost of
- reduced performance. This also guarantees
- that hot-added devices will work.
- cbiosize=nn[KMG] The fixed amount of bus space which is
- reserved for the CardBus bridge's IO window.
- The default value is 256 bytes.
- cbmemsize=nn[KMG] The fixed amount of bus space which is
- reserved for the CardBus bridge's memory
- window. The default value is 64 megabytes.
- resource_alignment=
- Format:
- [<order of align>@]<pci_dev>[; ...]
- Specifies alignment and device to reassign
- aligned memory resources. How to
- specify the device is described above.
- If <order of align> is not specified,
- PAGE_SIZE is used as alignment.
- A PCI-PCI bridge can be specified if resource
- windows need to be expanded.
- To specify the alignment for several
- instances of a device, the PCI vendor,
- device, subvendor, and subdevice may be
- specified, e.g., 12@pci:8086:9c22:103c:198f
- for 4096-byte alignment.
- ecrc= Enable/disable PCIe ECRC (transaction layer
- end-to-end CRC checking).
- bios: Use BIOS/firmware settings. This is the
- the default.
- off: Turn ECRC off
- on: Turn ECRC on.
- hpiosize=nn[KMG] The fixed amount of bus space which is
- reserved for hotplug bridge's IO window.
- Default size is 256 bytes.
- hpmmiosize=nn[KMG] The fixed amount of bus space which is
- reserved for hotplug bridge's MMIO window.
- Default size is 2 megabytes.
- hpmmioprefsize=nn[KMG] The fixed amount of bus space which is
- reserved for hotplug bridge's MMIO_PREF window.
- Default size is 2 megabytes.
- hpmemsize=nn[KMG] The fixed amount of bus space which is
- reserved for hotplug bridge's MMIO and
- MMIO_PREF window.
- Default size is 2 megabytes.
- hpbussize=nn The minimum amount of additional bus numbers
- reserved for buses below a hotplug bridge.
- Default is 1.
- realloc= Enable/disable reallocating PCI bridge resources
- if allocations done by BIOS are too small to
- accommodate resources required by all child
- devices.
- off: Turn realloc off
- on: Turn realloc on
- realloc same as realloc=on
- noari do not use PCIe ARI.
- noats [PCIE, Intel-IOMMU, AMD-IOMMU]
- do not use PCIe ATS (and IOMMU device IOTLB).
- pcie_scan_all Scan all possible PCIe devices. Otherwise we
- only look for one device below a PCIe downstream
- port.
- big_root_window Try to add a big 64bit memory window to the PCIe
- root complex on AMD CPUs. Some GFX hardware
- can resize a BAR to allow access to all VRAM.
- Adding the window is slightly risky (it may
- conflict with unreported devices), so this
- taints the kernel.
- disable_acs_redir=<pci_dev>[; ...]
- Specify one or more PCI devices (in the format
- specified above) separated by semicolons.
- Each device specified will have the PCI ACS
- redirect capabilities forced off which will
- allow P2P traffic between devices through
- bridges without forcing it upstream. Note:
- this removes isolation between devices and
- may put more devices in an IOMMU group.
- force_floating [S390] Force usage of floating interrupts.
- nomio [S390] Do not use MIO instructions.
- norid [S390] ignore the RID field and force use of
- one PCI domain per PCI function
- pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power
- Management.
- off Disable ASPM.
- force Enable ASPM even on devices that claim not to support it.
- WARNING: Forcing ASPM on may cause system lockups.
- pcie_ports= [PCIE] PCIe port services handling:
- native Use native PCIe services (PME, AER, DPC, PCIe hotplug)
- even if the platform doesn't give the OS permission to
- use them. This may cause conflicts if the platform
- also tries to use these services.
- dpc-native Use native PCIe service for DPC only. May
- cause conflicts if firmware uses AER or DPC.
- compat Disable native PCIe services (PME, AER, DPC, PCIe
- hotplug).
- pcie_port_pm= [PCIE] PCIe port power management handling:
- off Disable power management of all PCIe ports
- force Forcibly enable power management of all PCIe ports
- pcie_pme= [PCIE,PM] Native PCIe PME signaling options:
- nomsi Do not use MSI for native PCIe PME signaling (this makes
- all PCIe root ports use INTx for all services).
- pcmv= [HW,PCMCIA] BadgePAD 4
- pd_ignore_unused
- [PM]
- Keep all power-domains already enabled by bootloader on,
- even if no driver has claimed them. This is useful
- for debug and development, but should not be
- needed on a platform with proper driver support.
- pd. [PARIDE]
- See Documentation/admin-guide/blockdev/paride.rst.
- pdcchassis= [PARISC,HW] Disable/Enable PDC Chassis Status codes at
- boot time.
- Format: { 0 | 1 }
- See arch/parisc/kernel/pdc_chassis.c
- percpu_alloc= Select which percpu first chunk allocator to use.
- Currently supported values are "embed" and "page".
- Archs may support subset or none of the selections.
- See comments in mm/percpu.c for details on each
- allocator. This parameter is primarily for debugging
- and performance comparison.
- pf. [PARIDE]
- See Documentation/admin-guide/blockdev/paride.rst.
- pg. [PARIDE]
- See Documentation/admin-guide/blockdev/paride.rst.
- pirq= [SMP,APIC] Manual mp-table setup
- See Documentation/x86/i386/IO-APIC.rst.
- plip= [PPT,NET] Parallel port network link
- Format: { parport<nr> | timid | 0 }
- See also Documentation/admin-guide/parport.rst.
- pmtmr= [X86] Manual setup of pmtmr I/O Port.
- Override pmtimer IOPort with a hex value.
- e.g. pmtmr=0x508
- pm_debug_messages [SUSPEND,KNL]
- Enable suspend/resume debug messages during boot up.
- pnp.debug=1 [PNP]
- Enable PNP debug messages (depends on the
- CONFIG_PNP_DEBUG_MESSAGES option). Change at run-time
- via /sys/module/pnp/parameters/debug. We always show
- current resource usage; turning this on also shows
- possible settings and some assignment information.
- pnpacpi= [ACPI]
- { off }
- pnpbios= [ISAPNP]
- { on | off | curr | res | no-curr | no-res }
- pnp_reserve_irq=
- [ISAPNP] Exclude IRQs for the autoconfiguration
- pnp_reserve_dma=
- [ISAPNP] Exclude DMAs for the autoconfiguration
- pnp_reserve_io= [ISAPNP] Exclude I/O ports for the autoconfiguration
- Ranges are in pairs (I/O port base and size).
- pnp_reserve_mem=
- [ISAPNP] Exclude memory regions for the
- autoconfiguration.
- Ranges are in pairs (memory base and size).
- ports= [IP_VS_FTP] IPVS ftp helper module
- Default is 21.
- Up to 8 (IP_VS_APP_MAX_PORTS) ports
- may be specified.
- Format: <port>,<port>....
- powersave=off [PPC] This option disables power saving features.
- It specifically disables cpuidle and sets the
- platform machine description specific power_save
- function to NULL. On Idle the CPU just reduces
- execution priority.
- ppc_strict_facility_enable
- [PPC] This option catches any kernel floating point,
- Altivec, VSX and SPE outside of regions specifically
- allowed (eg kernel_enable_fpu()/kernel_disable_fpu()).
- There is some performance impact when enabling this.
- ppc_tm= [PPC]
- Format: {"off"}
- Disable Hardware Transactional Memory
- print-fatal-signals=
- [KNL] debug: print fatal signals
- If enabled, warn about various signal handling
- related application anomalies: too many signals,
- too many POSIX.1 timers, fatal signals causing a
- coredump - etc.
- If you hit the warning due to signal overflow,
- you might want to try "ulimit -i unlimited".
- default: off.
- printk.always_kmsg_dump=
- Trigger kmsg_dump for cases other than kernel oops or
- panics
- Format: <bool> (1/Y/y=enable, 0/N/n=disable)
- default: disabled
- printk.devkmsg={on,off,ratelimit}
- Control writing to /dev/kmsg.
- on - unlimited logging to /dev/kmsg from userspace
- off - logging to /dev/kmsg disabled
- ratelimit - ratelimit the logging
- Default: ratelimit
- printk.time= Show timing data prefixed to each printk message line
- Format: <bool> (1/Y/y=enable, 0/N/n=disable)
- processor.max_cstate= [HW,ACPI]
- Limit processor to maximum C-state
- max_cstate=9 overrides any DMI blacklist limit.
- processor.nocst [HW,ACPI]
- Ignore the _CST method to determine C-states,
- instead using the legacy FADT method
- profile= [KNL] Enable kernel profiling via /proc/profile
- Format: [<profiletype>,]<number>
- Param: <profiletype>: "schedule", "sleep", or "kvm"
- [defaults to kernel profiling]
- Param: "schedule" - profile schedule points.
- Param: "sleep" - profile D-state sleeping (millisecs).
- Requires CONFIG_SCHEDSTATS
- Param: "kvm" - profile VM exits.
- Param: <number> - step/bucket size as a power of 2 for
- statistical time based profiling.
- prompt_ramdisk= [RAM] [Deprecated]
- prot_virt= [S390] enable hosting protected virtual machines
- isolated from the hypervisor (if hardware supports
- that).
- Format: <bool>
- psi= [KNL] Enable or disable pressure stall information
- tracking.
- Format: <bool>
- psmouse.proto= [HW,MOUSE] Highest PS2 mouse protocol extension to
- probe for; one of (bare|imps|exps|lifebook|any).
- psmouse.rate= [HW,MOUSE] Set desired mouse report rate, in reports
- per second.
- psmouse.resetafter= [HW,MOUSE]
- Try to reset the device after so many bad packets
- (0 = never).
- psmouse.resolution=
- [HW,MOUSE] Set desired mouse resolution, in dpi.
- psmouse.smartscroll=
- [HW,MOUSE] Controls Logitech smartscroll autorepeat.
- 0 = disabled, 1 = enabled (default).
- pstore.backend= Specify the name of the pstore backend to use
- pt. [PARIDE]
- See Documentation/admin-guide/blockdev/paride.rst.
- pti= [X86-64] Control Page Table Isolation of user and
- kernel address spaces. Disabling this feature
- removes hardening, but improves performance of
- system calls and interrupts.
- on - unconditionally enable
- off - unconditionally disable
- auto - kernel detects whether your CPU model is
- vulnerable to issues that PTI mitigates
- Not specifying this option is equivalent to pti=auto.
- nopti [X86-64]
- Equivalent to pti=off
- pty.legacy_count=
- [KNL] Number of legacy pty's. Overwrites compiled-in
- default number.
- quiet [KNL] Disable most log messages
- r128= [HW,DRM]
- raid= [HW,RAID]
- See Documentation/admin-guide/md.rst.
- ramdisk_size= [RAM] Sizes of RAM disks in kilobytes
- See Documentation/admin-guide/blockdev/ramdisk.rst.
- ramdisk_start= [RAM] RAM disk image start address
- random.trust_cpu={on,off}
- [KNL] Enable or disable trusting the use of the
- CPU's random number generator (if available) to
- fully seed the kernel's CRNG. Default is controlled
- by CONFIG_RANDOM_TRUST_CPU.
- ras=option[,option,...] [KNL] RAS-specific options
- cec_disable [X86]
- Disable the Correctable Errors Collector,
- see CONFIG_RAS_CEC help text.
- rcu_nocbs= [KNL]
- The argument is a cpu list, as described above,
- except that the string "all" can be used to
- specify every CPU on the system.
- In kernels built with CONFIG_RCU_NOCB_CPU=y, set
- the specified list of CPUs to be no-callback CPUs.
- Invocation of these CPUs' RCU callbacks will be
- offloaded to "rcuox/N" kthreads created for that
- purpose, where "x" is "p" for RCU-preempt, and
- "s" for RCU-sched, and "N" is the CPU number.
- This reduces OS jitter on the offloaded CPUs,
- which can be useful for HPC and real-time
- workloads. It can also improve energy efficiency
- for asymmetric multiprocessors.
- rcu_nocb_poll [KNL]
- Rather than requiring that offloaded CPUs
- (specified by rcu_nocbs= above) explicitly
- awaken the corresponding "rcuoN" kthreads,
- make these kthreads poll for callbacks.
- This improves the real-time response for the
- offloaded CPUs by relieving them of the need to
- wake up the corresponding kthread, but degrades
- energy efficiency by requiring that the kthreads
- periodically wake up to do the polling.
- rcutree.blimit= [KNL]
- Set maximum number of finished RCU callbacks to
- process in one batch.
- rcutree.dump_tree= [KNL]
- Dump the structure of the rcu_node combining tree
- out at early boot. This is used for diagnostic
- purposes, to verify correct tree setup.
- rcutree.gp_cleanup_delay= [KNL]
- Set the number of jiffies to delay each step of
- RCU grace-period cleanup.
- rcutree.gp_init_delay= [KNL]
- Set the number of jiffies to delay each step of
- RCU grace-period initialization.
- rcutree.gp_preinit_delay= [KNL]
- Set the number of jiffies to delay each step of
- RCU grace-period pre-initialization, that is,
- the propagation of recent CPU-hotplug changes up
- the rcu_node combining tree.
- rcutree.use_softirq= [KNL]
- If set to zero, move all RCU_SOFTIRQ processing to
- per-CPU rcuc kthreads. Defaults to a non-zero
- value, meaning that RCU_SOFTIRQ is used by default.
- Specify rcutree.use_softirq=0 to use rcuc kthreads.
- rcutree.rcu_fanout_exact= [KNL]
- Disable autobalancing of the rcu_node combining
- tree. This is used by rcutorture, and might
- possibly be useful for architectures having high
- cache-to-cache transfer latencies.
- rcutree.rcu_fanout_leaf= [KNL]
- Change the number of CPUs assigned to each
- leaf rcu_node structure. Useful for very
- large systems, which will choose the value 64,
- and for NUMA systems with large remote-access
- latencies, which will choose a value aligned
- with the appropriate hardware boundaries.
- rcutree.rcu_min_cached_objs= [KNL]
- Minimum number of objects which are cached and
- maintained per one CPU. Object size is equal
- to PAGE_SIZE. The cache allows to reduce the
- pressure to page allocator, also it makes the
- whole algorithm to behave better in low memory
- condition.
- rcutree.jiffies_till_first_fqs= [KNL]
- Set delay from grace-period initialization to
- first attempt to force quiescent states.
- Units are jiffies, minimum value is zero,
- and maximum value is HZ.
- rcutree.jiffies_till_next_fqs= [KNL]
- Set delay between subsequent attempts to force
- quiescent states. Units are jiffies, minimum
- value is one, and maximum value is HZ.
- rcutree.jiffies_till_sched_qs= [KNL]
- Set required age in jiffies for a
- given grace period before RCU starts
- soliciting quiescent-state help from
- rcu_note_context_switch() and cond_resched().
- If not specified, the kernel will calculate
- a value based on the most recent settings
- of rcutree.jiffies_till_first_fqs
- and rcutree.jiffies_till_next_fqs.
- This calculated value may be viewed in
- rcutree.jiffies_to_sched_qs. Any attempt to set
- rcutree.jiffies_to_sched_qs will be cheerfully
- overwritten.
- rcutree.kthread_prio= [KNL,BOOT]
- Set the SCHED_FIFO priority of the RCU per-CPU
- kthreads (rcuc/N). This value is also used for
- the priority of the RCU boost threads (rcub/N)
- and for the RCU grace-period kthreads (rcu_bh,
- rcu_preempt, and rcu_sched). If RCU_BOOST is
- set, valid values are 1-99 and the default is 1
- (the least-favored priority). Otherwise, when
- RCU_BOOST is not set, valid values are 0-99 and
- the default is zero (non-realtime operation).
- rcutree.rcu_nocb_gp_stride= [KNL]
- Set the number of NOCB callback kthreads in
- each group, which defaults to the square root
- of the number of CPUs. Larger numbers reduce
- the wakeup overhead on the global grace-period
- kthread, but increases that same overhead on
- each group's NOCB grace-period kthread.
- rcutree.qhimark= [KNL]
- Set threshold of queued RCU callbacks beyond which
- batch limiting is disabled.
- rcutree.qlowmark= [KNL]
- Set threshold of queued RCU callbacks below which
- batch limiting is re-enabled.
- rcutree.qovld= [KNL]
- Set threshold of queued RCU callbacks beyond which
- RCU's force-quiescent-state scan will aggressively
- enlist help from cond_resched() and sched IPIs to
- help CPUs more quickly reach quiescent states.
- Set to less than zero to make this be set based
- on rcutree.qhimark at boot time and to zero to
- disable more aggressive help enlistment.
- rcutree.rcu_idle_gp_delay= [KNL]
- Set wakeup interval for idle CPUs that have
- RCU callbacks (RCU_FAST_NO_HZ=y).
- rcutree.rcu_idle_lazy_gp_delay= [KNL]
- Set wakeup interval for idle CPUs that have
- only "lazy" RCU callbacks (RCU_FAST_NO_HZ=y).
- Lazy RCU callbacks are those which RCU can
- prove do nothing more than free memory.
- rcutree.rcu_kick_kthreads= [KNL]
- Cause the grace-period kthread to get an extra
- wake_up() if it sleeps three times longer than
- it should at force-quiescent-state time.
- This wake_up() will be accompanied by a
- WARN_ONCE() splat and an ftrace_dump().
- rcutree.rcu_unlock_delay= [KNL]
- In CONFIG_RCU_STRICT_GRACE_PERIOD=y kernels,
- this specifies an rcu_read_unlock()-time delay
- in microseconds. This defaults to zero.
- Larger delays increase the probability of
- catching RCU pointer leaks, that is, buggy use
- of RCU-protected pointers after the relevant
- rcu_read_unlock() has completed.
- rcutree.sysrq_rcu= [KNL]
- Commandeer a sysrq key to dump out Tree RCU's
- rcu_node tree with an eye towards determining
- why a new grace period has not yet started.
- rcuscale.gp_async= [KNL]
- Measure performance of asynchronous
- grace-period primitives such as call_rcu().
- rcuscale.gp_async_max= [KNL]
- Specify the maximum number of outstanding
- callbacks per writer thread. When a writer
- thread exceeds this limit, it invokes the
- corresponding flavor of rcu_barrier() to allow
- previously posted callbacks to drain.
- rcuscale.gp_exp= [KNL]
- Measure performance of expedited synchronous
- grace-period primitives.
- rcuscale.holdoff= [KNL]
- Set test-start holdoff period. The purpose of
- this parameter is to delay the start of the
- test until boot completes in order to avoid
- interference.
- rcuscale.kfree_rcu_test= [KNL]
- Set to measure performance of kfree_rcu() flooding.
- rcuscale.kfree_nthreads= [KNL]
- The number of threads running loops of kfree_rcu().
- rcuscale.kfree_alloc_num= [KNL]
- Number of allocations and frees done in an iteration.
- rcuscale.kfree_loops= [KNL]
- Number of loops doing rcuscale.kfree_alloc_num number
- of allocations and frees.
- rcuscale.nreaders= [KNL]
- Set number of RCU readers. The value -1 selects
- N, where N is the number of CPUs. A value
- "n" less than -1 selects N-n+1, where N is again
- the number of CPUs. For example, -2 selects N
- (the number of CPUs), -3 selects N+1, and so on.
- A value of "n" less than or equal to -N selects
- a single reader.
- rcuscale.nwriters= [KNL]
- Set number of RCU writers. The values operate
- the same as for rcuscale.nreaders.
- N, where N is the number of CPUs
- rcuscale.perf_type= [KNL]
- Specify the RCU implementation to test.
- rcuscale.shutdown= [KNL]
- Shut the system down after performance tests
- complete. This is useful for hands-off automated
- testing.
- rcuscale.verbose= [KNL]
- Enable additional printk() statements.
- rcuscale.writer_holdoff= [KNL]
- Write-side holdoff between grace periods,
- in microseconds. The default of zero says
- no holdoff.
- rcutorture.fqs_duration= [KNL]
- Set duration of force_quiescent_state bursts
- in microseconds.
- rcutorture.fqs_holdoff= [KNL]
- Set holdoff time within force_quiescent_state bursts
- in microseconds.
- rcutorture.fqs_stutter= [KNL]
- Set wait time between force_quiescent_state bursts
- in seconds.
- rcutorture.fwd_progress= [KNL]
- Enable RCU grace-period forward-progress testing
- for the types of RCU supporting this notion.
- rcutorture.fwd_progress_div= [KNL]
- Specify the fraction of a CPU-stall-warning
- period to do tight-loop forward-progress testing.
- rcutorture.fwd_progress_holdoff= [KNL]
- Number of seconds to wait between successive
- forward-progress tests.
- rcutorture.fwd_progress_need_resched= [KNL]
- Enclose cond_resched() calls within checks for
- need_resched() during tight-loop forward-progress
- testing.
- rcutorture.gp_cond= [KNL]
- Use conditional/asynchronous update-side
- primitives, if available.
- rcutorture.gp_exp= [KNL]
- Use expedited update-side primitives, if available.
- rcutorture.gp_normal= [KNL]
- Use normal (non-expedited) asynchronous
- update-side primitives, if available.
- rcutorture.gp_sync= [KNL]
- Use normal (non-expedited) synchronous
- update-side primitives, if available. If all
- of rcutorture.gp_cond=, rcutorture.gp_exp=,
- rcutorture.gp_normal=, and rcutorture.gp_sync=
- are zero, rcutorture acts as if is interpreted
- they are all non-zero.
- rcutorture.irqreader= [KNL]
- Run RCU readers from irq handlers, or, more
- accurately, from a timer handler. Not all RCU
- flavors take kindly to this sort of thing.
- rcutorture.leakpointer= [KNL]
- Leak an RCU-protected pointer out of the reader.
- This can of course result in splats, and is
- intended to test the ability of things like
- CONFIG_RCU_STRICT_GRACE_PERIOD=y to detect
- such leaks.
- rcutorture.n_barrier_cbs= [KNL]
- Set callbacks/threads for rcu_barrier() testing.
- rcutorture.nfakewriters= [KNL]
- Set number of concurrent RCU writers. These just
- stress RCU, they don't participate in the actual
- test, hence the "fake".
- rcutorture.nreaders= [KNL]
- Set number of RCU readers. The value -1 selects
- N-1, where N is the number of CPUs. A value
- "n" less than -1 selects N-n-2, where N is again
- the number of CPUs. For example, -2 selects N
- (the number of CPUs), -3 selects N+1, and so on.
- rcutorture.object_debug= [KNL]
- Enable debug-object double-call_rcu() testing.
- rcutorture.onoff_holdoff= [KNL]
- Set time (s) after boot for CPU-hotplug testing.
- rcutorture.onoff_interval= [KNL]
- Set time (jiffies) between CPU-hotplug operations,
- or zero to disable CPU-hotplug testing.
- rcutorture.read_exit= [KNL]
- Set the number of read-then-exit kthreads used
- to test the interaction of RCU updaters and
- task-exit processing.
- rcutorture.read_exit_burst= [KNL]
- The number of times in a given read-then-exit
- episode that a set of read-then-exit kthreads
- is spawned.
- rcutorture.read_exit_delay= [KNL]
- The delay, in seconds, between successive
- read-then-exit testing episodes.
- rcutorture.shuffle_interval= [KNL]
- Set task-shuffle interval (s). Shuffling tasks
- allows some CPUs to go into dyntick-idle mode
- during the rcutorture test.
- rcutorture.shutdown_secs= [KNL]
- Set time (s) after boot system shutdown. This
- is useful for hands-off automated testing.
- rcutorture.stall_cpu= [KNL]
- Duration of CPU stall (s) to test RCU CPU stall
- warnings, zero to disable.
- rcutorture.stall_cpu_block= [KNL]
- Sleep while stalling if set. This will result
- in warnings from preemptible RCU in addition
- to any other stall-related activity.
- rcutorture.stall_cpu_holdoff= [KNL]
- Time to wait (s) after boot before inducing stall.
- rcutorture.stall_cpu_irqsoff= [KNL]
- Disable interrupts while stalling if set.
- rcutorture.stall_gp_kthread= [KNL]
- Duration (s) of forced sleep within RCU
- grace-period kthread to test RCU CPU stall
- warnings, zero to disable. If both stall_cpu
- and stall_gp_kthread are specified, the
- kthread is starved first, then the CPU.
- rcutorture.stat_interval= [KNL]
- Time (s) between statistics printk()s.
- rcutorture.stutter= [KNL]
- Time (s) to stutter testing, for example, specifying
- five seconds causes the test to run for five seconds,
- wait for five seconds, and so on. This tests RCU's
- ability to transition abruptly to and from idle.
- rcutorture.test_boost= [KNL]
- Test RCU priority boosting? 0=no, 1=maybe, 2=yes.
- "Maybe" means test if the RCU implementation
- under test support RCU priority boosting.
- rcutorture.test_boost_duration= [KNL]
- Duration (s) of each individual boost test.
- rcutorture.test_boost_interval= [KNL]
- Interval (s) between each boost test.
- rcutorture.test_no_idle_hz= [KNL]
- Test RCU's dyntick-idle handling. See also the
- rcutorture.shuffle_interval parameter.
- rcutorture.torture_type= [KNL]
- Specify the RCU implementation to test.
- rcutorture.verbose= [KNL]
- Enable additional printk() statements.
- rcupdate.rcu_cpu_stall_ftrace_dump= [KNL]
- Dump ftrace buffer after reporting RCU CPU
- stall warning.
- rcupdate.rcu_cpu_stall_suppress= [KNL]
- Suppress RCU CPU stall warning messages.
- rcupdate.rcu_cpu_stall_suppress_at_boot= [KNL]
- Suppress RCU CPU stall warning messages and
- rcutorture writer stall warnings that occur
- during early boot, that is, during the time
- before the init task is spawned.
- rcupdate.rcu_cpu_stall_timeout= [KNL]
- Set timeout for RCU CPU stall warning messages.
- rcupdate.rcu_expedited= [KNL]
- Use expedited grace-period primitives, for
- example, synchronize_rcu_expedited() instead
- of synchronize_rcu(). This reduces latency,
- but can increase CPU utilization, degrade
- real-time latency, and degrade energy efficiency.
- No effect on CONFIG_TINY_RCU kernels.
- rcupdate.rcu_normal= [KNL]
- Use only normal grace-period primitives,
- for example, synchronize_rcu() instead of
- synchronize_rcu_expedited(). This improves
- real-time latency, CPU utilization, and
- energy efficiency, but can expose users to
- increased grace-period latency. This parameter
- overrides rcupdate.rcu_expedited. No effect on
- CONFIG_TINY_RCU kernels.
- rcupdate.rcu_normal_after_boot= [KNL]
- Once boot has completed (that is, after
- rcu_end_inkernel_boot() has been invoked), use
- only normal grace-period primitives. No effect
- on CONFIG_TINY_RCU kernels.
- rcupdate.rcu_task_ipi_delay= [KNL]
- Set time in jiffies during which RCU tasks will
- avoid sending IPIs, starting with the beginning
- of a given grace period. Setting a large
- number avoids disturbing real-time workloads,
- but lengthens grace periods.
- rcupdate.rcu_task_stall_timeout= [KNL]
- Set timeout in jiffies for RCU task stall warning
- messages. Disable with a value less than or equal
- to zero.
- rcupdate.rcu_self_test= [KNL]
- Run the RCU early boot self tests
- rdinit= [KNL]
- Format: <full_path>
- Run specified binary instead of /init from the ramdisk,
- used for early userspace startup. See initrd.
- rdrand= [X86]
- force - Override the decision by the kernel to hide the
- advertisement of RDRAND support (this affects
- certain AMD processors because of buggy BIOS
- support, specifically around the suspend/resume
- path).
- rdt= [HW,X86,RDT]
- Turn on/off individual RDT features. List is:
- cmt, mbmtotal, mbmlocal, l3cat, l3cdp, l2cat, l2cdp,
- mba.
- E.g. to turn on cmt and turn off mba use:
- rdt=cmt,!mba
- reboot= [KNL]
- Format (x86 or x86_64):
- [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] \
- [[,]s[mp]#### \
- [[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
- [[,]f[orce]
- Where reboot_mode is one of warm (soft) or cold (hard) or gpio
- (prefix with 'panic_' to set mode for panic
- reboot only),
- reboot_type is one of bios, acpi, kbd, triple, efi, or pci,
- reboot_force is either force or not specified,
- reboot_cpu is s[mp]#### with #### being the processor
- to be used for rebooting.
- refscale.holdoff= [KNL]
- Set test-start holdoff period. The purpose of
- this parameter is to delay the start of the
- test until boot completes in order to avoid
- interference.
- refscale.loops= [KNL]
- Set the number of loops over the synchronization
- primitive under test. Increasing this number
- reduces noise due to loop start/end overhead,
- but the default has already reduced the per-pass
- noise to a handful of picoseconds on ca. 2020
- x86 laptops.
- refscale.nreaders= [KNL]
- Set number of readers. The default value of -1
- selects N, where N is roughly 75% of the number
- of CPUs. A value of zero is an interesting choice.
- refscale.nruns= [KNL]
- Set number of runs, each of which is dumped onto
- the console log.
- refscale.readdelay= [KNL]
- Set the read-side critical-section duration,
- measured in microseconds.
- refscale.scale_type= [KNL]
- Specify the read-protection implementation to test.
- refscale.shutdown= [KNL]
- Shut down the system at the end of the performance
- test. This defaults to 1 (shut it down) when
- refscale is built into the kernel and to 0 (leave
- it running) when refscale is built as a module.
- refscale.verbose= [KNL]
- Enable additional printk() statements.
- relax_domain_level=
- [KNL, SMP] Set scheduler's default relax_domain_level.
- See Documentation/admin-guide/cgroup-v1/cpusets.rst.
- reserve= [KNL,BUGS] Force kernel to ignore I/O ports or memory
- Format: <base1>,<size1>[,<base2>,<size2>,...]
- Reserve I/O ports or memory so the kernel won't use
- them. If <base> is less than 0x10000, the region
- is assumed to be I/O ports; otherwise it is memory.
- reservetop= [X86-32]
- Format: nn[KMG]
- Reserves a hole at the top of the kernel virtual
- address space.
- reservelow= [X86]
- Format: nn[K]
- Set the amount of memory to reserve for BIOS at
- the bottom of the address space.
- reset_devices [KNL] Force drivers to reset the underlying device
- during initialization.
- resume= [SWSUSP]
- Specify the partition device for software suspend
- Format:
- {/dev/<dev> | PARTUUID=<uuid> | <int>:<int> | <hex>}
- resume_offset= [SWSUSP]
- Specify the offset from the beginning of the partition
- given by "resume=" at which the swap header is located,
- in <PAGE_SIZE> units (needed only for swap files).
- See Documentation/power/swsusp-and-swap-files.rst
- resumedelay= [HIBERNATION] Delay (in seconds) to pause before attempting to
- read the resume files
- resumewait [HIBERNATION] Wait (indefinitely) for resume device to show up.
- Useful for devices that are detected asynchronously
- (e.g. USB and MMC devices).
- hibernate= [HIBERNATION]
- noresume Don't check if there's a hibernation image
- present during boot.
- nocompress Don't compress/decompress hibernation images.
- no Disable hibernation and resume.
- protect_image Turn on image protection during restoration
- (that will set all pages holding image data
- during restoration read-only).
- retain_initrd [RAM] Keep initrd memory after extraction
- rfkill.default_state=
- 0 "airplane mode". All wifi, bluetooth, wimax, gps, fm,
- etc. communication is blocked by default.
- 1 Unblocked.
- rfkill.master_switch_mode=
- 0 The "airplane mode" button does nothing.
- 1 The "airplane mode" button toggles between everything
- blocked and the previous configuration.
- 2 The "airplane mode" button toggles between everything
- blocked and everything unblocked.
- rhash_entries= [KNL,NET]
- Set number of hash buckets for route cache
- ring3mwait=disable
- [KNL] Disable ring 3 MONITOR/MWAIT feature on supported
- CPUs.
- ro [KNL] Mount root device read-only on boot
- rodata= [KNL]
- on Mark read-only kernel memory as read-only (default).
- off Leave read-only kernel memory writable for debugging.
- rockchip.usb_uart
- Enable the uart passthrough on the designated usb port
- on Rockchip SoCs. When active, the signals of the
- debug-uart get routed to the D+ and D- pins of the usb
- port and the regular usb controller gets disabled.
- root= [KNL] Root filesystem
- See name_to_dev_t comment in init/do_mounts.c.
- rootdelay= [KNL] Delay (in seconds) to pause before attempting to
- mount the root filesystem
- rootflags= [KNL] Set root filesystem mount option string
- rootfstype= [KNL] Set root filesystem type
- rootwait [KNL] Wait (indefinitely) for root device to show up.
- Useful for devices that are detected asynchronously
- (e.g. USB and MMC devices).
- rproc_mem=nn[KMG][@address]
- [KNL,ARM,CMA] Remoteproc physical memory block.
- Memory area to be used by remote processor image,
- managed by CMA.
- rw [KNL] Mount root device read-write on boot
- S [KNL] Run init in single mode
- s390_iommu= [HW,S390]
- Set s390 IOTLB flushing mode
- strict
- With strict flushing every unmap operation will result in
- an IOTLB flush. Default is lazy flushing before reuse,
- which is faster.
- sa1100ir [NET]
- See drivers/net/irda/sa1100_ir.c.
- sbni= [NET] Granch SBNI12 leased line adapter
- sched_debug [KNL] Enables verbose scheduler debug messages.
- schedstats= [KNL,X86] Enable or disable scheduled statistics.
- Allowed values are enable and disable. This feature
- incurs a small amount of overhead in the scheduler
- but is useful for debugging and performance tuning.
- sched_thermal_decay_shift=
- [KNL, SMP] Set a decay shift for scheduler thermal
- pressure signal. Thermal pressure signal follows the
- default decay period of other scheduler pelt
- signals(usually 32 ms but configurable). Setting
- sched_thermal_decay_shift will left shift the decay
- period for the thermal pressure signal by the shift
- value.
- i.e. with the default pelt decay period of 32 ms
- sched_thermal_decay_shift thermal pressure decay pr
- 1 64 ms
- 2 128 ms
- and so on.
- Format: integer between 0 and 10
- Default is 0.
- scftorture.holdoff= [KNL]
- Number of seconds to hold off before starting
- test. Defaults to zero for module insertion and
- to 10 seconds for built-in smp_call_function()
- tests.
- scftorture.longwait= [KNL]
- Request ridiculously long waits randomly selected
- up to the chosen limit in seconds. Zero (the
- default) disables this feature. Please note
- that requesting even small non-zero numbers of
- seconds can result in RCU CPU stall warnings,
- softlockup complaints, and so on.
- scftorture.nthreads= [KNL]
- Number of kthreads to spawn to invoke the
- smp_call_function() family of functions.
- The default of -1 specifies a number of kthreads
- equal to the number of CPUs.
- scftorture.onoff_holdoff= [KNL]
- Number seconds to wait after the start of the
- test before initiating CPU-hotplug operations.
- scftorture.onoff_interval= [KNL]
- Number seconds to wait between successive
- CPU-hotplug operations. Specifying zero (which
- is the default) disables CPU-hotplug operations.
- scftorture.shutdown_secs= [KNL]
- The number of seconds following the start of the
- test after which to shut down the system. The
- default of zero avoids shutting down the system.
- Non-zero values are useful for automated tests.
- scftorture.stat_interval= [KNL]
- The number of seconds between outputting the
- current test statistics to the console. A value
- of zero disables statistics output.
- scftorture.stutter_cpus= [KNL]
- The number of jiffies to wait between each change
- to the set of CPUs under test.
- scftorture.use_cpus_read_lock= [KNL]
- Use use_cpus_read_lock() instead of the default
- preempt_disable() to disable CPU hotplug
- while invoking one of the smp_call_function*()
- functions.
- scftorture.verbose= [KNL]
- Enable additional printk() statements.
- scftorture.weight_single= [KNL]
- The probability weighting to use for the
- smp_call_function_single() function with a zero
- "wait" parameter. A value of -1 selects the
- default if all other weights are -1. However,
- if at least one weight has some other value, a
- value of -1 will instead select a weight of zero.
- scftorture.weight_single_wait= [KNL]
- The probability weighting to use for the
- smp_call_function_single() function with a
- non-zero "wait" parameter. See weight_single.
- scftorture.weight_many= [KNL]
- The probability weighting to use for the
- smp_call_function_many() function with a zero
- "wait" parameter. See weight_single.
- Note well that setting a high probability for
- this weighting can place serious IPI load
- on the system.
- scftorture.weight_many_wait= [KNL]
- The probability weighting to use for the
- smp_call_function_many() function with a
- non-zero "wait" parameter. See weight_single
- and weight_many.
- scftorture.weight_all= [KNL]
- The probability weighting to use for the
- smp_call_function_all() function with a zero
- "wait" parameter. See weight_single and
- weight_many.
- scftorture.weight_all_wait= [KNL]
- The probability weighting to use for the
- smp_call_function_all() function with a
- non-zero "wait" parameter. See weight_single
- and weight_many.
- skew_tick= [KNL] Offset the periodic timer tick per cpu to mitigate
- xtime_lock contention on larger systems, and/or RCU lock
- contention on all systems with CONFIG_MAXSMP set.
- Format: { "0" | "1" }
- 0 -- disable. (may be 1 via CONFIG_CMDLINE="skew_tick=1"
- 1 -- enable.
- Note: increases power consumption, thus should only be
- enabled if running jitter sensitive (HPC/RT) workloads.
- security= [SECURITY] Choose a legacy "major" security module to
- enable at boot. This has been deprecated by the
- "lsm=" parameter.
- selinux= [SELINUX] Disable or enable SELinux at boot time.
- Format: { "0" | "1" }
- See security/selinux/Kconfig help text.
- 0 -- disable.
- 1 -- enable.
- Default value is 1.
- apparmor= [APPARMOR] Disable or enable AppArmor at boot time
- Format: { "0" | "1" }
- See security/apparmor/Kconfig help text
- 0 -- disable.
- 1 -- enable.
- Default value is set via kernel config option.
- serialnumber [BUGS=X86-32]
- shapers= [NET]
- Maximal number of shapers.
- simeth= [IA-64]
- simscsi=
- slram= [HW,MTD]
- slab_nomerge [MM]
- Disable merging of slabs with similar size. May be
- necessary if there is some reason to distinguish
- allocs to different slabs, especially in hardened
- environments where the risk of heap overflows and
- layout control by attackers can usually be
- frustrated by disabling merging. This will reduce
- most of the exposure of a heap attack to a single
- cache (risks via metadata attacks are mostly
- unchanged). Debug options disable merging on their
- own.
- For more information see Documentation/vm/slub.rst.
- slab_max_order= [MM, SLAB]
- Determines the maximum allowed order for slabs.
- A high setting may cause OOMs due to memory
- fragmentation. Defaults to 1 for systems with
- more than 32MB of RAM, 0 otherwise.
- slub_debug[=options[,slabs][;[options[,slabs]]...] [MM, SLUB]
- Enabling slub_debug allows one to determine the
- culprit if slab objects become corrupted. Enabling
- slub_debug can create guard zones around objects and
- may poison objects when not in use. Also tracks the
- last alloc / free. For more information see
- Documentation/vm/slub.rst.
- slub_memcg_sysfs= [MM, SLUB]
- Determines whether to enable sysfs directories for
- memory cgroup sub-caches. 1 to enable, 0 to disable.
- The default is determined by CONFIG_SLUB_MEMCG_SYSFS_ON.
- Enabling this can lead to a very high number of debug
- directories and files being created under
- /sys/kernel/slub.
- slub_max_order= [MM, SLUB]
- Determines the maximum allowed order for slabs.
- A high setting may cause OOMs due to memory
- fragmentation. For more information see
- Documentation/vm/slub.rst.
- slub_min_objects= [MM, SLUB]
- The minimum number of objects per slab. SLUB will
- increase the slab order up to slub_max_order to
- generate a sufficiently large slab able to contain
- the number of objects indicated. The higher the number
- of objects the smaller the overhead of tracking slabs
- and the less frequently locks need to be acquired.
- For more information see Documentation/vm/slub.rst.
- slub_min_order= [MM, SLUB]
- Determines the minimum page order for slabs. Must be
- lower than slub_max_order.
- For more information see Documentation/vm/slub.rst.
- slub_nomerge [MM, SLUB]
- Same with slab_nomerge. This is supported for legacy.
- See slab_nomerge for more information.
- smart2= [HW]
- Format: <io1>[,<io2>[,...,<io8>]]
- smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices
- smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port
- smsc-ircc2.ircc_sir= [HW] SIR base I/O port
- smsc-ircc2.ircc_fir= [HW] FIR base I/O port
- smsc-ircc2.ircc_irq= [HW] IRQ line
- smsc-ircc2.ircc_dma= [HW] DMA channel
- smsc-ircc2.ircc_transceiver= [HW] Transceiver type:
- 0: Toshiba Satellite 1800 (GP data pin select)
- 1: Fast pin select (default)
- 2: ATC IRMode
- smt [KNL,S390] Set the maximum number of threads (logical
- CPUs) to use per physical CPU on systems capable of
- symmetric multithreading (SMT). Will be capped to the
- actual hardware limit.
- Format: <integer>
- Default: -1 (no limit)
- softlockup_panic=
- [KNL] Should the soft-lockup detector generate panics.
- Format: 0 | 1
- A value of 1 instructs the soft-lockup detector
- to panic the machine when a soft-lockup occurs. It is
- also controlled by the kernel.softlockup_panic sysctl
- and CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC, which is the
- respective build-time switch to that functionality.
- softlockup_all_cpu_backtrace=
- [KNL] Should the soft-lockup detector generate
- backtraces on all cpus.
- Format: 0 | 1
- sonypi.*= [HW] Sony Programmable I/O Control Device driver
- See Documentation/admin-guide/laptops/sonypi.rst
- spectre_v2= [X86] Control mitigation of Spectre variant 2
- (indirect branch speculation) vulnerability.
- The default operation protects the kernel from
- user space attacks.
- on - unconditionally enable, implies
- spectre_v2_user=on
- off - unconditionally disable, implies
- spectre_v2_user=off
- auto - kernel detects whether your CPU model is
- vulnerable
- Selecting 'on' will, and 'auto' may, choose a
- mitigation method at run time according to the
- CPU, the available microcode, the setting of the
- CONFIG_RETPOLINE configuration option, and the
- compiler with which the kernel was built.
- Selecting 'on' will also enable the mitigation
- against user space to user space task attacks.
- Selecting 'off' will disable both the kernel and
- the user space protections.
- Specific mitigations can also be selected manually:
- retpoline - replace indirect branches
- retpoline,generic - Retpolines
- retpoline,lfence - LFENCE; indirect branch
- retpoline,amd - alias for retpoline,lfence
- eibrs - enhanced IBRS
- eibrs,retpoline - enhanced IBRS + Retpolines
- eibrs,lfence - enhanced IBRS + LFENCE
- Not specifying this option is equivalent to
- spectre_v2=auto.
- spectre_v2_user=
- [X86] Control mitigation of Spectre variant 2
- (indirect branch speculation) vulnerability between
- user space tasks
- on - Unconditionally enable mitigations. Is
- enforced by spectre_v2=on
- off - Unconditionally disable mitigations. Is
- enforced by spectre_v2=off
- prctl - Indirect branch speculation is enabled,
- but mitigation can be enabled via prctl
- per thread. The mitigation control state
- is inherited on fork.
- prctl,ibpb
- - Like "prctl" above, but only STIBP is
- controlled per thread. IBPB is issued
- always when switching between different user
- space processes.
- seccomp
- - Same as "prctl" above, but all seccomp
- threads will enable the mitigation unless
- they explicitly opt out.
- seccomp,ibpb
- - Like "seccomp" above, but only STIBP is
- controlled per thread. IBPB is issued
- always when switching between different
- user space processes.
- auto - Kernel selects the mitigation depending on
- the available CPU features and vulnerability.
- Default mitigation:
- If CONFIG_SECCOMP=y then "seccomp", otherwise "prctl"
- Not specifying this option is equivalent to
- spectre_v2_user=auto.
- spec_store_bypass_disable=
- [HW] Control Speculative Store Bypass (SSB) Disable mitigation
- (Speculative Store Bypass vulnerability)
- Certain CPUs are vulnerable to an exploit against a
- a common industry wide performance optimization known
- as "Speculative Store Bypass" in which recent stores
- to the same memory location may not be observed by
- later loads during speculative execution. The idea
- is that such stores are unlikely and that they can
- be detected prior to instruction retirement at the
- end of a particular speculation execution window.
- In vulnerable processors, the speculatively forwarded
- store can be used in a cache side channel attack, for
- example to read memory to which the attacker does not
- directly have access (e.g. inside sandboxed code).
- This parameter controls whether the Speculative Store
- Bypass optimization is used.
- On x86 the options are:
- on - Unconditionally disable Speculative Store Bypass
- off - Unconditionally enable Speculative Store Bypass
- auto - Kernel detects whether the CPU model contains an
- implementation of Speculative Store Bypass and
- picks the most appropriate mitigation. If the
- CPU is not vulnerable, "off" is selected. If the
- CPU is vulnerable the default mitigation is
- architecture and Kconfig dependent. See below.
- prctl - Control Speculative Store Bypass per thread
- via prctl. Speculative Store Bypass is enabled
- for a process by default. The state of the control
- is inherited on fork.
- seccomp - Same as "prctl" above, but all seccomp threads
- will disable SSB unless they explicitly opt out.
- Default mitigations:
- X86: If CONFIG_SECCOMP=y "seccomp", otherwise "prctl"
- On powerpc the options are:
- on,auto - On Power8 and Power9 insert a store-forwarding
- barrier on kernel entry and exit. On Power7
- perform a software flush on kernel entry and
- exit.
- off - No action.
- Not specifying this option is equivalent to
- spec_store_bypass_disable=auto.
- spia_io_base= [HW,MTD]
- spia_fio_base=
- spia_pedr=
- spia_peddr=
- split_lock_detect=
- [X86] Enable split lock detection
- When enabled (and if hardware support is present), atomic
- instructions that access data across cache line
- boundaries will result in an alignment check exception.
- off - not enabled
- warn - the kernel will emit rate limited warnings
- about applications triggering the #AC
- exception. This mode is the default on CPUs
- that supports split lock detection.
- fatal - the kernel will send SIGBUS to applications
- that trigger the #AC exception.
- If an #AC exception is hit in the kernel or in
- firmware (i.e. not while executing in user mode)
- the kernel will oops in either "warn" or "fatal"
- mode.
- srbds= [X86,INTEL]
- Control the Special Register Buffer Data Sampling
- (SRBDS) mitigation.
- Certain CPUs are vulnerable to an MDS-like
- exploit which can leak bits from the random
- number generator.
- By default, this issue is mitigated by
- microcode. However, the microcode fix can cause
- the RDRAND and RDSEED instructions to become
- much slower. Among other effects, this will
- result in reduced throughput from /dev/urandom.
- The microcode mitigation can be disabled with
- the following option:
- off: Disable mitigation and remove
- performance impact to RDRAND and RDSEED
- srcutree.counter_wrap_check [KNL]
- Specifies how frequently to check for
- grace-period sequence counter wrap for the
- srcu_data structure's ->srcu_gp_seq_needed field.
- The greater the number of bits set in this kernel
- parameter, the less frequently counter wrap will
- be checked for. Note that the bottom two bits
- are ignored.
- srcutree.exp_holdoff [KNL]
- Specifies how many nanoseconds must elapse
- since the end of the last SRCU grace period for
- a given srcu_struct until the next normal SRCU
- grace period will be considered for automatic
- expediting. Set to zero to disable automatic
- expediting.
- ssbd= [ARM64,HW]
- Speculative Store Bypass Disable control
- On CPUs that are vulnerable to the Speculative
- Store Bypass vulnerability and offer a
- firmware based mitigation, this parameter
- indicates how the mitigation should be used:
- force-on: Unconditionally enable mitigation for
- for both kernel and userspace
- force-off: Unconditionally disable mitigation for
- for both kernel and userspace
- kernel: Always enable mitigation in the
- kernel, and offer a prctl interface
- to allow userspace to register its
- interest in being mitigated too.
- stack_guard_gap= [MM]
- override the default stack gap protection. The value
- is in page units and it defines how many pages prior
- to (for stacks growing down) resp. after (for stacks
- growing up) the main stack are reserved for no other
- mapping. Default value is 256 pages.
- stack_depot_disable= [KNL]
- Setting this to true through kernel command line will
- disable the stack depot thereby saving the static memory
- consumed by the stack hash table. By default this is set
- to false.
- stacktrace [FTRACE]
- Enabled the stack tracer on boot up.
- stacktrace_filter=[function-list]
- [FTRACE] Limit the functions that the stack tracer
- will trace at boot up. function-list is a comma separated
- list of functions. This list can be changed at run
- time by the stack_trace_filter file in the debugfs
- tracing directory. Note, this enables stack tracing
- and the stacktrace above is not needed.
- sti= [PARISC,HW]
- Format: <num>
- Set the STI (builtin display/keyboard on the HP-PARISC
- machines) console (graphic card) which should be used
- as the initial boot-console.
- See also comment in drivers/video/console/sticore.c.
- sti_font= [HW]
- See comment in drivers/video/console/sticore.c.
- stifb= [HW]
- Format: bpp:<bpp1>[:<bpp2>[:<bpp3>...]]
- sunrpc.min_resvport=
- sunrpc.max_resvport=
- [NFS,SUNRPC]
- SunRPC servers often require that client requests
- originate from a privileged port (i.e. a port in the
- range 0 < portnr < 1024).
- An administrator who wishes to reserve some of these
- ports for other uses may adjust the range that the
- kernel's sunrpc client considers to be privileged
- using these two parameters to set the minimum and
- maximum port values.
- sunrpc.svc_rpc_per_connection_limit=
- [NFS,SUNRPC]
- Limit the number of requests that the server will
- process in parallel from a single connection.
- The default value is 0 (no limit).
- sunrpc.pool_mode=
- [NFS]
- Control how the NFS server code allocates CPUs to
- service thread pools. Depending on how many NICs
- you have and where their interrupts are bound, this
- option will affect which CPUs will do NFS serving.
- Note: this parameter cannot be changed while the
- NFS server is running.
- auto the server chooses an appropriate mode
- automatically using heuristics
- global a single global pool contains all CPUs
- percpu one pool for each CPU
- pernode one pool for each NUMA node (equivalent
- to global on non-NUMA machines)
- sunrpc.tcp_slot_table_entries=
- sunrpc.udp_slot_table_entries=
- [NFS,SUNRPC]
- Sets the upper limit on the number of simultaneous
- RPC calls that can be sent from the client to a
- server. Increasing these values may allow you to
- improve throughput, but will also increase the
- amount of memory reserved for use by the client.
- suspend.pm_test_delay=
- [SUSPEND]
- Sets the number of seconds to remain in a suspend test
- mode before resuming the system (see
- /sys/power/pm_test). Only available when CONFIG_PM_DEBUG
- is set. Default value is 5.
- svm= [PPC]
- Format: { on | off | y | n | 1 | 0 }
- This parameter controls use of the Protected
- Execution Facility on pSeries.
- swapaccount=[0|1]
- [KNL] Enable accounting of swap in memory resource
- controller if no parameter or 1 is given or disable
- it if 0 is given (See Documentation/admin-guide/cgroup-v1/memory.rst)
- swiotlb= [ARM,IA-64,PPC,MIPS,X86]
- Format: { <int> | force | noforce }
- <int> -- Number of I/O TLB slabs
- force -- force using of bounce buffers even if they
- wouldn't be automatically used by the kernel
- noforce -- Never use bounce buffers (for debugging)
- switches= [HW,M68k]
- sysctl.*= [KNL]
- Set a sysctl parameter, right before loading the init
- process, as if the value was written to the respective
- /proc/sys/... file. Both '.' and '/' are recognized as
- separators. Unrecognized parameters and invalid values
- are reported in the kernel log. Sysctls registered
- later by a loaded module cannot be set this way.
- Example: sysctl.vm.swappiness=40
- sysfs.deprecated=0|1 [KNL]
- Enable/disable old style sysfs layout for old udev
- on older distributions. When this option is enabled
- very new udev will not work anymore. When this option
- is disabled (or CONFIG_SYSFS_DEPRECATED not compiled)
- in older udev will not work anymore.
- Default depends on CONFIG_SYSFS_DEPRECATED_V2 set in
- the kernel configuration.
- sysrq_always_enabled
- [KNL]
- Ignore sysrq setting - this boot parameter will
- neutralize any effect of /proc/sys/kernel/sysrq.
- Useful for debugging.
- tcpmhash_entries= [KNL,NET]
- Set the number of tcp_metrics_hash slots.
- Default value is 8192 or 16384 depending on total
- ram pages. This is used to specify the TCP metrics
- cache size. See Documentation/networking/ip-sysctl.rst
- "tcp_no_metrics_save" section for more details.
- tdfx= [HW,DRM]
- test_suspend= [SUSPEND][,N]
- Specify "mem" (for Suspend-to-RAM) or "standby" (for
- standby suspend) or "freeze" (for suspend type freeze)
- as the system sleep state during system startup with
- the optional capability to repeat N number of times.
- The system is woken from this state using a
- wakeup-capable RTC alarm.
- thash_entries= [KNL,NET]
- Set number of hash buckets for TCP connection
- thermal.act= [HW,ACPI]
- -1: disable all active trip points in all thermal zones
- <degrees C>: override all lowest active trip points
- thermal.crt= [HW,ACPI]
- -1: disable all critical trip points in all thermal zones
- <degrees C>: override all critical trip points
- thermal.nocrt= [HW,ACPI]
- Set to disable actions on ACPI thermal zone
- critical and hot trip points.
- thermal.off= [HW,ACPI]
- 1: disable ACPI thermal control
- thermal.psv= [HW,ACPI]
- -1: disable all passive trip points
- <degrees C>: override all passive trip points to this
- value
- thermal.tzp= [HW,ACPI]
- Specify global default ACPI thermal zone polling rate
- <deci-seconds>: poll all this frequency
- 0: no polling (default)
- threadirqs [KNL]
- Force threading of all interrupt handlers except those
- marked explicitly IRQF_NO_THREAD.
- topology= [S390]
- Format: {off | on}
- Specify if the kernel should make use of the cpu
- topology information if the hardware supports this.
- The scheduler will make use of this information and
- e.g. base its process migration decisions on it.
- Default is on.
- topology_updates= [KNL, PPC, NUMA]
- Format: {off}
- Specify if the kernel should ignore (off)
- topology updates sent by the hypervisor to this
- LPAR.
- torture.disable_onoff_at_boot= [KNL]
- Prevent the CPU-hotplug component of torturing
- until after init has spawned.
- torture.ftrace_dump_at_shutdown= [KNL]
- Dump the ftrace buffer at torture-test shutdown,
- even if there were no errors. This can be a
- very costly operation when many torture tests
- are running concurrently, especially on systems
- with rotating-rust storage.
- tp720= [HW,PS2]
- tpm_suspend_pcr=[HW,TPM]
- Format: integer pcr id
- Specify that at suspend time, the tpm driver
- should extend the specified pcr with zeros,
- as a workaround for some chips which fail to
- flush the last written pcr on TPM_SaveState.
- This will guarantee that all the other pcrs
- are saved.
- trace_buf_size=nn[KMG]
- [FTRACE] will set tracing buffer size on each cpu.
- trace_event=[event-list]
- [FTRACE] Set and start specified trace events in order
- to facilitate early boot debugging. The event-list is a
- comma separated list of trace events to enable. See
- also Documentation/trace/events.rst
- trace_options=[option-list]
- [FTRACE] Enable or disable tracer options at boot.
- The option-list is a comma delimited list of options
- that can be enabled or disabled just as if you were
- to echo the option name into
- /sys/kernel/debug/tracing/trace_options
- For example, to enable stacktrace option (to dump the
- stack trace of each event), add to the command line:
- trace_options=stacktrace
- See also Documentation/trace/ftrace.rst "trace options"
- section.
- tp_printk[FTRACE]
- Have the tracepoints sent to printk as well as the
- tracing ring buffer. This is useful for early boot up
- where the system hangs or reboots and does not give the
- option for reading the tracing buffer or performing a
- ftrace_dump_on_oops.
- To turn off having tracepoints sent to printk,
- echo 0 > /proc/sys/kernel/tracepoint_printk
- Note, echoing 1 into this file without the
- tracepoint_printk kernel cmdline option has no effect.
- ** CAUTION **
- Having tracepoints sent to printk() and activating high
- frequency tracepoints such as irq or sched, can cause
- the system to live lock.
- traceoff_on_warning
- [FTRACE] enable this option to disable tracing when a
- warning is hit. This turns off "tracing_on". Tracing can
- be enabled again by echoing '1' into the "tracing_on"
- file located in /sys/kernel/debug/tracing/
- This option is useful, as it disables the trace before
- the WARNING dump is called, which prevents the trace to
- be filled with content caused by the warning output.
- This option can also be set at run time via the sysctl
- option: kernel/traceoff_on_warning
- transparent_hugepage=
- [KNL]
- Format: [always|madvise|never]
- Can be used to control the default behavior of the system
- with respect to transparent hugepages.
- See Documentation/admin-guide/mm/transhuge.rst
- for more details.
- tsc= Disable clocksource stability checks for TSC.
- Format: <string>
- [x86] reliable: mark tsc clocksource as reliable, this
- disables clocksource verification at runtime, as well
- as the stability checks done at bootup. Used to enable
- high-resolution timer mode on older hardware, and in
- virtualized environment.
- [x86] noirqtime: Do not use TSC to do irq accounting.
- Used to run time disable IRQ_TIME_ACCOUNTING on any
- platforms where RDTSC is slow and this accounting
- can add overhead.
- [x86] unstable: mark the TSC clocksource as unstable, this
- marks the TSC unconditionally unstable at bootup and
- avoids any further wobbles once the TSC watchdog notices.
- [x86] nowatchdog: disable clocksource watchdog. Used
- in situations with strict latency requirements (where
- interruptions from clocksource watchdog are not
- acceptable).
- tsc_early_khz= [X86] Skip early TSC calibration and use the given
- value instead. Useful when the early TSC frequency discovery
- procedure is not reliable, such as on overclocked systems
- with CPUID.16h support and partial CPUID.15h support.
- Format: <unsigned int>
- tsx= [X86] Control Transactional Synchronization
- Extensions (TSX) feature in Intel processors that
- support TSX control.
- This parameter controls the TSX feature. The options are:
- on - Enable TSX on the system. Although there are
- mitigations for all known security vulnerabilities,
- TSX has been known to be an accelerator for
- several previous speculation-related CVEs, and
- so there may be unknown security risks associated
- with leaving it enabled.
- off - Disable TSX on the system. (Note that this
- option takes effect only on newer CPUs which are
- not vulnerable to MDS, i.e., have
- MSR_IA32_ARCH_CAPABILITIES.MDS_NO=1 and which get
- the new IA32_TSX_CTRL MSR through a microcode
- update. This new MSR allows for the reliable
- deactivation of the TSX functionality.)
- auto - Disable TSX if X86_BUG_TAA is present,
- otherwise enable TSX on the system.
- Not specifying this option is equivalent to tsx=off.
- See Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
- for more details.
- tsx_async_abort= [X86,INTEL] Control mitigation for the TSX Async
- Abort (TAA) vulnerability.
- Similar to Micro-architectural Data Sampling (MDS)
- certain CPUs that support Transactional
- Synchronization Extensions (TSX) are vulnerable to an
- exploit against CPU internal buffers which can forward
- information to a disclosure gadget under certain
- conditions.
- In vulnerable processors, the speculatively forwarded
- data can be used in a cache side channel attack, to
- access data to which the attacker does not have direct
- access.
- This parameter controls the TAA mitigation. The
- options are:
- full - Enable TAA mitigation on vulnerable CPUs
- if TSX is enabled.
- full,nosmt - Enable TAA mitigation and disable SMT on
- vulnerable CPUs. If TSX is disabled, SMT
- is not disabled because CPU is not
- vulnerable to cross-thread TAA attacks.
- off - Unconditionally disable TAA mitigation
- On MDS-affected machines, tsx_async_abort=off can be
- prevented by an active MDS mitigation as both vulnerabilities
- are mitigated with the same mechanism so in order to disable
- this mitigation, you need to specify mds=off too.
- Not specifying this option is equivalent to
- tsx_async_abort=full. On CPUs which are MDS affected
- and deploy MDS mitigation, TAA mitigation is not
- required and doesn't provide any additional
- mitigation.
- For details see:
- Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
- turbografx.map[2|3]= [HW,JOY]
- TurboGraFX parallel port interface
- Format:
- <port#>,<js1>,<js2>,<js3>,<js4>,<js5>,<js6>,<js7>
- See also Documentation/input/devices/joystick-parport.rst
- udbg-immortal [PPC] When debugging early kernel crashes that
- happen after console_init() and before a proper
- console driver takes over, this boot options might
- help "seeing" what's going on.
- uhash_entries= [KNL,NET]
- Set number of hash buckets for UDP/UDP-Lite connections
- uhci-hcd.ignore_oc=
- [USB] Ignore overcurrent events (default N).
- Some badly-designed motherboards generate lots of
- bogus events, for ports that aren't wired to
- anything. Set this parameter to avoid log spamming.
- Note that genuine overcurrent events won't be
- reported either.
- unknown_nmi_panic
- [X86] Cause panic on unknown NMI.
- usbcore.authorized_default=
- [USB] Default USB device authorization:
- (default -1 = authorized except for wireless USB,
- 0 = not authorized, 1 = authorized, 2 = authorized
- if device connected to internal port)
- usbcore.autosuspend=
- [USB] The autosuspend time delay (in seconds) used
- for newly-detected USB devices (default 2). This
- is the time required before an idle device will be
- autosuspended. Devices for which the delay is set
- to a negative value won't be autosuspended at all.
- usbcore.usbfs_snoop=
- [USB] Set to log all usbfs traffic (default 0 = off).
- usbcore.usbfs_snoop_max=
- [USB] Maximum number of bytes to snoop in each URB
- (default = 65536).
- usbcore.blinkenlights=
- [USB] Set to cycle leds on hubs (default 0 = off).
- usbcore.old_scheme_first=
- [USB] Start with the old device initialization
- scheme (default 0 = off).
- usbcore.usbfs_memory_mb=
- [USB] Memory limit (in MB) for buffers allocated by
- usbfs (default = 16, 0 = max = 2047).
- usbcore.use_both_schemes=
- [USB] Try the other device initialization scheme
- if the first one fails (default 1 = enabled).
- usbcore.initial_descriptor_timeout=
- [USB] Specifies timeout for the initial 64-byte
- USB_REQ_GET_DESCRIPTOR request in milliseconds
- (default 5000 = 5.0 seconds).
- usbcore.nousb [USB] Disable the USB subsystem
- usbcore.quirks=
- [USB] A list of quirk entries to augment the built-in
- usb core quirk list. List entries are separated by
- commas. Each entry has the form
- VendorID:ProductID:Flags. The IDs are 4-digit hex
- numbers and Flags is a set of letters. Each letter
- will change the built-in quirk; setting it if it is
- clear and clearing it if it is set. The letters have
- the following meanings:
- a = USB_QUIRK_STRING_FETCH_255 (string
- descriptors must not be fetched using
- a 255-byte read);
- b = USB_QUIRK_RESET_RESUME (device can't resume
- correctly so reset it instead);
- c = USB_QUIRK_NO_SET_INTF (device can't handle
- Set-Interface requests);
- d = USB_QUIRK_CONFIG_INTF_STRINGS (device can't
- handle its Configuration or Interface
- strings);
- e = USB_QUIRK_RESET (device can't be reset
- (e.g morph devices), don't use reset);
- f = USB_QUIRK_HONOR_BNUMINTERFACES (device has
- more interface descriptions than the
- bNumInterfaces count, and can't handle
- talking to these interfaces);
- g = USB_QUIRK_DELAY_INIT (device needs a pause
- during initialization, after we read
- the device descriptor);
- h = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL (For
- high speed and super speed interrupt
- endpoints, the USB 2.0 and USB 3.0 spec
- require the interval in microframes (1
- microframe = 125 microseconds) to be
- calculated as interval = 2 ^
- (bInterval-1).
- Devices with this quirk report their
- bInterval as the result of this
- calculation instead of the exponent
- variable used in the calculation);
- i = USB_QUIRK_DEVICE_QUALIFIER (device can't
- handle device_qualifier descriptor
- requests);
- j = USB_QUIRK_IGNORE_REMOTE_WAKEUP (device
- generates spurious wakeup, ignore
- remote wakeup capability);
- k = USB_QUIRK_NO_LPM (device can't handle Link
- Power Management);
- l = USB_QUIRK_LINEAR_FRAME_INTR_BINTERVAL
- (Device reports its bInterval as linear
- frames instead of the USB 2.0
- calculation);
- m = USB_QUIRK_DISCONNECT_SUSPEND (Device needs
- to be disconnected before suspend to
- prevent spurious wakeup);
- n = USB_QUIRK_DELAY_CTRL_MSG (Device needs a
- pause after every control message);
- o = USB_QUIRK_HUB_SLOW_RESET (Hub needs extra
- delay after resetting its port);
- Example: quirks=0781:5580:bk,0a5c:5834:gij
- usbhid.mousepoll=
- [USBHID] The interval which mice are to be polled at.
- usbhid.jspoll=
- [USBHID] The interval which joysticks are to be polled at.
- usbhid.kbpoll=
- [USBHID] The interval which keyboards are to be polled at.
- usb-storage.delay_use=
- [UMS] The delay in seconds before a new device is
- scanned for Logical Units (default 1).
- usb-storage.quirks=
- [UMS] A list of quirks entries to supplement or
- override the built-in unusual_devs list. List
- entries are separated by commas. Each entry has
- the form VID:PID:Flags where VID and PID are Vendor
- and Product ID values (4-digit hex numbers) and
- Flags is a set of characters, each corresponding
- to a common usb-storage quirk flag as follows:
- a = SANE_SENSE (collect more than 18 bytes
- of sense data, not on uas);
- b = BAD_SENSE (don't collect more than 18
- bytes of sense data, not on uas);
- c = FIX_CAPACITY (decrease the reported
- device capacity by one sector);
- d = NO_READ_DISC_INFO (don't use
- READ_DISC_INFO command, not on uas);
- e = NO_READ_CAPACITY_16 (don't use
- READ_CAPACITY_16 command);
- f = NO_REPORT_OPCODES (don't use report opcodes
- command, uas only);
- g = MAX_SECTORS_240 (don't transfer more than
- 240 sectors at a time, uas only);
- h = CAPACITY_HEURISTICS (decrease the
- reported device capacity by one
- sector if the number is odd);
- i = IGNORE_DEVICE (don't bind to this
- device);
- j = NO_REPORT_LUNS (don't use report luns
- command, uas only);
- k = NO_SAME (do not use WRITE_SAME, uas only)
- l = NOT_LOCKABLE (don't try to lock and
- unlock ejectable media, not on uas);
- m = MAX_SECTORS_64 (don't transfer more
- than 64 sectors = 32 KB at a time,
- not on uas);
- n = INITIAL_READ10 (force a retry of the
- initial READ(10) command, not on uas);
- o = CAPACITY_OK (accept the capacity
- reported by the device, not on uas);
- p = WRITE_CACHE (the device cache is ON
- by default, not on uas);
- r = IGNORE_RESIDUE (the device reports
- bogus residue values, not on uas);
- s = SINGLE_LUN (the device has only one
- Logical Unit);
- t = NO_ATA_1X (don't allow ATA(12) and ATA(16)
- commands, uas only);
- u = IGNORE_UAS (don't bind to the uas driver);
- w = NO_WP_DETECT (don't test whether the
- medium is write-protected).
- y = ALWAYS_SYNC (issue a SYNCHRONIZE_CACHE
- even if the device claims no cache,
- not on uas)
- Example: quirks=0419:aaf5:rl,0421:0433:rc
- user_debug= [KNL,ARM]
- Format: <int>
- See arch/arm/Kconfig.debug help text.
- 1 - undefined instruction events
- 2 - system calls
- 4 - invalid data aborts
- 8 - SIGSEGV faults
- 16 - SIGBUS faults
- Example: user_debug=31
- userpte=
- [X86] Flags controlling user PTE allocations.
- nohigh = do not allocate PTE pages in
- HIGHMEM regardless of setting
- of CONFIG_HIGHPTE.
- vdso= [X86,SH]
- On X86_32, this is an alias for vdso32=. Otherwise:
- vdso=1: enable VDSO (the default)
- vdso=0: disable VDSO mapping
- vdso32= [X86] Control the 32-bit vDSO
- vdso32=1: enable 32-bit VDSO
- vdso32=0 or vdso32=2: disable 32-bit VDSO
- See the help text for CONFIG_COMPAT_VDSO for more
- details. If CONFIG_COMPAT_VDSO is set, the default is
- vdso32=0; otherwise, the default is vdso32=1.
- For compatibility with older kernels, vdso32=2 is an
- alias for vdso32=0.
- Try vdso32=0 if you encounter an error that says:
- dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
- vector= [IA-64,SMP]
- vector=percpu: enable percpu vector domain
- video= [FB] Frame buffer configuration
- See Documentation/fb/modedb.rst.
- video.brightness_switch_enabled= [0,1]
- If set to 1, on receiving an ACPI notify event
- generated by hotkey, video driver will adjust brightness
- level and then send out the event to user space through
- the allocated input device; If set to 0, video driver
- will only send out the event without touching backlight
- brightness level.
- default: 1
- virtio_mmio.device=
- [VMMIO] Memory mapped virtio (platform) device.
- <size>@<baseaddr>:<irq>[:<id>]
- where:
- <size> := size (can use standard suffixes
- like K, M and G)
- <baseaddr> := physical base address
- <irq> := interrupt number (as passed to
- request_irq())
- <id> := (optional) platform device id
- example:
- virtio_mmio.device=1K@0x100b0000:48:7
- Can be used multiple times for multiple devices.
- vga= [BOOT,X86-32] Select a particular video mode
- See Documentation/x86/boot.rst and
- Documentation/admin-guide/svga.rst.
- Use vga=ask for menu.
- This is actually a boot loader parameter; the value is
- passed to the kernel using a special protocol.
- vm_debug[=options] [KNL] Available with CONFIG_DEBUG_VM=y.
- May slow down system boot speed, especially when
- enabled on systems with a large amount of memory.
- All options are enabled by default, and this
- interface is meant to allow for selectively
- enabling or disabling specific virtual memory
- debugging features.
- Available options are:
- P Enable page structure init time poisoning
- - Disable all of the above options
- vmalloc=nn[KMG] [KNL,BOOT] Forces the vmalloc area to have an exact
- size of <nn>. This can be used to increase the
- minimum size (128MB on x86). It can also be used to
- decrease the size and leave more room for directly
- mapped kernel RAM.
- vmcp_cma=nn[MG] [KNL,S390]
- Sets the memory size reserved for contiguous memory
- allocations for the vmcp device driver.
- vmhalt= [KNL,S390] Perform z/VM CP command after system halt.
- Format: <command>
- vmpanic= [KNL,S390] Perform z/VM CP command after kernel panic.
- Format: <command>
- vmpoff= [KNL,S390] Perform z/VM CP command after power off.
- Format: <command>
- vsyscall= [X86-64]
- Controls the behavior of vsyscalls (i.e. calls to
- fixed addresses of 0xffffffffff600x00 from legacy
- code). Most statically-linked binaries and older
- versions of glibc use these calls. Because these
- functions are at fixed addresses, they make nice
- targets for exploits that can control RIP.
- emulate [default] Vsyscalls turn into traps and are
- emulated reasonably safely. The vsyscall
- page is readable.
- xonly Vsyscalls turn into traps and are
- emulated reasonably safely. The vsyscall
- page is not readable.
- none Vsyscalls don't work at all. This makes
- them quite hard to use for exploits but
- might break your system.
- vt.color= [VT] Default text color.
- Format: 0xYX, X = foreground, Y = background.
- Default: 0x07 = light gray on black.
- vt.cur_default= [VT] Default cursor shape.
- Format: 0xCCBBAA, where AA, BB, and CC are the same as
- the parameters of the <Esc>[?A;B;Cc escape sequence;
- see VGA-softcursor.txt. Default: 2 = underline.
- vt.default_blu= [VT]
- Format: <blue0>,<blue1>,<blue2>,...,<blue15>
- Change the default blue palette of the console.
- This is a 16-member array composed of values
- ranging from 0-255.
- vt.default_grn= [VT]
- Format: <green0>,<green1>,<green2>,...,<green15>
- Change the default green palette of the console.
- This is a 16-member array composed of values
- ranging from 0-255.
- vt.default_red= [VT]
- Format: <red0>,<red1>,<red2>,...,<red15>
- Change the default red palette of the console.
- This is a 16-member array composed of values
- ranging from 0-255.
- vt.default_utf8=
- [VT]
- Format=<0|1>
- Set system-wide default UTF-8 mode for all tty's.
- Default is 1, i.e. UTF-8 mode is enabled for all
- newly opened terminals.
- vt.global_cursor_default=
- [VT]
- Format=<-1|0|1>
- Set system-wide default for whether a cursor
- is shown on new VTs. Default is -1,
- i.e. cursors will be created by default unless
- overridden by individual drivers. 0 will hide
- cursors, 1 will display them.
- vt.italic= [VT] Default color for italic text; 0-15.
- Default: 2 = green.
- vt.underline= [VT] Default color for underlined text; 0-15.
- Default: 3 = cyan.
- watchdog timers [HW,WDT] For information on watchdog timers,
- see Documentation/watchdog/watchdog-parameters.rst
- or other driver-specific files in the
- Documentation/watchdog/ directory.
- watchdog_thresh=
- [KNL]
- Set the hard lockup detector stall duration
- threshold in seconds. The soft lockup detector
- threshold is set to twice the value. A value of 0
- disables both lockup detectors. Default is 10
- seconds.
- workqueue.watchdog_thresh=
- If CONFIG_WQ_WATCHDOG is configured, workqueue can
- warn stall conditions and dump internal state to
- help debugging. 0 disables workqueue stall
- detection; otherwise, it's the stall threshold
- duration in seconds. The default value is 30 and
- it can be updated at runtime by writing to the
- corresponding sysfs file.
- workqueue.disable_numa
- By default, all work items queued to unbound
- workqueues are affine to the NUMA nodes they're
- issued on, which results in better behavior in
- general. If NUMA affinity needs to be disabled for
- whatever reason, this option can be used. Note
- that this also can be controlled per-workqueue for
- workqueues visible under /sys/bus/workqueue/.
- workqueue.power_efficient
- Per-cpu workqueues are generally preferred because
- they show better performance thanks to cache
- locality; unfortunately, per-cpu workqueues tend to
- be more power hungry than unbound workqueues.
- Enabling this makes the per-cpu workqueues which
- were observed to contribute significantly to power
- consumption unbound, leading to measurably lower
- power usage at the cost of small performance
- overhead.
- The default value of this parameter is determined by
- the config option CONFIG_WQ_POWER_EFFICIENT_DEFAULT.
- workqueue.debug_force_rr_cpu
- Workqueue used to implicitly guarantee that work
- items queued without explicit CPU specified are put
- on the local CPU. This guarantee is no longer true
- and while local CPU is still preferred work items
- may be put on foreign CPUs. This debug option
- forces round-robin CPU selection to flush out
- usages which depend on the now broken guarantee.
- When enabled, memory and cache locality will be
- impacted.
- x2apic_phys [X86-64,APIC] Use x2apic physical mode instead of
- default x2apic cluster mode on platforms
- supporting x2apic.
- x86_intel_mid_timer= [X86-32,APBT]
- Choose timer option for x86 Intel MID platform.
- Two valid options are apbt timer only and lapic timer
- plus one apbt timer for broadcast timer.
- x86_intel_mid_timer=apbt_only | lapic_and_apbt
- xen_512gb_limit [KNL,X86-64,XEN]
- Restricts the kernel running paravirtualized under Xen
- to use only up to 512 GB of RAM. The reason to do so is
- crash analysis tools and Xen tools for doing domain
- save/restore/migration must be enabled to handle larger
- domains.
- xen_emul_unplug= [HW,X86,XEN]
- Unplug Xen emulated devices
- Format: [unplug0,][unplug1]
- ide-disks -- unplug primary master IDE devices
- aux-ide-disks -- unplug non-primary-master IDE devices
- nics -- unplug network devices
- all -- unplug all emulated devices (NICs and IDE disks)
- unnecessary -- unplugging emulated devices is
- unnecessary even if the host did not respond to
- the unplug protocol
- never -- do not unplug even if version check succeeds
- xen_legacy_crash [X86,XEN]
- Crash from Xen panic notifier, without executing late
- panic() code such as dumping handler.
- xen_nopvspin [X86,XEN]
- Disables the qspinlock slowpath using Xen PV optimizations.
- This parameter is obsoleted by "nopvspin" parameter, which
- has equivalent effect for XEN platform.
- xen_nopv [X86]
- Disables the PV optimizations forcing the HVM guest to
- run as generic HVM guest with no PV drivers.
- This option is obsoleted by the "nopv" option, which
- has equivalent effect for XEN platform.
- xen_no_vector_callback
- [KNL,X86,XEN] Disable the vector callback for Xen
- event channel interrupts.
- xen_scrub_pages= [XEN]
- Boolean option to control scrubbing pages before giving them back
- to Xen, for use by other domains. Can be also changed at runtime
- with /sys/devices/system/xen_memory/xen_memory0/scrub_pages.
- Default value controlled with CONFIG_XEN_SCRUB_PAGES_DEFAULT.
- xen_timer_slop= [X86-64,XEN]
- Set the timer slop (in nanoseconds) for the virtual Xen
- timers (default is 100000). This adjusts the minimum
- delta of virtualized Xen timers, where lower values
- improve timer resolution at the expense of processing
- more timer interrupts.
- xen.balloon_boot_timeout= [XEN]
- The time (in seconds) to wait before giving up to boot
- in case initial ballooning fails to free enough memory.
- Applies only when running as HVM or PVH guest and
- started with less memory configured than allowed at
- max. Default is 180.
- xen.event_eoi_delay= [XEN]
- How long to delay EOI handling in case of event
- storms (jiffies). Default is 10.
- xen.event_loop_timeout= [XEN]
- After which time (jiffies) the event handling loop
- should start to delay EOI handling. Default is 2.
- xen.fifo_events= [XEN]
- Boolean parameter to disable using fifo event handling
- even if available. Normally fifo event handling is
- preferred over the 2-level event handling, as it is
- fairer and the number of possible event channels is
- much higher. Default is on (use fifo events).
- nopv= [X86,XEN,KVM,HYPER_V,VMWARE]
- Disables the PV optimizations forcing the guest to run
- as generic guest with no PV drivers. Currently support
- XEN HVM, KVM, HYPER_V and VMWARE guest.
- nopvspin [X86,XEN,KVM]
- Disables the qspinlock slow path using PV optimizations
- which allow the hypervisor to 'idle' the guest on lock
- contention.
- xirc2ps_cs= [NET,PCMCIA]
- Format:
- <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
- xive= [PPC]
- By default on POWER9 and above, the kernel will
- natively use the XIVE interrupt controller. This option
- allows the fallback firmware mode to be used:
- off Fallback to firmware control of XIVE interrupt
- controller on both pseries and powernv
- platforms. Only useful on POWER9 and above.
- xhci-hcd.quirks [USB,KNL]
- A hex value specifying bitmask with supplemental xhci
- host controller quirks. Meaning of each bit can be
- consulted in header drivers/usb/host/xhci.h.
- xmon [PPC]
- Format: { early | on | rw | ro | off }
- Controls if xmon debugger is enabled. Default is off.
- Passing only "xmon" is equivalent to "xmon=early".
- early Call xmon as early as possible on boot; xmon
- debugger is called from setup_arch().
- on xmon debugger hooks will be installed so xmon
- is only called on a kernel crash. Default mode,
- i.e. either "ro" or "rw" mode, is controlled
- with CONFIG_XMON_DEFAULT_RO_MODE.
- rw xmon debugger hooks will be installed so xmon
- is called only on a kernel crash, mode is write,
- meaning SPR registers, memory and, other data
- can be written using xmon commands.
- ro same as "rw" option above but SPR registers,
- memory, and other data can't be written using
- xmon commands.
- off xmon is disabled.
|