This is also the correct implementation, e.g., maximum
possible 16-bit address is 0xFFFF, or `(1 << 16) - 1`.
Signed-off-by: Kha Dinh <khadinh@g.skku.edu>
Reviewed-by: Sergiu Moga <sergiu@unikraft.io>
Reviewed-by: Michalis Pappas <michalis@unikraft.io>
Reviewed-by: Razvan Virtan <virtanrazvan@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
GitHub-Closes: #1091
static __paddr_t x86_pg_maxphysaddr;
-#define X86_PG_VALID_PADDR(paddr) ((paddr) < x86_pg_maxphysaddr)
+#define X86_PG_VALID_PADDR(paddr) ((paddr) <= x86_pg_maxphysaddr)
int ukarch_paddr_range_isvalid(__paddr_t start, __paddr_t end)
{
}
max_addr_bit = (eax & X86_PG_PADDR_MASK) >> X86_PG_PADDR_SHIFT;
- x86_pg_maxphysaddr = (1UL << max_addr_bit);
+ x86_pg_maxphysaddr = (1UL << max_addr_bit) - 1;
return 0;
}