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

Re: [Xen-devel] [RFC PATCH] xen: arm: move rambase definitions to Rules.mk



Hi,

The idea is that user-space tools will determine rambase from
tools/Rules.mk. Or maybe I did not get your point correctly?

Regards,
Andrii

On Fri, Aug 22, 2014 at 1:14 PM, Tamas K Lengyel
<tamas.lengyel@xxxxxxxxxxxx> wrote:
> Would be good to still have a copy of the definition in the public header so
> that user-space tools can determine where the memory of the guest begins.
>
> Tamas
>
>
> On Fri, Aug 22, 2014 at 12:05 PM, Andrii Tseglytskyi
> <andrii.tseglytskyi@xxxxxxxxxxxxxxx> wrote:
>>
>> The reason of this pathch is the following - guest domain OS may
>> use iomem mappings. It is a typical way to handle devices in domU.
>> On some SoCs iomem starts from 0x40000000 base. Therefore it is
>> almost impossible to use iomem mappings, because it conflicts with
>> GUEST_RAM0_BASE pointer, which has similar value. Patch allows
>> to configure this from compile command line. Verified on OMAP5.
>>
>> Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@xxxxxxxxxxxxxxx>
>> ---
>>  tools/Rules.mk                | 9 +++++++++
>>  xen/arch/arm/Rules.mk         | 5 +++++
>>  xen/include/public/arch-arm.h | 3 ---
>>  3 files changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/tools/Rules.mk b/tools/Rules.mk
>> index 5bac700..ebc1324 100644
>> --- a/tools/Rules.mk
>> +++ b/tools/Rules.mk
>> @@ -35,6 +35,15 @@ INSTALL_SHLIB = : install-shlib-unsupported-fail
>>  SYMLINK_SHLIB = : symlink-shlib-unsupported-fail
>>  endif
>>
>> +TOOLS_TARGET_ARCH := $(shell echo $(XEN_TARGET_ARCH) | \
>> +                 sed -e 's/x86.*/x86/' -e s'/arm\(32\|64\)/arm/g')
>> +ifeq ($(TOOLS_TARGET_ARCH),arm)
>> +GUEST_RAM0_BASE ?= 0x40000000ULL
>> +GUEST_RAM0_SIZE ?= 0xc0000000ULL
>> +CFLAGS += -DGUEST_RAM0_BASE=$(GUEST_RAM0_BASE)
>> +CFLAGS += -DGUEST_RAM0_SIZE=$(GUEST_RAM0_SIZE)
>> +endif
>> +
>>  CFLAGS_libxenctrl = -I$(XEN_LIBXC) $(CFLAGS_xeninclude)
>>  LDLIBS_libxenctrl = $(XEN_LIBXC)/libxenctrl$(libextension)
>>  SHLIB_libxenctrl  = -Wl,-rpath-link=$(XEN_LIBXC)
>> diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
>> index 8658176..ba7dbb8 100644
>> --- a/xen/arch/arm/Rules.mk
>> +++ b/xen/arch/arm/Rules.mk
>> @@ -104,6 +104,11 @@ ifneq ($(EARLY_PRINTK_INC),)
>>  EARLY_PRINTK := y
>>  endif
>>
>> +GUEST_RAM0_BASE ?= 0x40000000ULL
>> +GUEST_RAM0_SIZE ?= 0xc0000000ULL
>> +CFLAGS += -DGUEST_RAM0_BASE=$(GUEST_RAM0_BASE)
>> +CFLAGS += -DGUEST_RAM0_SIZE=$(GUEST_RAM0_SIZE)
>> +
>>  CFLAGS-$(EARLY_PRINTK) += -DCONFIG_EARLY_PRINTK
>>  CFLAGS-$(EARLY_PRINTK_INIT_UART) += -DEARLY_PRINTK_INIT_UART
>>  CFLAGS-$(EARLY_PRINTK) +=
>> -DEARLY_PRINTK_INC=\"debug-$(EARLY_PRINTK_INC).inc\"
>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
>> index ac54cd6..a31ed72 100644
>> --- a/xen/include/public/arch-arm.h
>> +++ b/xen/include/public/arch-arm.h
>> @@ -380,9 +380,6 @@ typedef uint64_t xen_callback_t;
>>
>>  #define GUEST_RAM_BANKS   2
>>
>> -#define GUEST_RAM0_BASE   0x40000000ULL /* 3GB of low RAM @ 1GB */
>> -#define GUEST_RAM0_SIZE   0xc0000000ULL
>> -
>>  #define GUEST_RAM1_BASE   0x0200000000ULL /* 1016GB of RAM @ 8GB */
>>  #define GUEST_RAM1_SIZE   0xfe00000000ULL
>>
>> --
>> 1.9.1
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxx
>> http://lists.xen.org/xen-devel
>
>



-- 

Andrii Tseglytskyi | Embedded Dev
GlobalLogic
www.globallogic.com

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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