[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XenPPC] [xenppc-unstable] [TOOLS][POWERPC] use python "quad" encoding for 2 cell devtree values
This patch is not yet in our tree. I am getting a little tired of doing this. Maria Butrico <internet or sametime: butrico@xxxxxxxxxx; Notes: Maria Butrico/Watson/IBM> Jimi Xenidis <jimix@xxxxxxxxxx .com> To Orran Y Krieger/Watson/IBM@IBMUS, 10/18/2006 04:40 Maria Butrico/Watson/IBM@IBMUS, PM apw@xxxxxxxxxxxxxxxxxxxxxxx cc XenPPC-devel <xen-ppc-devel@xxxxxxxxxxxxxxxxxxx> Subject Re: [XenPPC] [xenppc-unstable] [TOOLS][POWERPC] use python "quad" encoding for 2 cell devtree values The following changeset should fix the issue with DomU >=2G where our python devtree code can only handle ints and math from a 2G value promotes the type to long which before this patch we could not encode. Please test on larger systems. -JX On Oct 18, 2006, at 4:20 PM, Xen patchbot-xenppc-unstable wrote: > # HG changeset patch > # User Jimi Xenidis <jimix@xxxxxxxxxxxxxx> > # Node ID d18a0c0b77d7004631559d4e2f9d31744fe9b34a > # Parent ece7037c72c6b7944ede2261ec1fe99c1489cff4 > [TOOLS][POWERPC] use python "quad" encoding for 2 cell devtree values > When creating a 2G DomU pyhton chokes when it sees a long type. If a > value is of type long, or promoted to long it should be "packed" as a > quad. > > Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx> > --- > tools/python/xen/xend/FlatDeviceTree.py | 16 +++++++++------- > 1 files changed, 9 insertions(+), 7 deletions(-) > > diff -r ece7037c72c6 -r d18a0c0b77d7 tools/python/xen/xend/ > FlatDeviceTree.py > --- a/tools/python/xen/xend/FlatDeviceTree.py Wed Oct 18 11:29:57 > 2006 -0400 > +++ b/tools/python/xen/xend/FlatDeviceTree.py Wed Oct 18 16:07:33 > 2006 -0400 > @@ -37,8 +37,10 @@ def _bincat(seq, separator=''): > '''Concatenate the contents of seq into a bytestream.''' > strs = [] > for item in seq: > - if type(item) == type(0): > + if isinstance(item, int): > strs.append(struct.pack(">I", item)) > + elif isinstance(item, long): > + strs.append(struct.pack(">Q", item)) > else: > try: > strs.append(item.to_bin()) > @@ -287,9 +289,9 @@ def build(imghandler): > root.addprop('compatible', 'Momentum,Maple\0') > > xen = root.addnode('xen') > - xen.addprop('start-info', 0, 0x3ffc000, 0, 0x1000) > + xen.addprop('start-info', long(0x3ffc000), long(0x1000)) > xen.addprop('version', 'Xen-3.0-unstable\0') > - xen.addprop('reg', 0, imghandler.vm.domid, 0, 0) > + xen.addprop('reg', long(imghandler.vm.domid), long(0)) > xen.addprop('domain-name', imghandler.vm.getName() + '\0') > xencons = xen.addnode('console') > xencons.addprop('interrupts', 1, 0) > @@ -301,14 +303,14 @@ def build(imghandler): > > # RMA node > rma = root.addnode('memory@0') > - rma.addprop('reg', 0, 0, 0, rma_bytes) > + rma.addprop('reg', long(0), long(rma_bytes)) > rma.addprop('device_type', 'memory\0') > > # all the rest in a single node > remaining = totalmem - rma_bytes > if remaining > 0: > mem = root.addnode('memory@1') > - mem.addprop('reg', 0, rma_bytes, 0, remaining) > + mem.addprop('reg', long(rma_bytes), long(remaining)) > mem.addprop('device_type', 'memory\0') > > # add CPU nodes > @@ -346,8 +348,8 @@ def build(imghandler): > chosen.addprop('interrupt-controller', xen.get_phandle()) > chosen.addprop('bootargs', imghandler.cmdline + '\0') > # xc_linux_load.c will overwrite these 64-bit properties later > - chosen.addprop('linux,initrd-start', 0, 0) > - chosen.addprop('linux,initrd-end', 0, 0) > + chosen.addprop('linux,initrd-start', long(0)) > + chosen.addprop('linux,initrd-end', long(0)) > > if 1: > f = file('/tmp/domU.dtb', 'w') > > _______________________________________________ > Xen-ppc-devel mailing list > Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-ppc-devel _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |