From: Jody Belka <lists-xen@pimb.org>
To: xen-devel@lists.xensource.com
Subject: [PATCH 5/4] ioports: iopif.py missing from last patch
Date: Sun, 6 Nov 2005 21:09:46 +0100 [thread overview]
Message-ID: <20051106200946.GO5268@pimb.org> (raw)
In-Reply-To: <20051106014026.GN5268@pimb.org>
[-- Attachment #1: Type: text/plain, Size: 140 bytes --]
5/4
Possibly i shouldn't finish up patches and send them off
in the early hours of the morning :)
--
Jody Belka
knew (at) pimb (dot) org
[-- Attachment #2: ioport-5.patch --]
[-- Type: text/plain, Size: 3360 bytes --]
# HG changeset patch
# User jmb@artemis.home.pimb.org
# Node ID 75f02d1da63baae6c51b6a51bb53034f639ec40a
# Parent e2b5c74938f64d55609a690c22a18c3875b21d04
Somehow iopif.py got missed out of the previous commit. duh.
Signed-off-by: Jody Belka <knew (at) pimb (dot) org>
diff -r e2b5c74938f6 -r 75f02d1da63b tools/python/xen/xend/server/iopif.py
--- /dev/null Sun Nov 6 01:15:44 2005
+++ b/tools/python/xen/xend/server/iopif.py Sun Nov 6 20:02:55 2005
@@ -0,0 +1,86 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of version 2.1 of the GNU Lesser General Public
+# License as published by the Free Software Foundation.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#============================================================================
+# Copyright (C) 2004, 2005 Mike Wray <mike.wray@hp.com>
+# Copyright (C) 2005 XenSource Ltd
+# Copyright (C) 2005 Jody Belka
+#============================================================================
+
+
+import types
+
+import xen.lowlevel.xc;
+
+from xen.xend import sxp
+from xen.xend.XendError import VmError
+
+from xen.xend.server.DevController import DevController
+
+
+xc = xen.lowlevel.xc.new()
+
+
+def parse_ioport(val):
+ """Parse an i/o port field.
+ """
+ if isinstance(val, types.StringType):
+ radix = 10
+ if val.startswith('0x') or val.startswith('0X'):
+ radix = 16
+ v = int(val, radix)
+ else:
+ v = val
+ return v
+
+
+class IOPortsController(DevController):
+
+ def __init__(self, vm):
+ DevController.__init__(self, vm)
+
+
+ def getDeviceDetails(self, config):
+ """@see DevController.getDeviceDetails"""
+
+ def get_param(field):
+ try:
+ val = sxp.child_value(config, field)
+
+ if not val:
+ raise VmError('ioports: Missing %s config setting' % field)
+
+ return parse_ioport(val)
+ except:
+ raise VmError('ioports: Invalid config setting %s: %s' %
+ (field, val))
+
+ io_from = get_param('from')
+ io_to = get_param('to')
+
+ if io_to < io_from or io_to >= 65536:
+ raise VmError('ioports: Invalid i/o range: %s - %s' %
+ (io_from, io_to))
+
+ rc = xc.domain_ioport_permission(dom = self.getDomid(),
+ first_port = io_from,
+ nr_ports = io_to - io_from + 1,
+ allow_access = True)
+
+ if rc < 0:
+ #todo non-fatal
+ raise VmError(
+ 'ioports: Failed to configure legacy i/o range: %s - %s' %
+ (io_from, io_to))
+
+ return (dev, {}, {})
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
prev parent reply other threads:[~2005-11-06 20:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-06 1:40 [PATCH 0/4] fleshing out the ioport support lists-xen
2005-11-06 1:43 ` [PATCH 1/4] ioports: disable ioports in dom0 at boot-time lists-xen
2005-11-06 1:44 ` [PATCH 2/4] ioports: libxc support lists-xen
2005-11-06 1:45 ` [PATCH 3/4] ioports: xen.lowlevel.xc support lists-xen
2005-11-06 1:46 ` [PATCH 4/4] ioports: xend/xm support lists-xen
2005-11-06 20:09 ` Jody Belka [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20051106200946.GO5268@pimb.org \
--to=lists-xen@pimb.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.