// ************************************************************************** // ************************************************************************** // display contents of UPT void displayUPT(int rptNum, int uptNum) { unsigned short int rpte, upt, upte1, upte2, uptba; rptNum &= BITS_3_0_MASK; uptNum &= BITS_4_0_MASK; // index to process <rptNum>'s rpt + <uptNum> index rpte = MEMWORD(((LC3_RPT + (rptNum<<6)) + uptNum*2)); // calculate upt's base address uptba = uptNum<<11; if (!DEFINED(rpte)) return; printf("\nUser Page Table %d", FRAME(rpte)); upt = FRAME(rpte)<<6; displayPT(upt, uptba, 1<<6); return; } // end displayUPT
// ************************************************************************** // ************************************************************************** // display contents of RPT rptNum void displayRPT(int rptNum) { displayPT(LC3_RPT + (rptNum<<6), 0, 1<<11); return; } // end displayRPT