Browse Source

Page struct related info in update memlayout.h

main
chyyuu 12 years ago
parent
commit
a0b91ae23f
7 changed files with 19 additions and 24 deletions
  1. +2
    -2
      code/lab2/kern/mm/memlayout.h
  2. +2
    -2
      code/lab3/kern/mm/memlayout.h
  3. +3
    -4
      code/lab4/kern/mm/memlayout.h
  4. +3
    -4
      code/lab5/kern/mm/memlayout.h
  5. +3
    -4
      code/lab6/kern/mm/memlayout.h
  6. +3
    -4
      code/lab7/kern/mm/memlayout.h
  7. +3
    -4
      code/lab8/kern/mm/memlayout.h

+ 2
- 2
code/lab2/kern/mm/memlayout.h View File

@ -104,8 +104,8 @@ struct Page {
}; };
/* Flags describing the status of a page frame */ /* Flags describing the status of a page frame */
#define PG_reserved 0 // the page descriptor is reserved for kernel or unusable
#define PG_property 1 // the member 'property' is valid
#define PG_reserved 0 // if this bit=1: the Page is reserved for kernel, cannot be used in alloc/free_pages; otherwise, this bit=0
#define PG_property 1 // if this bit=1: the Page is the head page of a free memory block(contains some continuous_addrress pages), and can be used in alloc_pages; if this bit=0: if the Page is the the head page of a free memory block, then this Page and the memory block is alloced. Or this Page isn't the head page.
#define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags)) #define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags))
#define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags)) #define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags))

+ 2
- 2
code/lab3/kern/mm/memlayout.h View File

@ -107,8 +107,8 @@ struct Page {
}; };
/* Flags describing the status of a page frame */ /* Flags describing the status of a page frame */
#define PG_reserved 0 // the page descriptor is reserved for kernel or unusable
#define PG_property 1 // the member 'property' is valid
#define PG_reserved 0 // if this bit=1: the Page is reserved for kernel, cannot be used in alloc/free_pages; otherwise, this bit=0
#define PG_property 1 // if this bit=1: the Page is the head page of a free memory block(contains some continuous_addrress pages), and can be used in alloc_pages; if this bit=0: if the Page is the the head page of a free memory block, then this Page and the memory block is alloced. Or this Page isn't the head page.
#define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags)) #define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags))
#define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags)) #define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags))

+ 3
- 4
code/lab4/kern/mm/memlayout.h View File

@ -100,16 +100,15 @@ struct e820map {
struct Page { struct Page {
int ref; // page frame's reference counter int ref; // page frame's reference counter
uint32_t flags; // array of flags that describe the status of the page frame uint32_t flags; // array of flags that describe the status of the page frame
unsigned int property; // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
int zone_num; // used in buddy system, the No. of zone which the page belongs to
unsigned int property; // the num of free block, used in first fit pm manager
list_entry_t page_link; // free list link list_entry_t page_link; // free list link
list_entry_t pra_page_link; // used for pra (page replace algorithm) list_entry_t pra_page_link; // used for pra (page replace algorithm)
uintptr_t pra_vaddr; // used for pra (page replace algorithm) uintptr_t pra_vaddr; // used for pra (page replace algorithm)
}; };
/* Flags describing the status of a page frame */ /* Flags describing the status of a page frame */
#define PG_reserved 0 // the page descriptor is reserved for kernel or unusable
#define PG_property 1 // the member 'property' is valid
#define PG_reserved 0 // if this bit=1: the Page is reserved for kernel, cannot be used in alloc/free_pages; otherwise, this bit=0
#define PG_property 1 // if this bit=1: the Page is the head page of a free memory block(contains some continuous_addrress pages), and can be used in alloc_pages; if this bit=0: if the Page is the the head page of a free memory block, then this Page and the memory block is alloced. Or this Page isn't the head page.
#define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags)) #define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags))
#define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags)) #define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags))

+ 3
- 4
code/lab5/kern/mm/memlayout.h View File

@ -129,16 +129,15 @@ struct e820map {
struct Page { struct Page {
int ref; // page frame's reference counter int ref; // page frame's reference counter
uint32_t flags; // array of flags that describe the status of the page frame uint32_t flags; // array of flags that describe the status of the page frame
unsigned int property; // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
int zone_num; // used in buddy system, the No. of zone which the page belongs to
unsigned int property; // the num of free block, used in first fit pm manager
list_entry_t page_link; // free list link list_entry_t page_link; // free list link
list_entry_t pra_page_link; // used for pra (page replace algorithm) list_entry_t pra_page_link; // used for pra (page replace algorithm)
uintptr_t pra_vaddr; // used for pra (page replace algorithm) uintptr_t pra_vaddr; // used for pra (page replace algorithm)
}; };
/* Flags describing the status of a page frame */ /* Flags describing the status of a page frame */
#define PG_reserved 0 // the page descriptor is reserved for kernel or unusable
#define PG_property 1 // the member 'property' is valid
#define PG_reserved 0 // if this bit=1: the Page is reserved for kernel, cannot be used in alloc/free_pages; otherwise, this bit=0
#define PG_property 1 // if this bit=1: the Page is the head page of a free memory block(contains some continuous_addrress pages), and can be used in alloc_pages; if this bit=0: if the Page is the the head page of a free memory block, then this Page and the memory block is alloced. Or this Page isn't the head page.
#define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags)) #define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags))
#define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags)) #define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags))

+ 3
- 4
code/lab6/kern/mm/memlayout.h View File

@ -129,16 +129,15 @@ struct e820map {
struct Page { struct Page {
int ref; // page frame's reference counter int ref; // page frame's reference counter
uint32_t flags; // array of flags that describe the status of the page frame uint32_t flags; // array of flags that describe the status of the page frame
unsigned int property; // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
int zone_num; // used in buddy system, the No. of zone which the page belongs to
unsigned int property; // the num of free block, used in first fit pm manager
list_entry_t page_link; // free list link list_entry_t page_link; // free list link
list_entry_t pra_page_link; // used for pra (page replace algorithm) list_entry_t pra_page_link; // used for pra (page replace algorithm)
uintptr_t pra_vaddr; // used for pra (page replace algorithm) uintptr_t pra_vaddr; // used for pra (page replace algorithm)
}; };
/* Flags describing the status of a page frame */ /* Flags describing the status of a page frame */
#define PG_reserved 0 // the page descriptor is reserved for kernel or unusable
#define PG_property 1 // the member 'property' is valid
#define PG_reserved 0 // if this bit=1: the Page is reserved for kernel, cannot be used in alloc/free_pages; otherwise, this bit=0
#define PG_property 1 // if this bit=1: the Page is the head page of a free memory block(contains some continuous_addrress pages), and can be used in alloc_pages; if this bit=0: if the Page is the the head page of a free memory block, then this Page and the memory block is alloced. Or this Page isn't the head page.
#define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags)) #define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags))
#define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags)) #define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags))

+ 3
- 4
code/lab7/kern/mm/memlayout.h View File

@ -129,16 +129,15 @@ struct e820map {
struct Page { struct Page {
int ref; // page frame's reference counter int ref; // page frame's reference counter
uint32_t flags; // array of flags that describe the status of the page frame uint32_t flags; // array of flags that describe the status of the page frame
unsigned int property; // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
int zone_num; // used in buddy system, the No. of zone which the page belongs to
unsigned int property; // the num of free block, used in first fit pm manager
list_entry_t page_link; // free list link list_entry_t page_link; // free list link
list_entry_t pra_page_link; // used for pra (page replace algorithm) list_entry_t pra_page_link; // used for pra (page replace algorithm)
uintptr_t pra_vaddr; // used for pra (page replace algorithm) uintptr_t pra_vaddr; // used for pra (page replace algorithm)
}; };
/* Flags describing the status of a page frame */ /* Flags describing the status of a page frame */
#define PG_reserved 0 // the page descriptor is reserved for kernel or unusable
#define PG_property 1 // the member 'property' is valid
#define PG_reserved 0 // if this bit=1: the Page is reserved for kernel, cannot be used in alloc/free_pages; otherwise, this bit=0
#define PG_property 1 // if this bit=1: the Page is the head page of a free memory block(contains some continuous_addrress pages), and can be used in alloc_pages; if this bit=0: if the Page is the the head page of a free memory block, then this Page and the memory block is alloced. Or this Page isn't the head page.
#define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags)) #define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags))
#define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags)) #define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags))

+ 3
- 4
code/lab8/kern/mm/memlayout.h View File

@ -129,16 +129,15 @@ struct e820map {
struct Page { struct Page {
int ref; // page frame's reference counter int ref; // page frame's reference counter
uint32_t flags; // array of flags that describe the status of the page frame uint32_t flags; // array of flags that describe the status of the page frame
unsigned int property; // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
int zone_num; // used in buddy system, the No. of zone which the page belongs to
unsigned int property; // the num of free block, used in first fit pm manager
list_entry_t page_link; // free list link list_entry_t page_link; // free list link
list_entry_t pra_page_link; // used for pra (page replace algorithm) list_entry_t pra_page_link; // used for pra (page replace algorithm)
uintptr_t pra_vaddr; // used for pra (page replace algorithm) uintptr_t pra_vaddr; // used for pra (page replace algorithm)
}; };
/* Flags describing the status of a page frame */ /* Flags describing the status of a page frame */
#define PG_reserved 0 // the page descriptor is reserved for kernel or unusable
#define PG_property 1 // the member 'property' is valid
#define PG_reserved 0 // if this bit=1: the Page is reserved for kernel, cannot be used in alloc/free_pages; otherwise, this bit=0
#define PG_property 1 // if this bit=1: the Page is the head page of a free memory block(contains some continuous_addrress pages), and can be used in alloc_pages; if this bit=0: if the Page is the the head page of a free memory block, then this Page and the memory block is alloced. Or this Page isn't the head page.
#define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags)) #define SetPageReserved(page) set_bit(PG_reserved, &((page)->flags))
#define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags)) #define ClearPageReserved(page) clear_bit(PG_reserved, &((page)->flags))

Loading…
Cancel
Save