This is the template way to make kernel identy mapping into small page.

Before choose this way, I have tried:
1. mapp addr above the first mapping(assemble) into small page, but the second
   pmd table need alloc page here. we can call early_alloc_page(or similar)
   to get the page, but the page table is half done, can't access this memory.

Current way:
1. build kernel identy mapping in the old way
2. split the section mapping into small page for range form the address above
   the first mapping(assemble) to _end address.

Done!!!!