Indietro nel dicembre 2020 il manuale di riferimento per la programmazione di Intel è stato aggiornato per coprire il Linear Address Masking (LAM) come futura funzionalità della CPU e c’era qualche attività della toolchain GNU attorno a LAM mentre non c’era molto da riferire sugli sforzi da allora-fino ad oggi. Una”richiesta di commenti”rivista è stata pubblicata sull’abilitazione di Intel Linear Address Masking per il kernel Linux che consente di utilizzare bit di indirizzi non tradotti di indirizzi lineari a 64 bit da utilizzare per la memorizzazione di metadati software arbitrari.

Queste patch sostituiscono le patch originali Intel LAM RFC per il kernel uscite all’inizio del 2021 dopo l’aggiornamento Intel PRM di dicembre 2020. Le patch riviste oggi consentono di utilizzare i bit di indirizzo non tradotti degli indirizzi dello spazio utente per i metadati. Il nuovo codice del kernel offre un’API basata su arch_prctl, espone lo stato di LAM e altre funzionalità ora in/proc/$PID/arch_status e il codice dovrebbe funzionare con l’ultimo codice del kernel a monte.

Il mascheramento dell’indirizzo lineare può essere abilitato dallo spazio utente utilizzando la funzione”ARCH_THREAD_FEATURE_ENABLE”con arch_prctl() per X86_THREAD_LAM_U48 abilitando LAM o X86_THREAD_LAM_U57 per mappature superiori a 47 bit.

Esiste una patch QEMU che espone LAM a scopo di test ma non è a monte. È probabile che la funzionalità LAM sarà trovata con i prossimi processori Xeon”Sapphire Rapids”. AMD nel frattempo sta lavorando su una funzione Upper Address Ignore (UAI) con Zen 4 che suona in modo simile a Intel LAM.

Guarda le nuove patch del kernel Linux per Intel LAM su l’LKML. Con questa serie di patch ancora sotto il flag”RFC”, probabilmente dovrà comunque affrontare ulteriori revisioni prima di essere eventualmente inserita nella linea principale, si spera con un cambio di rotta più rapido tra le iterazioni rispetto alla serie di patch originale più di un anno fa.

Categories: IT Info