[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-ia64-devel][PATCH]a virt_to_maddr fix


  • To: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
  • From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
  • Date: Thu, 16 Oct 2008 18:02:28 +0800
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Cc: xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 16 Oct 2008 03:02:33 -0700
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AckvUyP5/iEnP0jLT4q+QEkt2EYYewAIoAzw
  • Thread-topic: [Xen-ia64-devel][PATCH]a virt_to_maddr fix

Putting IA64_MAX_PHYS_BITS to pgtable.h is to avoid compilation error.

Anthony

Isaku Yamahata wrote:
> 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,

Attachment: virt_to_maddr3.patch
Description: virt_to_maddr3.patch

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.