====== XPU OS ====== XOS è il BIOS del sistema: si trova sulla flash interna della XPU, e non è possibile accedervi tramite la CPU o mediante [[JTAG]]. XOS viene aggiornato scrivendo ad un determinato indirizzo di memoria dati criptati. Si suppone che la XPU decripti i dati (ed eventualmente controlli una signature), e scriva sulla flash interna la nuova versione di XOS. Sigma Designs fornisce gli aggiornamenti di XOS ai propri clienti. La versione di XOS presente sul dispositivo viene mostrata durante il boot sulla console di debug ([[uart|UART0]]). * xosPc8 == versione 1.02 * xosPca == versione 1.03 * xosPd0 == versione 1.04 * xosPd2 == versione 1.05 * xosPd4 == versione 1.06 * xosPd6 == versione 1.07 * xosPd8 == versione 1.08 * xosPda == versione 1.09 * xosPdc == versione 1.10 * xosPde == versione 1.11 * xosPe0 == versione 1.12 * xosPe2/xosPe4/xosPe5 == versione 1.13 * xosPe6/xosPe7 == versione 1.14 * xosPe8/xosPe9 == versione 1.15 Gli aggiornamenti di XOS sono indirizzati principalmente a risolvere problemi di riavvio dovuti a reinizializzazioni non corrette dell'hardware, ma vengono corretti anche problemi legati alla sicurezza. Nel caso del box Alice Home TV, la versione di XOS è attualmente la 1.12. Appena acceso il STB, collegando un terminale alla ([[uart|UART0]]), è possibile fare eseguire alcuni comandi a XOS. Premendo **//a//** o **//s//** si ottiene un check della memoria: zboot (0) ok > START STAT 200MHz CL34/34 dram0 12x8 b9888 8888 8cdcd 200MHz CL34/34 dram1 10x9 a8999 8898 9cbab Freq CasLat DRAM0 DRAM1 RefDlys Stability Summary 179MHz CL34/34 00000000 00000000 160 150 100 100 OK 182MHz CL34/34 00000000 00000000 159 150 100 100 OK 185MHz CL34/34 00000000 00000000 150 150 100 100 OK 188MHz CL34/34 00000000 00000000 150 150 100 100 OK 191MHz CL34/34 00000000 00000000 150 149 100 100 OK 194MHz CL34/34 00000000 00000000 150 140 100 100 OK 197MHz CL34/34 00000000 00000000 147 140 100 100 OK 200MHz CL34/34 00000000 00000000 140 131 100 100 OK 203MHz CL34/34 00000000 00000000 140 130 100 100 OK 206MHz CL34/34 00000000 00000000 139 130 100 100 OK 209MHz CL34/34 00000000 00000000 130 130 100 100 OK 200MHz CL33/34 dram0 5x5 a5454 5444 55555 200MHz CL33/34 dram1 10x9 a8999 8998 9cbab 180MHz CL63/34 dram0 12x9 a9888 8888 9cdcd 180MHz CL63/34 dram1 10x10 98999 8898 acbab 190MHz CL63/34 dram0 12x9 a9888 8888 9cccd 190MHz CL63/34 dram1 10x9 a9999 8998 9bbab 200MHz CL63/34 dram0 12x8 a9888 8888 8cccc 200MHz CL63/34 dram1 10x9 a8999 8998 9cbab 180MHz CL63/63 dram0 12x9 a9888 8888 9cdcd 180MHz CL63/63 dram1 11x10 a8998 8998 acbbc 190MHz CL63/63 dram0 11x9 a9888 8888 9bccd 190MHz CL63/63 dram1 10x9 a8999 8998 9cbab 200MHz CL63/63 dram0 12x8 b9888 8888 8cccd 200MHz CL63/63 dram1 10x9 a8999 8998 9cbab 210MHz CL63/63 dram0 14x10 a8777 7777 aeeee 210MHz CL63/63 dram1 13x11 98888 7887 bdddd Exec. time = 57.3s END STAT Mentre premendo **//p//**: zboot (0) ok > START PROD cl=0, nb_blocks=128 198MHz CL34/34 dram0 12x8 a9888 8888 8cdcc OK 198MHz CL34/34 dram1 10x9 a8999 8998 9cbab OK Freq Summary 180MHz OK 182MHz OK 184MHz OK 186MHz OK 188MHz OK 190MHz OK 192MHz OK 194MHz OK 196MHz OK 198MHz OK 200MHz OK 202MHz OK 204MHz OK 206MHz OK 208MHz OK 210MHz OK PASS Exec. time = 16.3s END PROD Infine, premendo **//b//**: zboot (0) ok > BIST starts ... BIST(0x00080000): MASK=0x01ffffff, PASS=0x01ffffff => Passed BIST(0x00090000): MASK=0x01ffffff, PASS=0x01ffffff => Passed BIST(0x000a0000): MASK=0x0001ffff, PASS=0x0001ffff => Passed ETH/USB BIST: MASK=0x0000007f, PASS=0x0000007f USB => Passed (0x7) ETH => Passed (0x78) //Credits: Zibri su [[http://www.ilpuntotecnicoeadsl.com/forum/index.php/topic,3267.msg69364.html#msg69364|Ilpuntotecnicoeadsl forum]]. Parte delle informazioni tratte da [[http://www.t-hack.com/wiki/index.php/XOS|T-Hack Wiki]]//