/kernel/linux/linux-5.10/arch/m68k/kernel/ |
D | traps.c | 134 unsigned long fslw = fp->un.fmt4.pc; /* is really FSLW for access error */ in access_error060() 136 pr_debug("fslw=%#lx, fa=%#lx\n", fslw, fp->un.fmt4.effaddr); in access_error060() 151 unsigned long addr = fp->un.fmt4.effaddr; in access_error060() 173 fp->un.fmt4.effaddr); in access_error060() 236 fp->un.fmt7.faddr = wba; in fix_xframe040() 237 fp->un.fmt7.ssw = wbs & 0xff; in fix_xframe040() 239 fp->un.fmt7.ssw |= MA_040; in fix_xframe040() 246 if (fp->un.fmt7.wb1s & WBV_040) in do_040writebacks() 250 if ((fp->un.fmt7.wb2s & WBV_040) && in do_040writebacks() 251 !(fp->un.fmt7.wb2s & WBTT_040)) { in do_040writebacks() [all …]
|
/kernel/linux/linux-5.10/drivers/scsi/lpfc/ |
D | lpfc_mbox.c | 70 mb->un.varDmp.type = DMP_NV_PARAMS; in lpfc_dump_static_vport() 71 mb->un.varDmp.entry_index = offset; in lpfc_dump_static_vport() 72 mb->un.varDmp.region_id = DMP_REGION_VPORT; in lpfc_dump_static_vport() 77 mb->un.varDmp.cv = 1; in lpfc_dump_static_vport() 78 mb->un.varDmp.word_cnt = DMP_RSP_SIZE/sizeof(uint32_t); in lpfc_dump_static_vport() 98 mb->un.varWords[3] = putPaddrLow(mp->phys); in lpfc_dump_static_vport() 99 mb->un.varWords[4] = putPaddrHigh(mp->phys); in lpfc_dump_static_vport() 100 mb->un.varDmp.sli4_length = sizeof(struct static_vport_info); in lpfc_dump_static_vport() 147 mb->un.varDmp.cv = 1; in lpfc_dump_mem() 148 mb->un.varDmp.type = DMP_NV_PARAMS; in lpfc_dump_mem() [all …]
|
D | lpfc_ct.c | 121 ((icmd->un.ulpWord[4] & IOERR_PARAM_MASK) == in lpfc_ct_unsol_event() 145 size = icmd->un.cont64[0].tus.f.bdeSize; in lpfc_ct_unsol_event() 166 paddr = getPaddr(icmd->un.cont64[i].addrHigh, in lpfc_ct_unsol_event() 167 icmd->un.cont64[i].addrLow); in lpfc_ct_unsol_event() 170 size = icmd->un.cont64[i].tus.f.bdeSize; in lpfc_ct_unsol_event() 334 icmd->un.genreq64.bdl.ulpIoTag32 = 0; in lpfc_gen_req() 335 icmd->un.genreq64.bdl.addrHigh = putPaddrHigh(bmp->phys); in lpfc_gen_req() 336 icmd->un.genreq64.bdl.addrLow = putPaddrLow(bmp->phys); in lpfc_gen_req() 337 icmd->un.genreq64.bdl.bdeFlags = BUFF_TYPE_BLP_64; in lpfc_gen_req() 338 icmd->un.genreq64.bdl.bdeSize = (num_entry * sizeof(struct ulp_bde64)); in lpfc_gen_req() [all …]
|
D | lpfc_bsg.c | 130 (size_t)(&((struct lpfc_sli_ct_request *)NULL)->un) 343 switch (rsp->un.ulpWord[4] & IOERR_PARAM_MASK) { in lpfc_bsg_send_mgmt_cmd_cmp() 358 rsp_size = rsp->un.genreq64.bdl.bdeSize; in lpfc_bsg_send_mgmt_cmd_cmp() 471 cmd->un.genreq64.bdl.ulpIoTag32 = 0; in lpfc_bsg_send_mgmt_cmd() 472 cmd->un.genreq64.bdl.addrHigh = putPaddrHigh(bmp->phys); in lpfc_bsg_send_mgmt_cmd() 473 cmd->un.genreq64.bdl.addrLow = putPaddrLow(bmp->phys); in lpfc_bsg_send_mgmt_cmd() 474 cmd->un.genreq64.bdl.bdeFlags = BUFF_TYPE_BLP_64; in lpfc_bsg_send_mgmt_cmd() 475 cmd->un.genreq64.bdl.bdeSize = in lpfc_bsg_send_mgmt_cmd() 478 cmd->un.genreq64.w5.hcsw.Fctl = (SI | LA); in lpfc_bsg_send_mgmt_cmd() 479 cmd->un.genreq64.w5.hcsw.Dfctl = 0; in lpfc_bsg_send_mgmt_cmd() [all …]
|
D | lpfc_els.c | 238 icmd->un.elsreq64.bdl.addrHigh = putPaddrHigh(pbuflist->phys); in lpfc_prep_els_iocb() 239 icmd->un.elsreq64.bdl.addrLow = putPaddrLow(pbuflist->phys); in lpfc_prep_els_iocb() 240 icmd->un.elsreq64.bdl.bdeFlags = BUFF_TYPE_BLP_64; in lpfc_prep_els_iocb() 241 icmd->un.elsreq64.bdl.bdeSize = (2 * sizeof(struct ulp_bde64)); in lpfc_prep_els_iocb() 243 icmd->un.elsreq64.remoteID = did; /* DID */ in lpfc_prep_els_iocb() 252 icmd->un.xseq64.bdl.addrHigh = putPaddrHigh(pbuflist->phys); in lpfc_prep_els_iocb() 253 icmd->un.xseq64.bdl.addrLow = putPaddrLow(pbuflist->phys); in lpfc_prep_els_iocb() 254 icmd->un.xseq64.bdl.bdeFlags = BUFF_TYPE_BLP_64; in lpfc_prep_els_iocb() 255 icmd->un.xseq64.bdl.bdeSize = sizeof(struct ulp_bde64); in lpfc_prep_els_iocb() 256 icmd->un.xseq64.xmit_els_remoteID = did; /* DID */ in lpfc_prep_els_iocb() [all …]
|
/kernel/linux/linux-5.10/Documentation/translations/it_IT/kernel-hacking/ |
D | locking.rst | 33 In un normale programma, potete incrementare un contatore nel seguente modo: 84 Questa sovrapposizione, ovvero quando un risultato dipende dal tempo che 92 interrompendo un processo nella sua sezione critica otterremo comunque 97 simultanei, ed utilizzare i *lock* per accertarsi che solo un'istanza 105 Se posso darvi un suggerimento: non dormite mai con qualcuno più pazzo di 106 voi. Ma se dovessi darvi un suggerimento sulla sincronizzazione: 113 pensare a prendervi un cane bello grande. 119 spinlock (``include/asm/spinlock.h``), un semplice *lock* che può essere 120 trattenuto solo da un processo: se non si può trattenere lo spinlock, allora 125 ma potreste bloccarvi trattenendolo. Se non potete trattenere un mutex [all …]
|
D | hacking.rst | 23 è di fornire ai programmatori C più esperti un manuale di base per sviluppo. 30 crescere e diventare un compendio di buone pratiche, punti di partenza 36 In qualsiasi momento ognuna delle CPU di un sistema può essere: 38 - non associata ad alcun processo, servendo un'interruzione hardware; 40 - non associata ad alcun processo, servendo un softirq o tasklet; 42 - in esecuzione nello spazio kernel, associata ad un processo 45 - in esecuzione di un processo nello spazio utente; 47 Esiste un ordine fra questi casi. Gli ultimi due possono avvicendarsi (preempt) 48 l'un l'altro, ma a parte questo esiste una gerarchia rigida: ognuno di questi 49 può avvicendarsi solo ad uno di quelli sottostanti. Per esempio, mentre un [all …]
|
/kernel/linux/linux-5.10/Documentation/translations/it_IT/core-api/ |
D | symbol-namespaces.rst | 18 l'API esposta internamente al kernel. Permette ai manutentori di un 22 la disponibilità di un gruppo di simboli in altre parti del kernel. Ad 26 avvisare l'utente di un'importazione mancante. 41 nomi: EXPORT_SYMBOL_NS() ed EXPORT_SYMBOL_NS_GPL(). Queste macro richiedono un 44 essere un simbolo di preprocessore. Per esempio per esportare il 55 di un modulo. 60 Definire lo spazio dei nomi per tutti i simboli di un sottosistema può essere 61 logorante e di difficile manutenzione. Perciò è stato fornito un simbolo 67 uso dipende dalle preferenze del manutentore di un sottosistema. La prima 76 un simbolo esportato con EXPORT_SYMBOL_NS() non verrà cambiato e il simbolo [all …]
|
/kernel/linux/linux-5.10/Documentation/translations/it_IT/process/ |
D | adding-syscalls.rst | 13 un'aggiunta ai soliti consigli su come proporre nuove modifiche 26 - Se le operazioni coinvolte possono rassomigliare a quelle di un filesystem, 27 allora potrebbe avere molto più senso la creazione di un nuovo filesystem o 29 funzionalità in un modulo kernel piuttosto che essere sviluppata nel cuore 33 lo spazio utente su un avvenimento, allora restituire un descrittore 38 come chiamate :manpage:`ioctl(2)`, il che potrebbe portare ad un'API in 39 un qualche modo opaca. 41 - Se dovete esporre solo delle informazioni sul sistema, un nuovo nodo in 47 considerata un'interfaccia di 'produzione' verso lo spazio utente. 48 - Se l'operazione è specifica ad un particolare file o descrittore, allora [all …]
|
D | stable-api-nonsense.rst | 16 un'interfaccia binaria, e non ha nemmeno un'interfaccia stabile**. 26 stati compilati su un kernel 0.9 (circa) e tuttora funzionano sulle versioni 33 Pensate di volere un'interfaccia del kernel stabile, ma in realtà non la 34 volete, e nemmeno sapete di non volerla. Quello che volete è un driver 37 nei sorgenti del kernel, ognuno dei quali hanno reso Linux un sistema operativo 44 Solo le persone un po' strambe vorrebbero scrivere driver per il kernel con 52 fate riferimento ad un avvocato per qualsiasi questione legale, io sono un 64 Supponiamo d'avere un'interfaccia stabile nei sorgenti del kernel, di 65 conseguenza un'interfaccia binaria dovrebbe essere anche'essa stabile, giusto? 70 strutture dati del kernel avranno un allineamento diverso, e possibilmente [all …]
|
D | 5.Posting.rst | 14 la comunità di sviluppo del kernel ha elaborato un insieme di convenzioni 17 argomenti con un ragionevole livello di dettaglio; più informazioni possono 28 veramente "pronte". Per semplici patch questo non è un problema. 31 Dovreste considerare l'idea di pubblicare un lavoro incompleto, o anche 32 preparare un ramo git disponibile agli sviluppatori interessati, cosicché 46 Ci sono un certo numero di cose che dovreste fare prima di considerare 59 impatto (anche positivo); un riassunto dei risultati dovrebbe essere 63 lavoro è stato fatto per un datore di lavoro, egli avrà dei diritti su 67 Come regola generale, pensarci un po' di più prima di inviare il codice 81 principale, cominciate da un punto di rilascio ben noto - uno stabile o [all …]
|
D | 4.Coding.rst | 43 quindi, più spazi per un codice formattato alla carlona. 46 stile richiesto da un datore di lavoro. In alcuni casi, lo stile del kernel 48 all'interno del kernel significa rinunciare a un certo grado di controllo 55 changelog del kernel – o entrambe. La comunità di sviluppo vede un attività 58 Mentre si lavora su un pezzo di codice è normale correggerne anche lo stile, 62 assoluta che non può mai essere trasgredita. Se c’è un a buona ragione 82 Certo il kernel fa un grande uso dell'astrazione; nessun progetto con milioni 84 ha dimostrato che un'eccessiva o prematura astrazione può rivelarsi dannosa 88 Ad un livello base, considerate una funzione che ha un argomento che viene 93 sottile, in un modo che non è mai stato notato - perché non è mai stato usato. [all …]
|
D | 7.AdvancedTopics.rst | 11 A questo punto, si spera, dovreste avere un'idea su come funziona il processo 19 L'uso di un sistema distribuito per il controllo delle versioni del kernel 32 di git ai suoi lettori; ci sarebbe materiale a sufficienza per un lungo 51 terminologia; un nuovo utente dovrebbe conoscere *refs*, *remote branch*, 53 Il tutto potrebbe essere un po' intimidatorio visto da fuori, ma con un po' 57 un buon esercizio da fare mentre si sta prendendo confidenza con lo strumento. 60 vi servirà, ovviamente, un server dal quale sia possibile attingere le vostre 61 modifiche. Se avete un server accessibile da Internet, configurarlo per 64 per esempio). Gli sviluppatori permanenti possono ottenere un account 78 oppure che ha un qualche tipo di baco evidente) può essere corretta sul posto [all …]
|
D | deprecated.rst | 14 In un mondo perfetto, sarebbe possibile prendere tutti gli usi di 15 un'interfaccia deprecata e convertirli in quella nuova, e così sarebbe 16 possibile rimuovere la vecchia interfaccia in un singolo ciclo di sviluppo. 27 Nonostante questo attributo marchi visibilmente un interfaccia come deprecata, 32 di `__deprecated` in un file d'intestazione sia opportuno per segnare una 42 per asserire "situazioni impossibili" e interrompere in sicurezza un 47 impossibile un'attività di debug o anche solo leggere un rapporto 48 circa l'errore. Linus ha un'opinione molto critica al riguardo: 61 date un'occhiata al questo `commit 64 Calcoli codificati negli argomenti di un allocatore [all …]
|
D | 3.Early-stage.rst | 11 Osservando un progetto di sviluppo per il kernel Linux, si potrebbe essere 21 Come qualsiasi progetto ingegneristico, un miglioramento del kernel di 23 In alcuni casi, questo passaggio è facile: ad esempio quando un driver è 24 richiesto per un particolare dispositivo. In altri casi invece, si 28 Facciamo un esempio: qualche anno fa, gli sviluppatori che lavoravano con 29 linux audio cercarono un modo per far girare le applicazioni senza dropouts 31 alla quale giunsero fu un modulo del kernel destinato ad agganciarsi al 39 invece, era un uso improprio del framework LSM (che non è progettato per 41 e un rischio per la stabilità del sistema. Le loro soluzioni di punta nel 42 breve periodo, comportavano un accesso alla schedulazione realtime attraverso [all …]
|
D | coding-style.rst | 11 Questo è un breve documento che descrive lo stile di codice preferito per 19 di codifica GNU e di NON leggerla. Bruciatela, è un grande gesto simbolico. 31 Motivazione: l'idea dell'indentazione è di definire chiaramente dove un blocco 36 Ora, alcuni rivendicano che un'indentazione da 8 caratteri sposta il codice 85 Procuratevi un buon editor di testo e non lasciate spazi bianchi alla fine 95 Il limite delle righe è di 80 colonne e questo e un limite fortemente 112 una strategia di posizionamento o un'altra; ma il modo qui preferito, 201 Questo non vale nel caso in cui solo un ramo dell'espressione if-else 214 Inoltre, usate le graffe se un ciclo contiene più di una semplice istruzione: 245 Non aggiungete spazi attorno (dentro) ad un'espressione fra parentesi. Questo [all …]
|
D | submitting-patches.rst | 11 Una persona o un'azienda che volesse inviare una patch al kernel potrebbe 17 Questo documento contiene un vasto numero di suggerimenti concisi. Per 22 inviando un driver, allora leggete anche :ref:`Documentation/translations/it_IT/process/submitting-… 29 dovete preparare e documentare un certo numero di patch. Generalmente, l'uso 35 Se non avete un repositorio coi sorgenti del kernel più recenti, allora usate 44 Guardate l'elemento **T:** per un determinato sottosistema nel file MAINTANERS 48 Esiste ancora la possibilità di scaricare un rilascio del kernel come archivio 68 Per creare una patch per un singolo file, spesso è sufficiente fare:: 80 "vergini", o comunque non modificati, e fare un ``diff`` coi vostri. 104 Se non usate ``git``, un'alternativa popolare è ``quilt`` [all …]
|
D | 2.Process.rst | 12 un numero di utenti e sviluppatori relativamente basso. Con una base 13 di milioni di utenti e con 2000 sviluppatori coinvolti nel giro di un anno, 14 il kernel da allora ha messo in atto un certo numero di procedure per rendere 21 Gli sviluppatori kernel utilizzano un calendario di rilascio generico, dove 22 ogni due o tre mesi viene effettuata un rilascio importante del kernel. 34 Ciascun rilascio 5.x è un importante rilascio del kernel con nuove 38 linea di confine nello sviluppo del kernel Linux; il kernel utilizza un sistema 46 patch per un nuovo ciclo di sviluppo (e tutte le più importanti modifiche) 47 saranno inserite durante questo periodo, ad un ritmo che si attesta sulle 67 finestra di inclusione, tendenzialmente, riceveranno un accoglienza poco [all …]
|
D | 1.Intro.rst | 33 pianificazione di un progetto di sviluppo, con particolare enfasi sul 39 modifiche, ed esiste un'introduzione ad alcuni strumenti che possono aiutarvi 57 La sezione :ref:`it_development_advancedtopics` introduce un paio di argomenti 76 Con la crescita di Linux è arrivato anche un aumento di sviluppatori 80 sistemi integrati, che usano Linux come componente di un prodotto integrato, 83 prodotti su Linux hanno un chiaro interesse verso capacità, prestazioni ed 99 kernel utilizza un proprio modo di operare che gli permette di funzionare 100 agevolmente (e genera un prodotto di alta qualità) in un ambiente dove migliaia 108 del kernel (o, peggio, che cerchi di aggirarli o violarli) avrà un'esperienza 128 Questo lavoro è stato supportato dalla Linux Foundation; un ringraziamento [all …]
|
D | 6.Followthrough.rst | 18 probabilmente, ancora un po' di lavoro da fare. 47 - La revisione del codice è un duro lavoro, ed è un mestiere poco 52 un tono arrabbiato, insultante o addirittura offensivo, resistente alla 61 stanno cercando di creare un disagio ad aziende concorrenti. 74 il vostro codice, spiegateglielo. Se avete un'obiezione tecnica da fargli 79 Prendetevi quindi un po' di tempo per pensare ancora alla cosa. Può risultare 85 presente nella modifica del codice dovrebbe essere inserito in un commento 119 Se la modifica è ritenuta un elemento valido da essere aggiunta al kernel, 121 sistemati, il passo successivo solitamente è quello di entrare in un 122 sottosistema gestito da un manutentore. Come ciò avviene dipende dal [all …]
|
D | volatile-considered-harmful.rst | 22 concorrenti e indesiderati: questa è un'attività completamente diversa. 31 comunque necessario, ci dev'essere quasi sicuramente un baco da qualche parte. 32 In un pezzo di codice kernel scritto a dovere, *volatile* può solo servire a 42 Se tutto il codice seguisse le regole di sincronizzazione, il valore di un 43 dato condiviso non potrebbe cambiare inaspettatamente mentre si trattiene un 56 trattiene un lock, il dato condiviso non è *volatile*. Quando si ha a che 57 fare con dei dati condivisi, un'opportuna sincronizzazione rende inutile 71 *volatile*, è nel caso in cui il processore è in un'attesa attiva sul valore 78 o cedere il passo ad un processore hyperthreaded gemello; funziona anche come 81 generalmente un atto antisociale. [all …]
|
/kernel/linux/linux-5.10/ipc/ |
D | sem.c | 650 struct sem_undo *un; in perform_atomic_semop_slow() local 654 un = q->undo; in perform_atomic_semop_slow() 672 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop_slow() 676 un->semadj[sop->sem_num] = undo; in perform_atomic_semop_slow() 709 un->semadj[sop->sem_num] += sem_op; in perform_atomic_semop_slow() 722 struct sem_undo *un; in perform_atomic_semop() local 726 un = q->undo; in perform_atomic_semop() 755 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop() 769 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop() 771 un->semadj[sop->sem_num] = undo; in perform_atomic_semop() [all …]
|
/kernel/linux/linux-5.10/Documentation/translations/it_IT/doc-guide/ |
D | parse-headers.rst | 14 d'avviso se un simbolo non viene trovato nella documentazione. Questo permette 18 Esso dev'essere invocato attraverso un Makefile, mentre si genera la 19 documentazione. Per avere un esempio su come utilizzarlo all'interno del kernel 55 Mostra un messaggio d'aiuto breve e termina. 60 Mostra un messaggio d'aiuto dettagliato e termina. 66 Converte un file d'intestazione o un file sorgente C (C_FILE) in un testo 69 il programma accetta anche un altro file (EXCEPTIONS_FILE) che 95 La dichiarazione \ **replace**\ significa che verrà generato un 164 In un enumerato come il seguente: 174 In un enumerato come il seguente: [all …]
|
/kernel/linux/linux-5.10/drivers/scsi/csiostor/ |
D | csio_wr.c | 88 csio_wr_reg32(hw, DBPRIO_F | QID_V(flq->un.fl.flid) | in csio_wr_ring_fldb() 120 struct csio_dma_buf *buf = &flq->un.fl.bufs[0]; in csio_wr_fill_fl() 122 int sreg = flq->un.fl.sreg; in csio_wr_fill_fl() 255 q->un.iq.genbit = 1; in csio_wr_alloc_q() 278 q->un.iq.flq_idx = flq_idx; in csio_wr_alloc_q() 280 flq = wrm->q_arr[q->un.iq.flq_idx]; in csio_wr_alloc_q() 281 flq->un.fl.bufs = kcalloc(flq->credits, in csio_wr_alloc_q() 284 if (!flq->un.fl.bufs) { in csio_wr_alloc_q() 291 flq->un.fl.packen = 0; in csio_wr_alloc_q() 292 flq->un.fl.offset = 0; in csio_wr_alloc_q() [all …]
|
/kernel/linux/linux-5.10/arch/arm/mm/ |
D | alignment.c | 176 unsigned long un; member 322 offset.un = -offset.un; in do_alignment_finish_ldst() 325 addr += offset.un; in do_alignment_finish_ldst() 744 poffset->un = (tinst2 & 0xff) << 2; in do_alignment_t32_to_handler() 848 offset.un = (instr & 0xf00) >> 4 | (instr & 15); in do_alignment() 850 offset.un = regs->uregs[RM_BITS(instr)]; in do_alignment() 867 offset.un = OFFSET_BITS(instr); in do_alignment() 872 offset.un = regs->uregs[RM_BITS(instr)]; in do_alignment() 879 offset.un <<= shiftval; in do_alignment() 883 offset.un >>= shiftval; in do_alignment() [all …]
|