Some important changes in functions for address translation in arch/empty/include/pmm.h; such as pa2page, page2pa and so on.

That's it!
PGSIZE should be defined as (1<<PSSHIFT) but not 1<<PGSHIFT, the '(' and ')' is critically important!