Compartilhar via


Creating Physical to Virtual Mappings

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Após o kernel definiu físico memória, ele deve criar um mapeamento Physical-to-virtual de modo que todos físico memória é acessível aos aplicativos e rotinas serviço interrupção (ISRs).

O mapeamento Physical-to-Virtual é um mapeamento a partir de físico localidade endereço da memória RAM ou outros tipos de memória, para um endereço virtual mapeado estaticamente que é usado por aplicativos e ISRs.

De 4 - GB espaço de endereço, os endereços virtuais mapeados estaticamente ao vivo na 3 - intervalo GB 0x80000000 to 0xC0000000.

Observação

Há um limite para a quantidade de memória virtual que pode ser mapeada: 1024 MB - (4*32 MB) = 896 MB.

Em plataformas hardware MIPS-Based e SHx-based, esse mapeamento é definido pelo CPU mas não está mapeado através da unidade gerenciamento memória (MMU).

Em x 86 e processadores ARM, você deve criar um OEMAddressTable e transmiti-lo para o kernel. Cada entrada na tabela especifica um físico localidade na memória, o tamanho de memória e o endereço estático memória virtual para o qual mapa (n.); mapear (v.)-la.

O endereço virtual estático está especificado em intervalo de memória em cache e o kernel pode então criar o endereço uncached que aponta para o mesmo físico endereço.

Depois que o kernel cria o original mapeamento durante o processo inicializar, um aplicativo ou a OAL pode adicionar para o pool mapeadas estaticamente endereço virtual pelo chamado CreateStaticMapping Ou NKCreateStaticMapping. Memória mapeada dessa maneira está localizada no intervalo C400 0000 a e000 0000 e é criado como somente memória uncached.

See Also

Concepts

Customizing Memory