Lines Matching refs:per
22 più usate ed i concetti necessari per scrivere codice per il kernel: lo scopo
23 è di fornire ai programmatori C più esperti un manuale di base per sviluppo.
24 Eviterò dettagli implementativi: per questo abbiamo il codice,
91 programmare una 'interruzione software' per l'esecuzione e quindi terminare.
104 Quando una chiamata di sistema sta per tornare allo spazio utente,
118 potete programmarlo per far si che esegua funzioni dopo un determinato
160 A seconda della configurazione del kernel lo stack è fra 3K e 6K per la
161 maggior parte delle architetture a 32-bit; è di 14K per la maggior
163 per cui non si può usare.
170 dovreste minimizzare il codice specifico per un processore; per esempio
172 per facilitarne la migrazione. Generalmente questo codice dovrebbe essere
173 limitato alla parte di kernel specifica per un'architettura.
207 dovreste essere pronti per continuare l'esecuzione, per esempio nel mezzo
217 se dovete *lasciare* il processore (ricordatevi che, per ogni processore, c'è
226 La ricetta per uno stallo
237 lo schedulatore le abiliterà per voi, ma probabilmente questo non è quello
241 le più comuni sono quelle per l'accesso allo spazio utente (\*_user) e
242 quelle per l'allocazione della memoria senza l'opzione ``GFP_ATOMIC``
259 Essa è utile per il debugging o per la notifica di errori; può essere
264 per indicare la "priorità"::
268 Consultate ``include/linux/kern_levels.h`` per gli altri valori ``KERN_``;
270 per stampare un indirizzo IP usate::
287 sopra alla funzione printf: "Printf non dovrebbe essere usata per il
297 :c:func:`put_user()` e :c:func:`get_user()` sono usate per ricevere ed
325 Queste procedure sono utilizzate per la richiesta dinamica di un puntatore ad
327 utente, ma :c:func:`kmalloc()` ha un argomento aggiuntivo per indicare alcune
331 Potrebbe dormire per librarare della memoria. L'opzione fornisce il modo
332 più affidabile per allocare memoria, ma il suo uso è strettamente limitato
338 per la gestione degli errori in caso di mancanza di memoria.
341 Alloca memoria per il DMA sul bus ISA nello spazio d'indirizzamento
345 Se vedete un messaggio d'avviso per una funzione dormiente che viene chiamata
352 Accetta un argomento che definisce l'ordine (0 per per la dimensione di una
353 pagine, 1 per una doppia pagina, 2 per quattro pagine, eccetra) e le stesse
362 Se per qualche strana ragione avete davvero bisogno di una grossa quantità di
363 memoria fisica contigua, avete un problema: Linux non ha un buon supporto per
365 rende l'operazione difficile. Il modo migliore per allocare un simile blocco
369 Prima di inventare la vostra cache per gli oggetti più usati, considerate
389 per brevi pause. Non usate grandi valori perché rischiate d'avere un
400 per fare conversioni sull'ordine dei byte (endianess): esse ritornano
404 Queste funzioni hanno principalmente due varianti: la variante per
406 ad un tipo, e ritorna il valore convertito. L'altra variante per
447 Se sapete che non dovete essere interrotti da altri processi (per esempio,
460 questa memoria dopo l'inizializzazione. ``__exit`` viene utilizzato per
463 compilato come modulo. Guardate l'header file per informazioni. Da notare che
486 La funzione può ritornare un numero d'errore negativo per scatenare un
513 Queste funzioni maneggiano il contatore d'uso del modulo per proteggerlo dalla
532 Una coda d'attesa è usata per aspettare che qualcuno vi attivi quando una
571 e dovete utilizzare queste funzione per modificare o leggere variabili di tipo
604 parte del kernel). Nonostante ciò, per i moduli, esiste una tabella dei
613 Questo è il classico metodo per esportare un simbolo: i moduli caricati
654 Un tempo negli header del kernel c'erano tre gruppi di funzioni per
656 necessità per una semplice lista concatenata, allora questa è una buona scelta.
668 Utilizzate :c:func:`ERR_PTR()` (``include/linux/err.h``) per codificare
670 :c:func:`PTR_ERR()` per recuperarlo di nuovo: così si evita d'avere un
671 puntatore dedicato per il numero d'errore. Da brividi, ma in senso positivo.
677 delle strutture nei kernel in sviluppo; questo non è solo per tenere
689 Il metodo preferito per l'inizializzazione delle strutture è quello
707 che alcune delle più complesse non sono ben supportate, per via dello scarso
708 sviluppo, ma le seguenti sono da considerarsi la norma (per maggiori dettagli,
753 (o all'inizio dei file .c) per astrarre funzioni piuttosto che utlizzare
759 Al fine d'avere le vostre cose in ordine per l'inclusione ufficiale, o
760 anche per avere patch pulite, c'è del lavoro amministrativo da fare:
765 per evitare di duplicare gli sforzi, o provare qualcosa che è già stato
773 - Solitamente vorrete un'opzione di configurazione per la vostra modifica
782 dite N) (oppure, occasionalmente, \`Y'); questo è per le persone che non
821 * This should be a per-architecture thing, to allow different
866 Ringrazio Andi Kleen per le sue idee, le risposte alle mie domande,
868 Philipp Rumpf per l'ortografia e per aver reso più chiaro il testo, e
869 per alcuni eccellenti punti tutt'altro che ovvi. Werner Almesberger
870 per avermi fornito un ottimo riassunto di :c:func:`disable_irq()`,
871 e Jes Sorensen e Andrea Arcangeli per le precisazioni. Michael Elizabeth
872 Chastain per aver verificato ed aggiunto la sezione configurazione.
873 Telsa Gwynne per avermi insegnato DocBook.