Yes, IA64_MAX_PHYS_BITS makes sense.
It seems better that the comment is in xenpage.h.
Did you compile it? I got the following.
(note:crash_debug=y verbose=y vti_debug=y debug=y perfc=y perfc_arrays=y)
ia64-linux-gnu-gcc -O1 -fno-optimize-sibling-calls -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value
-Wdeclaration-after-statement -nostdinc -fno-builtin -fno-common -mconstant-gp
-O2 -fomit-frame-pointer -D__KERNEL__ -iwithprefix include
-I/xen-unstable.hg/xen/include -I/xen-unstable.hg/xen/include/asm-ia64
-I/xen-unstable.hg/xen/include/asm-ia64/linux
-I/xen-unstable.hg/xen/include/asm-ia64/linux-xen
-I/xen-unstable.hg/xen/include/asm-ia64/linux-null
-I/xen-unstable.hg/xen/arch/ia64/linux
-I/xen-unstable.hg/xen/arch/ia64/linux-xen -DIA64 -DXEN -DLINUX_2_6 -ffixed-r13
-mfixed-range=f2-f5,f12-f127,b2-b5 -g -DVTI_DEBUG -DCONFIG_XEN_IA64_EXPOSE_P2M
-DCONFIG_XEN_IA64_PERVCPU_VHPT -DCONFIG_XEN_IA64_TLB_TRACK
-DCONFIG_XEN_IA64_TLBFLUSH_CLOCK -DVHPT_ENABLED=1 -g -D__XEN__ -DVERBOSE
-DCRASH_DEBUG -DPERF_COUNTERS -DPERF_ARRAYS -fno-omit-frame-pointer
-DCONFIG_FRAME_POINTER -DGENERATE_ASM_OFFSETS -DIA64_TASK_SIZE=0 -S -o
asm-offsets.s asm-offsets.c
In file included from
/xen-unstable.hg/xen/include/asm-ia64/linux-xen/asm/page.h:222,
from
/xen-unstable.hg/xen/include/asm-ia64/linux-xen/asm/system.h:18,
from /xen-unstable.hg/xen/include/xen/spinlock.h:5,
from /xen-unstable.hg/xen/include/xen/sched.h:7,
from asm-offsets.c:8:
/xen-unstable.hg/xen/include/asm/xenpage.h: In function '__virt_to_maddr':
/xen-unstable.hg/xen/include/asm/xenpage.h:31: error: 'IA64_MAX_PHYS_BITS'
undeclared (first use in this function)
/xen-unstable.hg/xen/include/asm/xenpage.h:31: error: (Each undeclared
identifier is reported only once
/xen-unstable.hg/xen/include/asm/xenpage.h:31: error: for each function it
appears in.)
thanks,
On Thu, Oct 16, 2008 at 01:16:48PM +0800, Xu, Anthony wrote:
> Updated one per your comments
>
> Anthony
>
>
> Isaku Yamahata wrote:
> > On Mon, Oct 13, 2008 at 03:29:54PM +0800, Xu, Anthony wrote:
> >> virt_to_maddr fix
> >> The significant 8 bits of va are used by Xen,
> >> such as 0xf2 is used as uncache mapping.
> >>
> >> In function ioports_permit_access,
> >> mach_start = mmio_start | __pa(space->mmio_base);
> >> Mach_start gets wrong physical address.
> >>
> >> Signed-off-by; Anthony Xu < anthony.xu@xxxxxxxxx >
> >>
> >>
> >> Anthony
> >>
> >> diff -r c2fc4d26ef18 xen/include/asm-ia64/xenpage.h
> >> --- a/xen/include/asm-ia64/xenpage.h Fri Oct 10 12:06:46 2008
> >> +0900 +++ b/xen/include/asm-ia64/xenpage.h Mon Oct 13 13:44:05
> >> 2008 +0800 @@ -23,7 +23,7 @@ if (va - KERNEL_START <
> >> xenheap_size) return xen_pstart + (va -
> >> KERNEL_START); else - return (va & ((1UL <<
> >> 60) - 1)); + return (va & ((1UL << 56) - 1));
> >> }
> >>
> >> #define virt_to_maddr(va) (__virt_to_maddr((unsigned long)va))
> >>
> >
> > Instead of using the magic number 56 directly, please define
> > the number in xensystem.h with some comment and use it.
> >
> > thanks,
--
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|