* [PATCH] alloc_{start,end} truncation
@ 2005-08-05 17:52 Scott Parish
2005-08-08 12:56 ` Gerd Knorr
0 siblings, 1 reply; 3+ messages in thread
From: Scott Parish @ 2005-08-05 17:52 UTC (permalink / raw)
To: xen-devel
[-- Attachment #1: Type: text/plain, Size: 118 bytes --]
Alloc_{start,end} should be physaddr_t. See attached patch.
sRp
--
Scott Parish
Signed-off-by: srparish@us.ibm.com
[-- Attachment #2: dom0-physaddr.diff --]
[-- Type: text/plain, Size: 1638 bytes --]
diff -rN -u -p old-xen-pae/xen/arch/x86/domain_build.c new-xen-pae/xen/arch/x86/domain_build.c
--- old-xen-pae/xen/arch/x86/domain_build.c 2005-08-01 21:06:42.000000000 +0000
+++ new-xen-pae/xen/arch/x86/domain_build.c 2005-08-05 17:48:07.000000000 +0000
@@ -78,8 +78,8 @@ int construct_dom0(struct domain *d,
unsigned long pfn, mfn;
unsigned long nr_pages;
unsigned long nr_pt_pages;
- unsigned long alloc_start;
- unsigned long alloc_end;
+ physaddr_t alloc_start;
+ physaddr_t alloc_end;
unsigned long count;
struct pfn_info *page = NULL;
start_info_t *si;
@@ -219,8 +219,8 @@ int construct_dom0(struct domain *d,
panic("Insufficient contiguous RAM to build kernel image.\n");
printk("PHYSICAL MEMORY ARRANGEMENT:\n"
- " Dom0 alloc.: %p->%p",
- _p(alloc_start), _p(alloc_end));
+ " Dom0 alloc.: %llx->%llx",
+ (u64)alloc_start, (u64)alloc_end);
if ( d->tot_pages < nr_pages )
printk(" (%lu pages to be allocated)",
nr_pages - d->tot_pages);
diff -rN -u -p old-xen-pae/xen/include/asm-x86/io.h new-xen-pae/xen/include/asm-x86/io.h
--- old-xen-pae/xen/include/asm-x86/io.h 2005-07-19 18:51:39.000000000 +0000
+++ new-xen-pae/xen/include/asm-x86/io.h 2005-08-05 17:45:17.000000000 +0000
@@ -45,7 +45,7 @@ static inline void * phys_to_virt(unsign
/*
* Change "struct pfn_info" to physical address.
*/
-#ifdef CONFIG_HIGHMEM64G
+#ifdef CONFIG_TARGET_X86_PAE
#define page_to_phys(page) ((u64)(page - frame_table) << PAGE_SHIFT)
#else
#define page_to_phys(page) ((page - frame_table) << PAGE_SHIFT)
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] alloc_{start,end} truncation
2005-08-05 17:52 [PATCH] alloc_{start,end} truncation Scott Parish
@ 2005-08-08 12:56 ` Gerd Knorr
2005-08-08 14:44 ` Scott Parish
0 siblings, 1 reply; 3+ messages in thread
From: Gerd Knorr @ 2005-08-08 12:56 UTC (permalink / raw)
To: Scott Parish; +Cc: xen-devel
"Scott Parish" <srparish@us.ibm.com> writes:
> Alloc_{start,end} should be physaddr_t. See attached patch.
Ha, *that* the bug I was hunting as well ;)
> +++ new-xen-pae/xen/arch/x86/domain_build.c 2005-08-05 17:48:07.000000000 +0000
This change looks perfectly fine.
> --- old-xen-pae/xen/include/asm-x86/io.h 2005-07-19 18:51:39.000000000 +0000
> +++ new-xen-pae/xen/include/asm-x86/io.h 2005-08-05 17:45:17.000000000 +0000
> @@ -45,7 +45,7 @@ static inline void * phys_to_virt(unsign
> /*
> * Change "struct pfn_info" to physical address.
> */
> -#ifdef CONFIG_HIGHMEM64G
> +#ifdef CONFIG_TARGET_X86_PAE
That one should be "CONFIG_X86_PAE"
> #define page_to_phys(page) ((u64)(page - frame_table) << PAGE_SHIFT)
But I think even better is to simply drop the ifdef and turn that into
"#define page_to_phys(page) ((physaddr_t)(page - frame_table) << PAGE_SHIFT)"
With these changes in place the dom0 builder survives on my 6GB test
box, now the linux kernel seems to crash early at boot, continuing
debugging ...
Gerd
--
panic("it works"); /* avoid being flooded with debug messages */
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] alloc_{start,end} truncation
2005-08-08 12:56 ` Gerd Knorr
@ 2005-08-08 14:44 ` Scott Parish
0 siblings, 0 replies; 3+ messages in thread
From: Scott Parish @ 2005-08-08 14:44 UTC (permalink / raw)
To: Gerd Knorr; +Cc: xen-devel, Scott Parish
[-- Attachment #1: Type: text/plain, Size: 341 bytes --]
On Mon, Aug 08, 2005 at 02:56:02PM +0200, Gerd Knorr wrote:
> "Scott Parish" <srparish@us.ibm.com> writes:
>
> But I think even better is to simply drop the ifdef and turn that into
>
> "#define page_to_phys(page) ((physaddr_t)(page - frame_table) << PAGE_SHIFT)"
Excellent idea
sRp
--
Scott Parish
Signed-off-by: srparish@us.ibm.com
[-- Attachment #2: dom0-physaddr-2.diff --]
[-- Type: text/plain, Size: 1832 bytes --]
diff -rN -u -p old-xen-pae/xen/arch/x86/domain_build.c new-xen-pae/xen/arch/x86/domain_build.c
--- old-xen-pae/xen/arch/x86/domain_build.c 2005-08-01 21:06:42.000000000 +0000
+++ new-xen-pae/xen/arch/x86/domain_build.c 2005-08-05 17:48:07.000000000 +0000
@@ -78,8 +78,8 @@ int construct_dom0(struct domain *d,
unsigned long pfn, mfn;
unsigned long nr_pages;
unsigned long nr_pt_pages;
- unsigned long alloc_start;
- unsigned long alloc_end;
+ physaddr_t alloc_start;
+ physaddr_t alloc_end;
unsigned long count;
struct pfn_info *page = NULL;
start_info_t *si;
@@ -219,8 +219,8 @@ int construct_dom0(struct domain *d,
panic("Insufficient contiguous RAM to build kernel image.\n");
printk("PHYSICAL MEMORY ARRANGEMENT:\n"
- " Dom0 alloc.: %p->%p",
- _p(alloc_start), _p(alloc_end));
+ " Dom0 alloc.: %llx->%llx",
+ (u64)alloc_start, (u64)alloc_end);
if ( d->tot_pages < nr_pages )
printk(" (%lu pages to be allocated)",
nr_pages - d->tot_pages);
diff -rN -u -p old-xen-pae/xen/include/asm-x86/io.h new-xen-pae/xen/include/asm-x86/io.h
--- old-xen-pae/xen/include/asm-x86/io.h 2005-07-19 18:51:39.000000000 +0000
+++ new-xen-pae/xen/include/asm-x86/io.h 2005-08-08 14:34:40.000000000 +0000
@@ -45,12 +45,7 @@ static inline void * phys_to_virt(unsign
/*
* Change "struct pfn_info" to physical address.
*/
-#ifdef CONFIG_HIGHMEM64G
-#define page_to_phys(page) ((u64)(page - frame_table) << PAGE_SHIFT)
-#else
-#define page_to_phys(page) ((page - frame_table) << PAGE_SHIFT)
-#endif
-
+#define page_to_phys(page) ((physaddr_t)(page - frame_table) << PAGE_SHIFT)
#define page_to_pfn(_page) ((unsigned long)((_page) - frame_table))
#define page_to_virt(_page) phys_to_virt(page_to_phys(_page))
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-08-08 14:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-05 17:52 [PATCH] alloc_{start,end} truncation Scott Parish
2005-08-08 12:56 ` Gerd Knorr
2005-08-08 14:44 ` Scott Parish
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.