This patch disables the mfn_is_ram check in mini-os. The current check
is insufficient and fails on some systems with larger than 4gb memory.
diff --git a/extras/mini-os/arch/x86/mm.c b/extras/mini-os/arch/x86/mm.c
--- a/extras/mini-os/arch/x86/mm.c
+++ b/extras/mini-os/arch/x86/mm.c
@@ -850,6 +850,8 @@ unsigned long alloc_contig_pages(int order, unsigned
int addr_bits)
static long system_ram_end_mfn;
int mfn_is_ram(unsigned long mfn)
{
+ /* This is broken on systems with large ammounts of ram. Always
return 0 for now */
+ return 0;
/* very crude check if a given MFN is memory or not. Probably should
* make this a little more sophisticated ;) */
return (mfn <= system_ram_end_mfn) ? 1 : 0;
is insufficient and fails on some systems with larger than 4gb memory.
diff --git a/extras/mini-os/arch/x86/mm.c b/extras/mini-os/arch/x86/mm.c
--- a/extras/mini-os/arch/x86/mm.c
+++ b/extras/mini-os/arch/x86/mm.c
@@ -850,6 +850,8 @@ unsigned long alloc_contig_pages(int order, unsigned
int addr_bits)
static long system_ram_end_mfn;
int mfn_is_ram(unsigned long mfn)
{
+ /* This is broken on systems with large ammounts of ram. Always
return 0 for now */
+ return 0;
/* very crude check if a given MFN is memory or not. Probably should
* make this a little more sophisticated ;) */
return (mfn <= system_ram_end_mfn) ? 1 : 0;