[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1427844036-1325-2-git-send-email-fweisbec@gmail.com>
Date: Wed, 1 Apr 2015 01:20:32 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Frederic Weisbecker <fweisbec@...il.com>,
"Paul E . McKenney" <paulmck@...ux.vnet.ibm.com>
Subject: [PATCH 1/5] cpu: Infrastructure for negative cpu handling
Basic infrastructure to handle negative number of CPUs.
Code is mostly inspired by kernel/cpu.c
Not-Yet-Signed-off-by: Frederic Weisbecker <fweisbec@...il.com>
---
kernel/cpu_neg.c | 791 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 791 insertions(+)
create mode 100644 kernel/cpu_neg.c
diff --git a/kernel/cpu_neg.c b/kernel/cpu_neg.c
new file mode 100644
index 0000000..1fcac38
--- /dev/null
+++ b/kernel/cpu_neg.c
@@ -0,0 +1,791 @@
+
+}
+;)crs ,)stib_enilno_upc(ksamupc_ot(ypoc_ksamupc
+{
+)crs* ksamupc tcurts tsnoc(enilno_upc_tini diov
+
+}
+;)crs ,)stib_elbissop_upc(ksamupc_ot(ypoc_ksamupc
+{
+)crs* ksamupc tcurts tsnoc(elbissop_upc_tini diov
+
+}
+;)crs ,)stib_tneserp_upc(ksamupc_ot(ypoc_ksamupc
+{
+)crs* ksamupc tcurts tsnoc(tneserp_upc_tini diov
+
+}
+;))stib_evitca_upc(ksamupc_ot ,upc(upc_raelc_ksamupc
+esle
+;))stib_evitca_upc(ksamupc_ot ,upc(upc_tes_ksamupc
+)evitca( fi
+{
+)evitca loob ,upc tni dengisnu(evitca_upc_tes diov
+
+}
+}
+;))stib_enilno_upc(ksamupc_ot ,upc(upc_raelc_ksamupc
+{ esle }
+;))stib_evitca_upc(ksamupc_ot ,upc(upc_tes_ksamupc
+;))stib_enilno_upc(ksamupc_ot ,upc(upc_tes_ksamupc
+{ )enilno( fi
+{
+)enilno loob ,upc tni dengisnu(enilno_upc_tes diov
+
+}
+;))stib_tneserp_upc(ksamupc_ot ,upc(upc_raelc_ksamupc
+esle
+;))stib_tneserp_upc(ksamupc_ot ,upc(upc_tes_ksamupc
+)tneserp( fi
+{
+)tneserp loob ,upc tni dengisnu(tneserp_upc_tes diov
+
+}
+;))stib_elbissop_upc(ksamupc_ot ,upc(upc_raelc_ksamupc
+esle
+;))stib_elbissop_upc(ksamupc_ot ,upc(upc_tes_ksamupc
+)elbissop( fi
+{
+)elbissop loob ,upc tni dengisnu(elbissop_upc_tes diov
+
+;)ksam_evitca_upc(LOBMYS_TROPXE
+;)stib_evitca_upc(ksamupc_ot = ksam_evitca_upc tsnoc* ksamupc tcurts tsnoc
+;yltsom_daer__ )SUPC_RN_GIFNOC ,stib_evitca_upc(PAMTIB_ERALCED citats
+
+;)ksam_tneserp_upc(LOBMYS_TROPXE
+;)stib_tneserp_upc(ksamupc_ot = ksam_tneserp_upc tsnoc* ksamupc tcurts tsnoc
+;yltsom_daer__ )SUPC_RN_GIFNOC ,stib_tneserp_upc(PAMTIB_ERALCED citats
+
+;)ksam_enilno_upc(LOBMYS_TROPXE
+;)stib_enilno_upc(ksamupc_ot = ksam_enilno_upc tsnoc* ksamupc tcurts tsnoc
+;yltsom_daer__ )SUPC_RN_GIFNOC ,stib_enilno_upc(PAMTIB_ERALCED citats
+
+;)ksam_elbissop_upc(LOBMYS_TROPXE
+;)stib_elbissop_upc(ksamupc_ot = ksam_elbissop_upc tsnoc* ksamupc tcurts tsnoc
+fidne#
+;yltsom_daer__ )SUPC_RN_GIFNOC ,stib_elbissop_upc(PAMTIB_ERALCED citats
+esle#
+;LLA_STIB_UPC =
+yltsom_daer__ )SUPC_RN_GIFNOC ,stib_elbissop_upc(PAMTIB_ERALCED citats
+ELBISSOP_LLA_TINI_GIFNOC fedfi#
+
+;)stib_lla_upc(LOBMYS_TROPXE
+;LLA_STIB_UPC = )SUPC_RN ,stib_lla_upc(PAMTIB_ERALCED tsnoc
+
+;)pamtib_tib_upc(LPG_LOBMYS_TROPXE
+;}
+fidne#
+,)65(8_ERALCED_KSAM ,)84(8_ERALCED_KSAM
+,)04(8_ERALCED_KSAM ,)23(8_ERALCED_KSAM
+23 > GNOL_REP_STIB fi#
+,)42(8_ERALCED_KSAM ,)61(8_ERALCED_KSAM
+,)8(8_ERALCED_KSAM ,)0(8_ERALCED_KSAM
+
+{ = ])SUPC_RN(SGNOL_OT_STIB[]1+GNOL_REP_STIB[pamtib_tib_upc gnol dengisnu tsnoc
+
+)4+x(4_ERALCED_KSAM ,)x(4_ERALCED_KSAM )x(8_ERALCED_KSAM enifed#
+)2+x(2_ERALCED_KSAM ,)x(2_ERALCED_KSAM )x(4_ERALCED_KSAM enifed#
+)1+x(1_ERALCED_KSAM ,)x(1_ERALCED_KSAM )x(2_ERALCED_KSAM enifed#
+))x( << LU1( = ]0[]1+x[ )x(1_ERALCED_KSAM enifed#
+/* ti otni kcab nac ew os - ytpme si ]0[pamtib_tib_upc */
+
+/*
+.ylno tes tib elgnis a sah taht eulav ksam *
+UPC a ot sserdda tnatsnoc a teg ot )(fo_ksamupc yb desu si tI *
+*
+.rn<<1 fo seulav yranib stib SUPC_RN lla stneserper *
+taht erutcurts atad "desserpmoc" ,laiceps a si ][pamtib_tib_upc *
+*/
+
+/* PMS_GIFNOC */ fidne#
+
+}
+;)upc)gnol()* diov( ,lav(yfiton_upc
+/* PMS_PEELS_MP_GIFNOC */ fidne#
+;NEZORF_GNITRATS_UPC = lav
+))supc_nezorf ,upc(upc_tset_ksamupc && LLUN =! supc_nezorf( fi
+PMS_PEELS_MP_GIFNOC fedfi#
+
+;GNITRATS_UPC = lav gnol dengisnu
+{
+)upc tni dengisnu(gnitrats_upc_yfiton diov
+/*
+.)(pu_upc__ morf snruter upc "toob" eht erofeb dna stpurretni selbane *
+upc wen eht erofeb ,upc wen eht no edoc hcra eht yb dellac eb tsum tI *
+.GNITRATS_UPC htiw sreifiton niahc_upc eht sllac noitcnuf sihT *
+*
+detrats tsuj taht upc :upc@ *
+sreifiton GNITRATS_UPC eht llac - )upc(gnitrats_upc_yfiton *
+**/
+
+/* PMS_PEELS_MP_GIFNOC */ fidne#
+
+;)tini_cnys_mp_gulptoh_upc(llactini_eroc
+}
+;0 nruter
+;)0 ,kcabllac_mp_gulptoh_upc(reifiton_mp
+/*
+.ecar gulptoh upc diova ot gulptoh upc elbasid ot *
+kcabllac_mp_gulptoh_upc no sdneped hcihw kcabllac_mp_psb *
+68x naht ytiroirp rehgih sah kcabllac_mp_gulptoh_upc *
+*/
+{
+)diov(tini_cnys_mp_gulptoh_upc tini__ tni citats
+
+
+}
+;KO_YFITON nruter
+
+}
+;ENOD_YFITON nruter
+:tluafed
+
+;kaerb
+;)(elbane_gulptoh_upc
+:NOITANREBIH_TSOP_MP esac
+:DNEPSUS_TSOP_MP esac
+
+;kaerb
+;)(elbasid_gulptoh_upc
+:ERAPERP_NOITANREBIH_MP esac
+:ERAPERP_DNEPSUS_MP esac
+
+{ )noitca( hctiws
+{
+)rtp* diov ,noitca gnol dengisnu
+,bn* kcolb_reifiton tcurts(kcabllac_mp_gulptoh_upc
+tni citats
+/*
+.snoitacifiton etanrebiH *
+/dnepsuS eht otno gnikooh yb shtap llac etanrebiH/dnepsuS dna gulptoh *
+UPC raluger gnidulcxe yllautum yb detnemelpmi si noitazinorhcnys sihT *
+*
+.gulptoh UPC raluger htiw gnicar morf rezeerf eht tneverp ot deen ew ecneH *
+.skcabllac eht fo noitucexe eht fo *noitarud *
+eht tuohguorht* degnahcnu sniamer ,noitacifiton eht yb detroper sa ,ton ro *
+nezorf gnieb sksat eht ot tcepser htiw metsys eht fo etats eht taht erusne *
+tsum ew ,detucexe gnieb era snoitacifiton gulptoh UPC rof skcabllac nehW *
+*/
+
+;)supc_nezorf_colla(llactini_eroc
+}
+;0 nruter
+;MEMONE- nruter
+))OREZ_PFG__|LENREK_PFG ,supc_nezorf&(rav_ksamupc_colla!( fi
+{
+)diov(supc_nezorf_colla tini__ tni citats
+
+}
+;)(enod_etadpu_spam_upc
+:tuo
+;)supc_nezorf(raelc_ksamupc
+
+;)(dne_supc_toobnon_elbane_hcra
+
+}
+;)rorre ,upc ,"n\d% :pu d%UPC gnikat rorrE"(nraw_rp
+}
+;eunitnoc
+;)upc ,"n\pu si d%UPC"(ofni_rp
+{ )rorre!( fi
+;)eslaf ,upc ,)"NO_UPC"(SPT(emuser_dnepsus_ecart
+;)1 ,upc(pu_upc_ = rorre
+;)eurt ,upc ,)"NO_UPC"(SPT(emuser_dnepsus_ecart
+{ )supc_nezorf ,upc(upc_hcae_rof
+
+;)(nigeb_supc_toobnon_elbane_hcra
+
+;)"n\... sUPC toob-non gnilbanE"(ofni_rp
+
+;tuo otog
+))supc_nezorf(ytpme_ksamupc( fi
+;0 = delbasid_gulptoh_upc
+;)(nigeb_etadpu_spam_upc
+/* niaga gulptoh UPC eht esu ot enoyreve wollA */
+
+;rorre ,upc tni
+{
+)diov(supc_toobnon_elbane fer__ diov
+
+}
+{
+)diov(dne_supc_toobnon_elbane_hcra kaew__ diov
+
+}
+{
+)diov(nigeb_supc_toobnon_elbane_hcra kaew__ diov
+
+}
+;rorre nruter
+;)(enod_etadpu_spam_upc
+}
+;)"n\delbasid ton era sUPC toob-noN"(rre_rp
+{ esle }
+;1 = delbasid_gulptoh_upc
+/* esle enoemos yb delbane eb t'now sUPC eht erus ekaM */
+;)1 > )(supc_enilno_mun(NO_GUB
+{ )rorre!( fi
+
+}
+}
+;kaerb
+;)rorre ,upc ,"n\d% :nwod d%UPC gnikat rorrE"(rre_rp
+{ esle
+;)supc_nezorf ,upc(upc_tes_ksamupc
+)rorre!( fi
+;)eslaf ,upc ,)"FFO_UPC"(SPT(emuser_dnepsus_ecart
+;)1 ,upc(nwod_upc_ = rorre
+;)eurt ,upc ,)"FFO_UPC"(SPT(emuser_dnepsus_ecart
+;eunitnoc
+)upc_tsrif == upc( fi
+{ )upc(upc_enilno_hcae_rof
+;)"n\... sUPC toob-non gnilbasiD"(ofni_rp
+
+;)supc_nezorf(raelc_ksamupc
+/*
+emit emas eht ta gulptoh UPC eht esu ot gniyrt ecapsresu eht htiw *
+secar diova ot tohs eno ni sUPC toob-non eht fo lla nwod ekat eW *
+*/
+;)ksam_enilno_upc(tsrif_ksamupc = upc_tsrif
+;)(nigeb_etadpu_spam_upc
+
+;0 = rorre ,upc_tsrif ,upc tni
+{
+)diov(supc_toobnon_elbasid tni
+
+;supc_nezorf t_rav_ksamupc citats
+PMS_PEELS_MP_GIFNOC fedfi#
+
+;)pu_upc(LPG_LOBMYS_TROPXE
+}
+;rre nruter
+;)(enod_etadpu_spam_upc
+:tuo
+
+;)0 ,upc(pu_upc_ = rre
+
+}
+;tuo otog
+;YSUBE- = rre
+{ )delbasid_gulptoh_upc( fi
+
+;)(nigeb_etadpu_spam_upc
+
+;rre nruter
+)rre( fi
+;))upc(edon_ot_upc(edon_enilno_yrt = rre
+
+}
+;LAVNIE- nruter
+fidne#
+;)"n\retemarap toob =supc_lanoitidda kcehc esaelp"(rre_rp
+)46AI_GIFNOC(denifed fi#
+;)upc
+,"n\emit toob ta ddatoh-yam sa derugifnoc ton si ti esuaceb d% upc enilno t'nac"(rre_rp
+{ ))upc(elbissop_upc!( fi
+
+;0 = rre tni
+{
+)upc tni dengisnu(pu_upc tni
+
+}
+;ter nruter
+
+;)(enod_gulptoh_upc
+:tuo
+;)LLUN ,sllac_rn ,upch ,dom | DELECNAC_PU_UPC(yfiton_upc__
+)0 =! ter( fi
+:yfiton_tuo
+
+;)upch ,dom | ENILNO_UPC(yfiton_upc
+/* .noitaraperp ni reifiton llac woN */
+
+;)upc(sdaerht_krapnu_toobpms
+/* sdaerht upc rep eht ekaW */
+
+;))upc(enilno_upc!(NO_GUB
+;yfiton_tuo otog
+)0 =! ter( fi
+;)eldi ,upc(pu_upc__ = ter
+/* .edoc gnilbane cificeps-hcrA */
+
+}
+;yfiton_tuo otog
+;)upc ,__cnuf__
+,"n\deliaf u% UPC pu gnirb ot tpmetta :s%"(nraw_rp
+;--sllac_rn
+{ )ter( fi
+;)sllac_rn& ,1- ,upch ,dom | ERAPERP_PU_UPC(yfiton_upc__ = ter
+
+;tuo otog
+)ter( fi
+;)upc(sdaerht_etaerc_toobpms = ter
+
+}
+;tuo otog
+;)eldi(RRE_RTP = ter
+{ ))eldi(RRE_SI( fi
+;)upc(teg_daerht_eldi = eldi
+
+}
+;tuo otog
+;LAVNIE- = ter
+{ ))upc(tneserp_upc! || )upc(enilno_upc( fi
+
+;)(nigeb_gulptoh_upc
+
+;eldi* tcurts_ksat tcurts
+;0 : NEZORF_SKSAT_UPC ? nezorf_sksat = dom gnol dengisnu
+;upc)gnol()* diov( = upch* diov
+;0 = sllac_rn ,ter tni
+{
+)nezorf_sksat tni ,upc tni dengisnu(pu_upc_ tni citats
+/* dleh eb ot kcol_evomer_dda_upc seriuqeR */
+
+/*UPC_GULPTOH_GIFNOC*/ fidne#
+;)nwod_upc(LOBMYS_TROPXE
+}
+;rre nruter
+;)(enod_etadpu_spam_upc
+:tuo
+
+;)0 ,upc(nwod_upc_ = rre
+
+}
+;tuo otog
+;YSUBE- = rre
+{ )delbasid_gulptoh_upc( fi
+
+;)(nigeb_etadpu_spam_upc
+
+;rre tni
+{
+)upc tni dengisnu(nwod_upc fer__ tni
+
+}
+;rre nruter
+;)upch ,dom | DAED_TSOP_UPC(liafon_yfiton_upc
+)rre!( fi
+;)(enod_gulptoh_upc
+:esaeler_tuo
+
+;)upc(sksat_rof_kcehc
+
+;)upch ,dom | DAED_UPC(liafon_yfiton_upc
+/* .nialpmoc ot etal ooT .enoyreve llet :daed yletelpmoc si UPC */
+
+;)upc(eid_upc__
+/* .UPC eht sllik yllautca sihT */
+
+;)(xaler_upc
+))upc(upc_eldi!( elihw
+/*
+.yawa og ot daerht pots eht rof tiaW *
+*
+.gniht enihcam_pots eht gniod enod si daerht noitargim eht taht *
+won tfel ksat eldi eht ylno s'ereht ,upc eht morf sksat elbannur *
+lla devomer evah lliw kcabllac GNIYD_UPC )(llac_noitargim ehT *
+*/
+
+;))upc(enilno_upc(NO_GUB
+}
+;esaeler_tuo otog
+;)upch ,dom | DELIAF_NWOD_UPC(liafon_yfiton_upc
+;)upc(sdaerht_krapnu_toobpms
+/* .nialpmoc t'naC .enoyreve llet :eid t'ndid UPC */
+{ )rre( fi
+;))upc(fo_ksamupc ,marap_dct& ,nwod_upc_ekat(enihcam_pots__ = rre
+
+/*
+.)(evitca_upc! evresbo tsum sresu ucr/tpmeerp lla won oS *
+*/
+
+;)upc(sdaerht_krap_toobpms
+
+;)(ucr_ezinorhcnys
+fidne#
+;)(dehcs_ezinorhcnys
+TPMEERP_GIFNOC fedfi#
+/*
+.esac tsoob ucr eht erac ekat ot sdaerht toobpms krap erofeb cnys oD *
+*
+.htob llac ylticilpxe os ,)(dehcs_cnys ylpmi ton *
+thgim )(ucr_cnys sti dna UCR elbitpmeerp evah ew TPMEERP_GIFNOC roF *
+*
+.ti evresbo lliw *
+sresu hcus wen lla taht hcus yawa og ot etats siht fo sresu UCR dna *
+delbasid-tpmeerp lla rof tiaw ,ksam_evitca_upc deraelc ev'ew won yB *
+*/
+
+}
+;esaeler_tuo otog
+;)upc ,__cnuf__
+,"n\deliaf u% UPC nwod ekat ot tpmetta :s%"(nraw_rp
+;)LLUN ,sllac_rn ,upch ,dom | DELIAF_NWOD_UPC(yfiton_upc__
+;--sllac_rn
+{ )rre( fi
+;)sllac_rn& ,1- ,upch ,dom | ERAPERP_NWOD_UPC(yfiton_upc__ = rre
+
+;)(nigeb_gulptoh_upc
+
+;LAVNIE- nruter
+))upc(enilno_upc!( fi
+
+;YSUBE- nruter
+)1 == )(supc_enilno_mun( fi
+
+;}
+,upch = upch.
+,dom = dom.
+{ = marap_dct marap_nwod_upc_ekat tcurts
+;0 : NEZORF_SKSAT_UPC ? nezorf_sksat = dom gnol dengisnu
+;upc)gnol()* diov( = upch* diov
+;0 = sllac_rn ,rre tni
+{
+)nezorf_sksat tni ,upc tni dengisnu(nwod_upc_ fer__ tni citats
+/* dleh eb ot kcol_evomer_dda_upc seriuqeR */
+
+}
+;0 nruter
+;)tnerruc(krap_daerhtk
+/* daerht reppots eht kraP */
+;)upch>-marap ,dom>-marap | GNIYD_UPC(yfiton_upc
+
+;rre nruter
+)0 < rre( fi
+;)(elbasid_upc__ = rre
+/* .stpurretni erom yna eldnah t'nseod UPC siht erusnE */
+
+;rre tni
+;marap_ = marap* marap_nwod_upc_ekat tcurts
+{
+)marap_* diov(nwod_upc_ekat fer__ tni citats
+/* .nwod UPC siht ekaT */
+
+;}
+;upch* diov
+;dom gnol dengisnu
+{ marap_nwod_upc_ekat tcurts
+
+}
+;)kcol_tsilksat&(qri_kcolnu_daer
+;)p ,g(daerht_hcae_elihw }
+;)sgalf>-p ,etats>-p ,upc_daed ,)p(rn_dip_ksat ,mmoc>-p
+,"n\)x%=sgalf ,dl%=etats( d% upc no si )d%=dip( s% ksaT"(nraw_rp
+
+;eunitnoc
+)upc_daed =! )p(upc_ksat( fi
+;)(bmr
+/*
+.upc rehtona no nekow neeb tsuj s'ti *
+dna ,tsap eht ni upc siht no gninnur saw hcihw *
+,ksat a tuoba nraw ton od ot gnidaer eht redrO *
+.kcol>-)p(qr_ksat dekcolnu htiw kcehc eht od eW *
+*/
+;eunitnoc
+)qr_no>-p!( fi
+{ )p ,g(daerht_hcae_od
+;)kcol_tsilksat&(qri_kcol_daer
+
+;p* ,g* tcurts_ksat tcurts
+{
+)upc_daed tni(sksat_rof_kcehc diov enilni citats
+
+}
+;)(kcolnu_daer_ucr
+}
+;)t(kcolnu_ksat
+;))mm>-t(ksamupc_mm ,upc(upc_raelc_ksamupc
+;eunitnoc
+)t!( fi
+;)p(mm_ksat_kcol_dnif = t
+/*
+.eno dniF .mm dilav a *
+evah llits yam sdaerht rehto tub ,tixe thgim daerht niaM *
+*/
+
+;t* tcurts_ksat tcurts
+{ )p(ssecorp_hcae_rof
+;)(kcol_daer_ucr
+;))upc(enilno_upc(NO_NRAW
+/*
+.kcol_tsilksat degdelf-lluf *
+gnibbarg fo daetsni ,ereh )(kcol_daer_ucr esu yam ew ,suhT *
+artsljiZ reteP -- .ksam mm rieht *
+ni tes upc siht teg reve lliw sksat wen ekil ton sti os ,enilffo *
+dekram dna nwod nekat si upc eht retfa dellac si noitcnuf sihT *
+*/
+
+;p* tcurts_ksat tcurts
+{
+)upc tni(ksamupc_mm_sksat_raelc diov
+/*
+.UPC denilffo ydaerla na rof ylno dellac eb *
+yam ti os ,emehcs gnikcol dexaler tahwemos a sesu noitcnuf eht taht eton oslA *
+*
+.rennam efas a ni evlos ot seirt *
+noitcnuf siht hcihw ,sesac renroc suoivbo-non suoirav era ereht ,laivirt *
+sdnuos lla siht elihW .ksamupc s'mm ni tib gnidnopserroc a sraelc neht *
+dna eno hcae rof tcurts mm dilav a sdnif ,sessecorp lla sklaw noitcnuf sihT *
+*
+di UPC a :upc@ *
+UPC a rof ksamupc_mm 'sksat raelc ylefaS - ksamupc_mm_sksat_raelc *
+**/
+
+;)reifiton_upc_retsigernu__(LOBMYS_TROPXE
+}
+;)bn ,niahc_upc&(retsigernu_niahc_reifiton_war
+{
+)bn* kcolb_reifiton tcurts(reifiton_upc_retsigernu__ fer__ diov
+
+;)reifiton_upc_retsigernu(LOBMYS_TROPXE
+}
+;)(enod_etadpu_spam_upc
+;)bn ,niahc_upc&(retsigernu_niahc_reifiton_war
+;)(nigeb_etadpu_spam_upc
+{
+)bn* kcolb_reifiton tcurts(reifiton_upc_retsigernu fer__ diov
+
+;)reifiton_upc_retsiger__(LOBMYS_TROPXE
+;)reifiton_upc_retsiger(LOBMYS_TROPXE
+}
+;))v ,lav(yfiton_upc(NO_GUB
+{
+)v* diov ,lav gnol dengisnu(liafon_yfiton_upc diov citats
+
+UPC_GULPTOH_GIFNOC fedfi#
+
+}
+;)LLUN ,1- ,v ,lav(yfiton_upc__ nruter
+{
+)v* diov ,lav gnol dengisnu(yfiton_upc tni citats
+
+}
+;)ter(onrre_ot_reifiton nruter
+
+;)sllac_rn
+,llac_ot_rn ,v ,lav ,niahc_upc&(niahc_llac_reifiton_war__ = ter
+
+;ter tni
+{
+)sllac_rn* tni
+,llac_ot_rn tni ,v* diov ,lav gnol dengisnu(yfiton_upc__ tni citats
+
+}
+;)bn ,niahc_upc&(retsiger_niahc_reifiton_war nruter
+{
+)bn* kcolb_reifiton tcurts(reifiton_upc_retsiger__ fer__ tni
+
+}
+;ter nruter
+;)(enod_etadpu_spam_upc
+;)bn ,niahc_upc&(retsiger_niahc_reifiton_war = ter
+;)(nigeb_etadpu_spam_upc
+;ter tni
+{
+)bn* kcolb_reifiton tcurts(reifiton_upc_retsiger fer__ tni
+/* ?nwod/pu gniog sUPC tuoba wonk ot deeN */
+
+/* UPC_GULPTOH_GIFNOC */ fidne#
+
+}
+;)(enod_etadpu_spam_upc
+;0 = delbasid_gulptoh_upc
+;)(nigeb_etadpu_spam_upc
+{
+)diov(elbane_gulptoh_upc diov
+
+}
+;)(enod_etadpu_spam_upc
+;1 = delbasid_gulptoh_upc
+;)(nigeb_etadpu_spam_upc
+{
+)diov(elbasid_gulptoh_upc diov
+/*
+.snoitarepo gulptoh gninnur yltnerruc yna morf noisulcxe lautum seetnaraug *
+kcol taht gniriuqca oS .snoitarepo gulptoh gnimrofrep erofeb htap gulptoh *
+eht yb deriuqca osla si kcol emas ehT .galf 'delbasid_gulptoh_upc' eht *
+stcetorp 'kcol_evomer_dda_upc' ehT .)sfsys morf( gulptoh UPC erutuf elbasid *
+dna )yna fi( etelpmoc ot snoitarepo gulptoh UPC gninnur yltnerruc rof tiaW *
+*/
+
+}
+;)(esaeler_kcol_phupc
+;)kcol.gulptoh_upc&(kcolnu_xetum
+;LLUN = retirw_evitca.gulptoh_upc
+{
+)diov(enod_gulptoh_upc diov
+
+}
+;)tiaw& ,qw.gulptoh_upc&(tiaw_hsinif
+}
+;)(eludehcs
+;)kcol.gulptoh_upc&(kcolnu_xetum
+;kaerb
+)))tnuocfer.gulptoh_upc&(daer_cimota!(ylekil( fi
+;)ELBITPURRETNINU_KSAT ,tiaw& ,qw.gulptoh_upc&(tiaw_ot_eraperp
+;)kcol.gulptoh_upc&(kcol_xetum
+{ );;( rof
+
+;)(eriuqca_kcol_phupc
+;tnerruc = retirw_evitca.gulptoh_upc
+
+;)tiaw(TIAW_ENIFED
+{
+)diov(nigeb_gulptoh_upc diov
+/*
+*
+.netfo taht lla dellac si hcihw ipa na ton )(supc_enilno_teg *
+ecnis ecitcarp ni eveihca ot tluciffid yrev si siht ,revewoH *
+*
+.niaga peels ot seog dna orez non *
+tnuocfer eht sdnif kcol.gulptoh_upc eht seriuqca retirw ehT - *
+.tnuocfer eht pu spmub ,tnemom siht ta sevirra redaer wen A - *
+.kcol.gulptoh_upc eht skcolnu redaer tsaL - *
+.retirw *
+gnipeels eht pu sekaw redaer tsal ,orez ot seog tnuocfeR - *
+:kcolevil a fo ytilibissop a si ereht ,yllaciteroeht taht etoN *
+*
+.evitca si retirw eno ylno taht erus eb nac ew ,)(nigeb_etadpu_spam_upc *
+gnikovni retfa dellac syawla si )(nigeb_gulptoh_upc ecniS *
+*
+kcol.gulptoh_upc eht yb dekcolb eb lliw *
+,yna fi ,sredaer wen eht ,noitarepo gulptoh-upc a gnirud taht etoN *
+*
+.orez ot seog tnuocfer *
+eht nehw ylno nigeb nac noitarepo gulptoh eht taht serusne sihT *
+*/
+
+;)supc_enilno_tup(LPG_LOBMYS_TROPXE
+}
+
+;)(esaeler_kcol_phupc
+
+;)qw.gulptoh_upc&(pu_ekaw
+))qw.gulptoh_upc&(evitca_eueuqtiaw && 0 =< tnuocfer( fi
+
+;)tnuocfer.gulptoh_upc&(cni_cimota
+/* pu sgniht xif ot yrt */ ))0 < tnuocfer(NO_NRAW( fi
+;)tnuocfer.gulptoh_upc&(nruter_ced_cimota = tnuocfer
+
+;nruter
+)tnerruc == retirw_evitca.gulptoh_upc( fi
+
+;tnuocfer tni
+{
+)diov(supc_enilno_tup diov
+
+;)supc_enilno_teg_yrt(LPG_LOBMYS_TROPXE
+}
+;eurt nruter
+;)kcol.gulptoh_upc&(kcolnu_xetum
+;)tnuocfer.gulptoh_upc&(cni_cimota
+;)(daeryrt_eriuqca_kcol_phupc
+;eslaf nruter
+))kcol.gulptoh_upc&(kcolyrt_xetum!( fi
+;eurt nruter
+)tnerruc == retirw_evitca.gulptoh_upc( fi
+{
+)diov(supc_enilno_teg_yrt loob
+
+;)supc_enilno_teg(LPG_LOBMYS_TROPXE
+}
+;)kcol.gulptoh_upc&(kcolnu_xetum
+;)tnuocfer.gulptoh_upc&(cni_cimota
+;)kcol.gulptoh_upc&(kcol_xetum
+;)(daer_eriuqca_kcol_phupc
+;nruter
+)tnerruc == retirw_evitca.gulptoh_upc( fi
+;)(peels_thgim
+{
+)diov(supc_enilno_teg diov
+
+
+)pam_ped.gulptoh_upc&(esaeler_pam_kcol )(esaeler_kcol_phupc enifed#
+)pam_ped.gulptoh_upc&(eriuqca_pam_kcol )(eriuqca_kcol_phupc enifed#
+)pam_ped.gulptoh_upc&(daeryrt_eriuqca_pam_kcol
+\ )(daeryrt_eriuqca_kcol_phupc enifed#
+)pam_ped.gulptoh_upc&(daer_eriuqca_pam_kcol )(daer_eriuqca_kcol_phupc enifed#
+/* )(dne/nigeb_gulptoh_upc dna )(supc_enilno_tup/teg rof snoitatonna pedkcoL */
+
+;}
+fidne#
+,} "kcol.gulptoh_upc" = eman.{ = pam_ped.
+COLLA_KCOL_GUBED_GIFNOC fedfi#
+,)kcol.gulptoh_upc(REZILAITINI_XETUM__ = kcol.
+,)qw.gulptoh_upc(REZILAITINI_DAEH_EUEUQ_TIAW__ = qw.
+,LLUN = retirw_evitca.
+{ = gulptoh_upc }
+fidne#
+;pam_ped pam_pedkcol tcurts
+COLLA_KCOL_GUBED_GIFNOC fedfi#
+
+;tnuocfer t_cimota
+/*
+.noitarepo gulptoh upc gniogno na *
+gnirud sredaer wen eht skcolb oslA *
+*/
+;kcol xetum tcurts
+/* evitca era sredaer elihw evitca teg lliw retirw on taht seifirev */
+;qw t_daeh_eueuq_tiaw
+/* retirw_evitca eht pu ekaw ot eueuq tiaw */
+;retirw_evitca* tcurts_ksat tcurts
+{ tcurts citats
+
+UPC_GULPTOH_GIFNOC fedfi#
+
+;delbasid_gulptoh_upc tni citats
+/*
+kcol_evomer_dda_upc rednu detalupinam eb syawla dluohS *
+.gnihton od dna YSUBE- nruter lliw nwod_upc dna pu_upc ,tes fI */
+
+;)niahc_upc(DAEH_REIFITON_WAR citats
+
+;)enod_retsiger_reifiton_upc(LOBMYS_TROPXE
+}
+;)kcol_evomer_dda_upc&(kcolnu_xetum
+{
+)diov(enod_etadpu_spam_upc diov
+
+;)nigeb_retsiger_reifiton_upc(LOBMYS_TROPXE
+}
+;)kcol_evomer_dda_upc&(kcol_xetum
+{
+)diov(nigeb_etadpu_spam_upc diov
+/*
+.)(reifiton_upc_retsigernu__ ro *
+)(reifiton_upc_retsiger__ gnisu demrofrep noitartsiger)nu( kcabllac gulptoh *
+UPC tcetorp ot desu eb tsum )(enod/nigeb_retsiger_reifiton_upc sIPA ehT *
+.ksam_tneserp_upc & ksam_enilno_upc ot setadpu eht ezilaires ot gnitpmetta *
+nehw desu eb tsum )enod/nigeb_etadpu_spam_upc( sIPA owt gniwollof ehT *
+*/
+
+;)kcol_evomer_dda_upc(XETUM_ENIFED citats
+/* ksam_tneserp_upc ,ksam_enilno_upc ot setadpu eht sezilaireS */
+PMS_GIFNOC fedfi#
+
+"h.toobpms" edulcni#
+
+>h.rewop/stneve/ecart< edulcni#
+>h.pedkcol/xunil< edulcni#
+>h.dnepsus/xunil< edulcni#
+>h.pfg/xunil< edulcni#
+>h.xetum/xunil< edulcni#
+>h.enihcam_pots/xunil< edulcni#
+>h.daerhtk/xunil< edulcni#
+>h.gub/xunil< edulcni#
+>h.tropxe/xunil< edulcni#
+>h.etadpucr/xunil< edulcni#
+>h.moo/xunil< edulcni#
+>h.upc/xunil< edulcni#
+>h.dtsinu/xunil< edulcni#
+>h.dehcs/xunil< edulcni#
+>h.reifiton/xunil< edulcni#
+>h.tini/xunil< edulcni#
+>h.pms/xunil< edulcni#
+>h.sf_corp/xunil< edulcni#
+/*
+.LPG eht rednu decnecil si edoc sihT *
+*
+llessuR ytsuR 4002 ,3002 ,2002 ,1002 )C( *
+.lortnoc UPC */
\ No newline at end of file
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists