> + if (!proto)
> +return GRUB_ERR_NOT_IMPLEMENTED_YET;
> +
Here and in other places you return an error without using grub_error.
Also NOT_IMPLEMENTED_YET means that *GRUB* doesn't implement it yet,
not firmware. Also given that you ignore the return here anyway a
single bool or even void ret
From: Peter Jones
For NX, we need to set the page access permission attributes for write
and execute permissions.
This patch adds two new primitives, grub_set_mem_attrs() and
grub_clear_mem_attrs(), and associated constant definitions, to be used
for that purpose.
For most platforms, it adds a