Tormod's patch worked by changing pagemap_realloc to pass top not size. In
fact we want to pass size so that
- We don't break any other banking code
- We can still sanely handle platforms with multiple processes per bank where
pagemap_realloc has a real job. It's not quite that simple there are some
other 32bit changes it would need, but lets not dig a hole to fall down
int pagemap_realloc(usize_t code, usize_t size, usize_t stack)
{
int8_t have = maps_needed(udata.u_top);
- int8_t want = maps_needed(size);
+ int8_t want = maps_needed(size + MAPBASE);
uint8_t *ptr = (uint8_t *)udata.u_page;
int i;