On Tue, Oct 23, 2007 at 09:06:16PM +0200, Christian Franke wrote:
> +/* Check memory address */
> +static int
> +addr_is_valid (grub_addr_t addr)
> +{
> +  volatile unsigned char * p = (volatile unsigned char *)addr;
> +  unsigned char x, y;
> +  x = *p;
> +  *p = x ^ 0xcf;
> +  y = *p;
> +  *p = x;
> +  return y == (x ^ 0xcf);
> +}
> +

I have a feeling this might be dangerous.  Any comments on the warnings
listed here:

  
http://www.osdev.org/wiki/How_Do_I_Determine_The_Amount_Of_RAM#Counting_RAM_by_direct_probing

  ?

Specially the bit about memory-mapped PCI.

Besides, if we really want it, perhaps it should be in a separate file so that
other ports can use it if it's needed ?

Ah, and why 0xcf instead of 0xff ?

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)


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

Reply via email to