2021-10-06から1日間の記事一覧

mmu.h #define SETGATE(gate, istrap, sel, off, d)

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L168 #define SETGATE(gate, istrap, sel, off, d) \ { \ (gate).off_15_0 = (uint)(off) & 0xffff; \ (gate).cs = (sel); \ (gate).args = 0; \ (…

mmu.h #define PGROUNDDOWN(a) (((a)) & ~(PGSIZE-1))

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L91 #define PGROUNDDOWN(a) (((a)) & ~(PGSIZE-1)) PGROUNDDOWNマクロは、aで指定されたアドレス値(16進数)の下3桁を切り下げます(アドレス値を4K…

mmu.h #define PGROUNDUP(sz) (((sz)+PGSIZE-1) & ~(PGSIZE-1))

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L90 #define PGROUNDUP(sz) (((sz)+PGSIZE-1) & ~(PGSIZE-1))PGROUNDUPマクロは、szで指定されたアドレス値(16進数)の下3桁を切り上げます(アドレ…

mmu.h #define PTE_FLAGS(pte) ((uint)(pte) & 0xFFF)

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L101 #define PTE_FLAGS(pte) ((uint)(pte) & 0xFFF)PTE_FLAGSマクロは、pte(ページディテクトリエントリ、または、ページテーブルエントリ)に設定…

mmu.h #define PTE_ADDR(pte) ((uint)(pte) & ~0xFFF)

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L100 #define PTE_ADDR(pte) ((uint)(pte) & ~0xFFF)PTE_ADDRマクロは、pte(ページディレクトリエントリ、または、ページテーブルエントリ)から、…

mmu.h #define PGADDR(d, t, o) ((uint)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L80 #define PGADDR(d, t, o) ((uint)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))PGADDRマクロはd、t、oでそれぞれ指定された、PDE(ページディレ…

mmu.h #define PTX(va) (((uint)(va) >> PTXSHIFT) & 0x3FF)

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L77 #define PTX(va) (((uint)(va) >> PTXSHIFT) & 0x3FF)PTXマクロは、仮想アドレスva(32bit)から、その仮想アドレスに対応しているPTE(ページテ…

mmu.h #define PDX(va) (((uint)(va) >> PDXSHIFT) & 0x3FF)

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L74 #define PDX(va) (((uint)(va) >> PDXSHIFT) & 0x3FF)PDXマクロは、仮想アドレスva(32bit)から、その仮想アドレスに対応しているPDE(ページデ…

mmu.h #define SEG(type, base, lim, dpl)

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L42 #define SEG(type, base, lim, dpl) (struct segdesc) \ { ((lim) >> 12) & 0xffff, (uint)(base) & 0xffff, \ ((uint)(base) >> 16) & 0xff, …

mmu.h #define SEG16(type, base, lim, dpl)

トップページ jupiteroak.hatenablog.com mmu.h https://github.com/mit-pdos/xv6-public/blob/master/mmu.h#L47 #define SEG16(type, base, lim, dpl) (struct segdesc) \ { (lim) & 0xffff, (uint)(base) & 0xffff, \ ((uint)(base) >> 16) & 0xff, type, …