Changeset dcbc8be in mainline for arch/ia32/include


Ignore:
Timestamp:
2005-06-02T23:56:26Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ac5d02b
Parents:
7dcbc0a1
Message:

Big changes in IA-32 address space map.
Now the kernel is mapped above 0x80000000. Finally!
Userspace address space starts at 0x00000000.
Changes in many places.
This improvement temporarily breaks SMP and most likely also other stuff.
Supported size of memory is now only 4M as it is the biggest size that can be mapped at once on IA-32.

Changes in linker script.
Changes required because of the above.
Do not patch hardcoded_* variables but assign to them instead.

Cosmetic changes here and there.

Location:
arch/ia32/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/include/mm/page.h

    r7dcbc0a1 rdcbc8be  
    3535#define PAGE_SIZE       FRAME_SIZE
    3636
    37 #define KA2PA(x)        (x)
    38 #define PA2KA(x)        (x)
     37#define KA2PA(x)        ((x) - 0x80000000)
     38#define PA2KA(x)        ((x) + 0x80000000)
    3939
    4040struct page_specifier {
  • arch/ia32/include/mm/vm.h

    r7dcbc0a1 rdcbc8be  
    3232#include <arch/types.h>
    3333
    34 #define KERNEL_ADDRESS_SPACE_START_ARCH         (__address) 0x0
    35 #define KERNEL_ADDRESS_SPACE_END_ARCH           (__address) 0x3fffffff
    36 #define USER_ADDRESS_SPACE_START_ARCH           (__address) 0x40000000
    37 #define USER_ADDRESS_SPACE_END_ARCH             (__address) 0xffffffff 
     34#define KERNEL_ADDRESS_SPACE_START_ARCH         (__address) 0x80000000
     35#define KERNEL_ADDRESS_SPACE_END_ARCH           (__address) 0xffffffff 
     36#define USER_ADDRESS_SPACE_START_ARCH           (__address) 0x00000000
     37#define USER_ADDRESS_SPACE_END_ARCH             (__address) 0x7fffffff
    3838
    39 #define UTEXT_ADDRESS_ARCH      0x40000000
    40 #define USTACK_ADDRESS_ARCH     0xfffff000
    41 #define UDATA_ADDRESS_ARCH      0x41000000
     39#define UTEXT_ADDRESS_ARCH      0x00001000
     40#define USTACK_ADDRESS_ARCH     (0x7fffffffUL-(PAGE_SIZE-1))
     41#define UDATA_ADDRESS_ARCH      0x21000000
    4242
    4343#endif
  • arch/ia32/include/pm.h

    r7dcbc0a1 rdcbc8be  
    138138
    139139extern void gdt_setbase(struct descriptor *d, __address base);
    140 extern void gdt_setlimit(struct descriptor *d, __address limit);
     140extern void gdt_setlimit(struct descriptor *d, __u32 limit);
    141141
    142142extern void idt_init(void);
Note: See TracChangeset for help on using the changeset viewer.