.set PAGE_RO, 0x001 .set PAGE_RW, 0x003 /* write section to page table macro * * Registers used: * %ecx: loop counter [ set to $1024 ] * %edx: temporary * %esi: current page being mapped * %edi: page entry [ set to $page_addr ] */ .macro mmap_section begin, end, access mov $\begin, %esi # from $begin 1: cmpl $\end, %esi # until $end jge 2f movl %esi, %edx orl $\access, %edx movl %edx, (%edi) addl $4096, %esi # move to next page addl $4, %edi # size of page entry is 4 bytes loop 1b # loop according to %ecx 2: .endm