Ho una domanda quando ho individuato l'indirizzo nel kernel. Inserisco un modulo ciao a partire dal kernel, in questo modulo, ho messo queste cose:L'indirizzo nel kernel
char mystring[]="this is my address";
printk("<1>The address of mystring is %p",virt_to_phys(mystring));
penso di poter ottenere l'indirizzo fisico di mystring, ma quello che ho trovato è, in syslog, l'indirizzo stampato di esso è 0x38dd0000. Tuttavia, ho scaricato la memoria e ho trovato che il vero indirizzo di esso è dcd2a000, che è molto diverso da quello precedente. Come spiegarlo? Ho fatto qualcosa di sbagliato? Grazie
PS: Ho utilizzato uno strumento per scaricare l'intera memoria, gli indirizzi fisici.
Quando si "mollato la memoria", non ha ottenuto gli indirizzi virtuali lì? –
La memoria che ho scaricato è l'indirizzo fisico, ho usato uno strumento – Alex
qual è la piattaforma hardware? – shodanex