Hi again,

On 2023/7/11 10:08, Cyan via Grub-devel wrote:

> static int
> traverse_mmap_hook (grub_uint64_t addr, grub_uint64_t size, 
> grub_memory_type_t type,
>                     void *data __attribute__ ((unused)))
> {
>   total_mem_bytes += size;
> }
> 

I discovered a huge problem in my hook function: missing a return at the end of 
the hook function.
Without this return the hook function will execute only once. 
And, regions with type GRUB_MEMORY_RESERVED should be skipped. So the hook 
function body should look like this:

if (type != GRUB_MEMORY_RESERVED) {
  total_mem_bytes += size;
}
return GRUB_ERR_NONE;

After this change the result looks fine.

Regards,
Cinhi

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to