accéder à la mémoire physique du noyau linux

Peut-on accéder à toute la mémoire physique par le biais de certains de code noyau.? Parce que, j'ai écrit un pilote de périphérique qui n'avait de init_module et exit_module.. le code est le suivant.

int init_module(void) {
    unsigned char *p = (unsigned char*)(0x10);
    printk( KERN_INFO  "I got %u \n", *p);
    return 0;
}

et un mannequin exit_module.. le problème est que l'ordinateur est accrochée lorsque je fais un lsmod..
Ce qui se passe? Dois-je obtenir un peu certains autorisation d'accès au mem endroit?

m'expliquer.. je suis un débutant!

C'est un très la programmation compliquée région et que vous n'êtes pas susceptible d'obtenir la réponse dont vous avez besoin dans un tel espace est limité. Avez-vous lu toute la documentation dans ce domaine?
oui, je connais les bases.. la question est de savoir si je peux accéder à la mémoire physique comme un pilote de périphérique. Bu pourquoi mon PC freeze.. après tout, je suis juste en train de lire ; pas écrit. ?
Il est probable que l'adresse 0x10 est un registre spécial que vous ne pouvez pas lire. Vous êtes sur dans des eaux dangereuses, ici. L'arbitraire l'accès à la mémoire peut être dangereux pour votre santé.
Même le noyau a pas d'accès direct à la mémoire physique dans votre façon de penser. Fondamentalement, le type de mémoire que vous semblez l'imaginer (mémoire linéaire avec télévision adressage) est quelque chose qui est construit à l' par le noyau (à partir de la mémoire physique banques) et exporté, il n'est pas "exister". Pour connaître ces choses et sur les modalités d'accès sur les différents types d'adresses le noyau peut gérer vous aurait vraiment de regarder plus profondément dans la documentation du noyau. (Aussi une valeur qui n'est pas divisible par 4 est certainement un mauvais choix de s'attendre à une unsigned).
Ce code n'est pas de tenter d'accéder à la mémoire physique. Qu'il tente d'accéder à un invalide (non cartographiées) adresse dans la mémoire virtuelle. C'est plutôt mauvais. 🙂

OriginalL'auteur raj | 2011-10-25