# bound tabel With bound table ## BNDCFGU/S register keeps the bound directory's root address. ### `BNDCFGU` register : for userland ### `BNDCFGS` register : for system kernel ## use Bound Table ### `bndldx` : loads bound values from boundtable ### `bndstx` : store bound values into boundtable
****************************************************************************** * * * * * Pointer Address * * +---------+-------------+--------+ * * | | 1234567 | 89AB0 | * * +---------+-------------+--------+ * * 28bit 17bit * * * * * * Bound Directory ( 2GB = 2^28 × 8 bit ) * * +---------------+ * * | | * * +---------------+ * * | | a particular * * +---------------+ +---------------+ Bound Table * * | BNDCFGU/S + | | | +------------------------+ * * | 0x1234567 × 8 | +---------------+ | | * * +---------------+ | +---+ +------------------------+ * * +--->+---------------+ | | | * * | 8 byte | | +------------------------+ * * +---------------+ | | ($TABLE + 0x89AB0) | * * | 8 byte | | +------------------------+ * * +---------------+ | | | * * | 8 byte | | +------------------------+ * * +---------------+ | | | * * | 8 byte | | +------------------------+ * * +---------------+ | | 32 byte | * * | 8 byte | | +------------------------+ * * +-->+---------------+ | | 32 byte | * * / | +------------------------+ * * +-----+---------+ | | 32 byte | * * |BNDCFGU/BNDCFGS| +--->+------------------------+ * * +---------------+ +------+ * * |$TABLE| * * +------+ * * * * * * 1 entry of bound table (8 byte × 4) * * +-----------------+----------------+ * * | pointer value | reserved | * * +-----------------+----------------+ * * | lower bound | upper bound | * * +-----------------+----------------+ * * * * * * * * * * * * * * * ****************************************************************************** As described above,
`bound table` implements `page table` structure.