Remove a few more occurrences of ia64 from the sources. Olaf Hering (5): docs: remove ia64 from tmem-internals.html stubdom: remove ia64 from stubdom libxc: remove ia64 from xg_private.h pygrub: remote ia64 from pygrub xend: remove ia64 from xend sources docs/misc/tmem-internals.html | 7 ----- stubdom/Makefile | 3 -- stubdom/newlib.patch | 22 ------------- tools/libxc/xg_private.h | 4 --- tools/pygrub/src/pygrub | 35 +++++++-------------- tools/python/xen/xend/XendNode.py | 10 ------ tools/python/xen/xend/arch.py | 1 - tools/python/xen/xend/image.py | 56 ---------------------------------- tools/python/xen/xend/server/pciif.py | 2 +- tools/xm-test/lib/XmTestLib/arch.py | 14 ++------- tools/xm-test/lib/XmTestReport/arch.py | 4 --- 11 files changed, 15 insertions(+), 143 deletions(-)
Signed-off-by: Olaf Hering <olaf@aepfle.de> --- docs/misc/tmem-internals.html | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docs/misc/tmem-internals.html b/docs/misc/tmem-internals.html index ccc34c3..2d8635d 100644 --- a/docs/misc/tmem-internals.html +++ b/docs/misc/tmem-internals.html @@ -728,13 +728,6 @@ However, the Xen heap is limited in size on 32-bit Xen so tmem did not work very well. There are still 32-bit ifdefs in some places in the code, but things may have bit-rotted so using tmem on a 32-bit Xen is not recommended. -<P> -<b><i>IA-64 implementation. </i></b> -The vast majority of the tmem -implementation is architecture-independent. -For tmem to run on Xen/ia64, it is believed that only one or two -routines needs to be written.(See the -#ifdef __ia64__ at <i>cli_mfn_to_va()</i>.) <h2>Known Issues</h2>
Signed-off-by: Olaf Hering <olaf@aepfle.de> --- stubdom/Makefile | 3 --- stubdom/newlib.patch | 22 ---------------------- 2 files changed, 25 deletions(-) diff --git a/stubdom/Makefile b/stubdom/Makefile index 19f2228..b1822b7 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -23,9 +23,6 @@ TARGET_CFLAGS=-mno-red-zone NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS STUBDOM_SUPPORTED=1 endif -ifeq ($(GNU_TARGET_ARCH), ia64) -TARGET_CFLAGS=-mconstant-gp -endif CROSS_ROOT=cross-root-$(GNU_TARGET_ARCH) CROSS_PREFIX=$(CURDIR)/$(CROSS_ROOT) diff --git a/stubdom/newlib.patch b/stubdom/newlib.patch index 733dc13..ee9b6f2 100644 --- a/stubdom/newlib.patch +++ b/stubdom/newlib.patch @@ -81,28 +81,6 @@ diff -u -p -r1.10 stdint.h Define the basic ia64 jump buffer -Index: newlib/libc/include/machine/setjmp.h -==================================================================-RCS file: /cvs/src/src/newlib/libc/include/machine/setjmp.h,v -retrieving revision 1.34 -diff -u -p -r1.34 setjmp.h ---- newlib/libc/include/machine/setjmp.h 7 Nov 2007 21:42:24 -0000 1.34 -+++ newlib/libc/include/machine/setjmp.h 11 Jan 2008 18:10:43 -0000 -@@ -72,6 +72,11 @@ _BEGIN_STD_C - #define _JBLEN 8 - #endif - -+#ifdef __ia64__ -+#define _JBTYPE long -+#define _JBLEN 70 -+#endif -+ - #ifdef __i960__ - #define _JBLEN 35 - #endif - -In mini-os we use a dynamic reentrency buffer. - Index: newlib/libc/include/sys/config.h ================================================================== RCS file: /cvs/src/src/newlib/libc/include/sys/config.h,v
Signed-off-by: Olaf Hering <olaf@aepfle.de> --- tools/libxc/xg_private.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/libxc/xg_private.h b/tools/libxc/xg_private.h index 5ff2124..f5755fd 100644 --- a/tools/libxc/xg_private.h +++ b/tools/libxc/xg_private.h @@ -120,10 +120,6 @@ typedef uint64_t l4_pgentry_64_t; #define PAGE_SIZE_X86 (1UL << PAGE_SHIFT_X86) #define PAGE_MASK_X86 (~(PAGE_SIZE_X86-1)) -#define PAGE_SHIFT_IA64 14 -#define PAGE_SIZE_IA64 (1UL << PAGE_SHIFT_IA64) -#define PAGE_MASK_IA64 (~(PAGE_SIZE_IA64-1)) - #define ROUNDUP(_x,_w) (((unsigned long)(_x)+(1UL<<(_w))-1) & ~((1UL<<(_w))-1)) #define NRPAGES(x) (ROUNDUP(x, PAGE_SHIFT) >> PAGE_SHIFT)
Signed-off-by: Olaf Hering <olaf@aepfle.de> --- tools/pygrub/src/pygrub | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub index ee4e741..54fecee 100644 --- a/tools/pygrub/src/pygrub +++ b/tools/pygrub/src/pygrub @@ -360,11 +360,7 @@ class Grub: curline = len(img.lines) - 1 if self.isdone: - # Fix to allow pygrub command-line editing in Lilo bootloader (used by IA64) - if platform.machine() == ''ia64'': - origimg.reset(img.lines, img.path) - else: - origimg.reset(img.lines) + origimg.reset(img.lines) def edit_line(self, line): self.screen.erase() @@ -416,25 +412,16 @@ class Grub: if not os.access(fn, os.R_OK): raise RuntimeError, "Unable to access %s" %(fn,) - if platform.machine() == ''ia64'': - cfg_list = map(lambda x: (x,grub.LiloConf.LiloConfigFile), - # common distributions - ["/efi/debian/elilo.conf", "/efi/gentoo/elilo.conf", - "/efi/redflag/elilo.conf", "/efi/redhat/elilo.conf", - "/efi/SuSE/elilo.conf",] + - # fallbacks - ["/efi/boot/elilo.conf", "/elilo.conf",]) - else: - cfg_list = map(lambda x: (x,grub.GrubConf.Grub2ConfigFile), - ["/boot/grub/grub.cfg", "/grub/grub.cfg", - "/boot/grub2/grub.cfg", "/grub2/grub.cfg"]) + \ - map(lambda x: (x,grub.ExtLinuxConf.ExtLinuxConfigFile), - ["/boot/isolinux/isolinux.cfg", - "/boot/extlinux/extlinux.conf", - "/boot/extlinux.conf"]) + \ - map(lambda x: (x,grub.GrubConf.GrubConfigFile), - ["/boot/grub/menu.lst", "/boot/grub/grub.conf", - "/grub/menu.lst", "/grub/grub.conf"]) + cfg_list = map(lambda x: (x,grub.GrubConf.Grub2ConfigFile), + ["/boot/grub/grub.cfg", "/grub/grub.cfg", + "/boot/grub2/grub.cfg", "/grub2/grub.cfg"]) + \ + map(lambda x: (x,grub.ExtLinuxConf.ExtLinuxConfigFile), + ["/boot/isolinux/isolinux.cfg", + "/boot/extlinux/extlinux.conf", + "/boot/extlinux.conf"]) + \ + map(lambda x: (x,grub.GrubConf.GrubConfigFile), + ["/boot/grub/menu.lst", "/boot/grub/grub.conf", + "/grub/menu.lst", "/grub/grub.conf"]) if not fs: # set the config file and parse it
Signed-off-by: Olaf Hering <olaf@aepfle.de> --- tools/python/xen/xend/XendNode.py | 10 ------ tools/python/xen/xend/arch.py | 1 - tools/python/xen/xend/image.py | 56 ---------------------------------- tools/python/xen/xend/server/pciif.py | 2 +- tools/xm-test/lib/XmTestLib/arch.py | 14 ++------- tools/xm-test/lib/XmTestReport/arch.py | 4 --- 6 files changed, 4 insertions(+), 83 deletions(-) diff --git a/tools/python/xen/xend/XendNode.py b/tools/python/xen/xend/XendNode.py index f16932c..a26383b 100644 --- a/tools/python/xen/xend/XendNode.py +++ b/tools/python/xen/xend/XendNode.py @@ -132,16 +132,6 @@ class XendNode: ''stepping'' : cpuinfo[number][''stepping''], ''flags'' : cpuinfo[number][''flags''], }) - elif arch.type == "ia64": - self.cpus[u].update( - { ''host'' : self.uuid, - ''features'' : cpu_features, - ''speed'' : int(float(cpuinfo[number][''cpu MHz''])), - ''vendor'' : cpuinfo[number][''vendor''], - ''modelname'': cpuinfo[number][''family''], - ''stepping'' : cpuinfo[number][''model''], - ''flags'' : cpuinfo[number][''features''], - }) else: self.cpus[u].update( { ''host'' : self.uuid, diff --git a/tools/python/xen/xend/arch.py b/tools/python/xen/xend/arch.py index 6d789d9..2af55e8 100644 --- a/tools/python/xen/xend/arch.py +++ b/tools/python/xen/xend/arch.py @@ -27,6 +27,5 @@ _types = { "x86_64": "x86", "amd64": "x86", "i86pc": "x86", - "ia64": "ia64", } type = _types.get(os.uname()[4], "unknown") diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py index 832c168..54334ae 100644 --- a/tools/python/xen/xend/image.py +++ b/tools/python/xen/xend/image.py @@ -729,8 +729,6 @@ class LinuxImageHandler(ImageHandler): log.debug("features = %s", self.vm.getFeatures()) log.debug("flags = %d", self.flags) log.debug("superpages = %d", self.superpages) - if arch.type == "ia64": - log.debug("vhpt = %d", self.vhpt) return xc.linux_build(domid = self.vm.getDomid(), memsize = mem_mb, @@ -982,56 +980,6 @@ class HVMImageHandler(ImageHandler): return rc -class IA64_HVM_ImageHandler(HVMImageHandler): - - def configure(self, vmConfig): - HVMImageHandler.configure(self, vmConfig) - self.vhpt = int(vmConfig[''platform''].get(''vhpt'', 0)) - self.vramsize = int(vmConfig[''platform''].get(''videoram'',4)) * 1024 - - def buildDomain(self): - xc.nvram_init(self.vm.getName(), self.vm.getDomid()) - xc.hvm_set_param(self.vm.getDomid(), HVM_PARAM_VHPT_SIZE, self.vhpt) - if self.guest_os_type is not None: - xc.set_os_type(self.guest_os_type.lower(), self.vm.getDomid()) - return HVMImageHandler.buildDomain(self) - - def getRequiredAvailableMemory(self, mem_kb): - page_kb = 16 - # ROM size for guest firmware, io page, xenstore page - # buffer io page, buffer pio page and memmap info page - extra_pages = 1024 + 5 - mem_kb += extra_pages * page_kb - mem_kb += self.vramsize - return mem_kb - - def getRequiredInitialReservation(self): - return self.vm.getMemoryTarget() - - def getRequiredShadowMemory(self, shadow_mem_kb, maxmem_kb): - # Explicit shadow memory is not a concept - return 0 - - def getDeviceModelArgs(self, restore = False): - args = HVMImageHandler.getDeviceModelArgs(self, restore) - args = args + ([ "-m", "%s" % - (self.getRequiredInitialReservation() / 1024) ]) - return args - - def setCpuid(self): - # Guest CPUID configuration is not implemented yet. - return - -class IA64_Linux_ImageHandler(LinuxImageHandler): - - def configure(self, vmConfig): - LinuxImageHandler.configure(self, vmConfig) - self.vhpt = int(vmConfig[''platform''].get(''vhpt'', 0)) - - def setCpuid(self): - # Guest CPUID configuration is not implemented yet. - return - class X86_HVM_ImageHandler(HVMImageHandler): def configure(self, vmConfig): @@ -1079,10 +1027,6 @@ class X86_Linux_ImageHandler(LinuxImageHandler): return rc _handlers = { - "ia64": { - "linux": IA64_Linux_ImageHandler, - "hvm": IA64_HVM_ImageHandler, - }, "x86": { "linux": X86_Linux_ImageHandler, "hvm": X86_HVM_ImageHandler, diff --git a/tools/python/xen/xend/server/pciif.py b/tools/python/xen/xend/server/pciif.py index 27c1b75..165953f 100644 --- a/tools/python/xen/xend/server/pciif.py +++ b/tools/python/xen/xend/server/pciif.py @@ -412,7 +412,7 @@ class PciController(DevController): '' the same guest with %s'' raise VmError(err_msg % (f, dev.name)) elif dev.dev_type == DEV_TYPE_PCI: - if dev.bus == 0 or arch.type == "ia64": + if dev.bus == 0: if not dev.pci_af_flr: # We cope with this case by using the Dstate transition # method or some vendor specific methods for now. diff --git a/tools/xm-test/lib/XmTestLib/arch.py b/tools/xm-test/lib/XmTestLib/arch.py index d505cc0..f3d8455 100644 --- a/tools/xm-test/lib/XmTestLib/arch.py +++ b/tools/xm-test/lib/XmTestLib/arch.py @@ -39,16 +39,13 @@ def getRdPath(): return rdpath -# Begin: Intel ia32 and ia64 as well as AMD 32-bit and 64-bit processors +# Begin: Intel as well as AMD 32-bit and 64-bit processors def ia_checkBuffer(buffer): return def ia_minSafeMem(): return 32 -def ia64_minSafeMem(): - return 128 - def ia_getDeviceModel(): """Get the path to the device model based on the architecture reported in uname""" @@ -85,7 +82,7 @@ ia_HVMDefaults = {"memory" : 64, "serial" : "pty", "device_model" : ia_getDeviceModel(), } -# End : Intel ia32 and ia64 as well as AMD 32-bit and 64-bit processors +# End : Intel as well as AMD 32-bit and 64-bit processors """Convert from uname specification to a more general platform.""" _uname_to_arch_map = { @@ -94,12 +91,11 @@ _uname_to_arch_map = { "i586" : "x86", "i686" : "x86", "x86_64": "x86_64", - "ia64" : "ia64", } # Lookup current platform. _arch = _uname_to_arch_map.get(os.uname()[4], "Unknown") -if _arch == "x86" or _arch == "x86_64" or _arch == "ia64": +if _arch == "x86" or _arch == "x86_64": minSafeMem = ia_minSafeMem getDefaultKernel = ia_getDefaultKernel checkBuffer = ia_checkBuffer @@ -118,9 +114,5 @@ if _arch == "x86" or _arch == "x86_64" or _arch == "ia64": else: configDefaults[''extra''] = clause - if _arch == "ia64": - minSafeMem = ia64_minSafeMem - configDefaults[''memory''] = ia64_minSafeMem() - else: raise ValueError, "Unknown architecture!" diff --git a/tools/xm-test/lib/XmTestReport/arch.py b/tools/xm-test/lib/XmTestReport/arch.py index 920526d..b1f4bc8 100644 --- a/tools/xm-test/lib/XmTestReport/arch.py +++ b/tools/xm-test/lib/XmTestReport/arch.py @@ -29,7 +29,6 @@ _uname_to_arch_map = { "i586" : "x86", "i686" : "x86", "x86_64": "x86_64", - "ia64" : "ia64", } _arch = _uname_to_arch_map.get(os.uname()[4], "Unknown") @@ -39,8 +38,5 @@ if _arch == "x86": elif _arch == "x86_64": cpuValues = {"model_name" : "Unknown", "flags" : "Unknown"} -elif _arch == "ia64": - cpuValues = {"arch" : "Unknown", - "features" : "Unknown"} else: raise ValueError, "Unknown architecture!"
On Thu, 2013-12-05 at 22:09 +0100, Olaf Hering wrote:> Remove a few more occurrences of ia64 from the sources.Thanks. As you''ll have seen from George''s development updates we are now well into code freeze and close to an rc0 for 4.4. So every patch needs to come with some sort of justification for why it should be accepted for 4.4 (or have an explicit note indicating that it is 4.5 material). In this case although removing code seems harmless enough it does risk causing build failures, or in the case of the python stuff, runtime exceptions. I don''t think the benefits outweigh the risks for 4.4. George? We also have a policy these days of CCing the folks listed in MAINTAINERS. You might find ./scripts/get_maintainers.pl useful. BTW, George while I have you attention -- do you have a standard link which I can direct people to regarding the freeze exception considerations (the "#1 an awesome releases stuff") and the methodology which I''ve seen you deploy in various threads. Or if not a standard link a particular instance which is especially illustrative? Ian.> > Olaf Hering (5): > docs: remove ia64 from tmem-internals.html > stubdom: remove ia64 from stubdom > libxc: remove ia64 from xg_private.h > pygrub: remote ia64 from pygrub > xend: remove ia64 from xend sources > > docs/misc/tmem-internals.html | 7 ----- > stubdom/Makefile | 3 -- > stubdom/newlib.patch | 22 ------------- > tools/libxc/xg_private.h | 4 --- > tools/pygrub/src/pygrub | 35 +++++++-------------- > tools/python/xen/xend/XendNode.py | 10 ------ > tools/python/xen/xend/arch.py | 1 - > tools/python/xen/xend/image.py | 56 ---------------------------------- > tools/python/xen/xend/server/pciif.py | 2 +- > tools/xm-test/lib/XmTestLib/arch.py | 14 ++------- > tools/xm-test/lib/XmTestReport/arch.py | 4 --- > 11 files changed, 15 insertions(+), 143 deletions(-) > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel
On 12/06/2013 09:45 AM, Ian Campbell wrote:> On Thu, 2013-12-05 at 22:09 +0100, Olaf Hering wrote: >> Remove a few more occurrences of ia64 from the sources. > Thanks. As you''ll have seen from George''s development updates we are now > well into code freeze and close to an rc0 for 4.4. > > So every patch needs to come with some sort of justification for why it > should be accepted for 4.4 (or have an explicit note indicating that it > is 4.5 material). > > In this case although removing code seems harmless enough it does risk > causing build failures, or in the case of the python stuff, runtime > exceptions. I don''t think the benefits outweigh the risks for 4.4. > George? > > We also have a policy these days of CCing the folks listed in > MAINTAINERS. You might find ./scripts/get_maintainers.pl useful. > > BTW, George while I have you attention -- do you have a standard link > which I can direct people to regarding the freeze exception > considerations (the "#1 an awesome releases stuff") and the methodology > which I''ve seen you deploy in various threads. Or if not a standard link > a particular instance which is especially illustrative?Hmm, not yet -- I''ll put it on the "roadmap" page. -George
On Fri, Dec 6, 2013 at 9:45 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:> On Thu, 2013-12-05 at 22:09 +0100, Olaf Hering wrote: >> Remove a few more occurrences of ia64 from the sources. > > Thanks. As you''ll have seen from George''s development updates we are now > well into code freeze and close to an rc0 for 4.4. > > So every patch needs to come with some sort of justification for why it > should be accepted for 4.4 (or have an explicit note indicating that it > is 4.5 material). > > In this case although removing code seems harmless enough it does risk > causing build failures, or in the case of the python stuff, runtime > exceptions. I don''t think the benefits outweigh the risks for 4.4. > George?I concur. -George