[Xen-devel] How do I print all hypercalls as they come in?
Hello, I am trying to compile a xen build that will simply print all the hypercalls as they come into the hypervisor. Specifically, I'm looking for the hypercall handler function so that I can insert a simple printk statement. I'm having trouble because I can't find a doc that describes what most of the modules found in xen/arch/x86 and x86_64 do...am I right in thinking that the do_platform_op function in platform_hypercall.c serves as the entry point for all hypercalls? Thank You, -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] How do I print all hypercalls as they come in?
Andrew, Thanks for your help. I am trying to log the following hypercalls to dmesg as they come in: -HYPERVISOR_grant_table_op() - HYPERVISOR_mmu_update() - HYPERVISOR_set_trap_table() Are there single handlers for these as well? Thanks, On Thu, Feb 5, 2015 at 4:20 PM, Andrew Cooper wrote: > On 05/02/15 21:16, D'Mita Levy wrote: > > Hello, > > I am trying to compile a xen build that will simply print all the > hypercalls as they come into the hypervisor. Specifically, I'm looking for > the hypercall handler function so that I can insert a simple printk > statement. > > > The logging rate will easily overwhelm your serial connection. What is > the actual piece of information you are after? > > I'm having trouble because I can't find a doc that describes what most > of the modules found in xen/arch/x86 and x86_64 do...am I right in thinking > that the do_platform_op function in platform_hypercall.c serves as the > entry point for all hypercalls? > > > do_platform_op() is the handler for __HYPERCALL_platform_op which is one > single hypercall. > > The actual hypercall root handler is the 'hypercall' symbol in > arch/x86/x86_64/entry.S > > ~Andrew > -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] How do I print all hypercalls as they come in?
Andrew, My apologies if my logic is flawed or what I am describing is convoluted - I am a student doing research into Xen and trying my best to grasp what is going on, also my ASM is subpar. I have read a paper on system call interception ( https://hal.inria.fr/inria-00431031/PDF/Technical_Report_Syscall_Interception.pdf ) - page 10 describes disabling fast system calls by commenting out some code in the do_set_trap_table() function and logging the calls along with other guest info. My concern is that this may be a dated methodology as the paper was written in 2009 but also that this will only work for x86 and not x86_64 systems; including possible loss of performance since fast calls tend to run better on x86 series processor systems. My goal is to identify when a guest makes a hypercall requesting HYPERVISOR_..grant_table_op(), mmu_update(), set_trap_table(), essentially I would love to be able to say...if trapcode = xxx printk("Hypercall xxx\n") has occurred but I am unsure what would be a good route to do something like that. Thanks, D'Mita On Fri, Feb 6, 2015 at 10:23 AM, Andrew Cooper wrote: > On 06/02/15 15:17, D'Mita Levy wrote: > > Andrew, > > Thanks for your help. I am trying to log the following hypercalls to > dmesg as they come in: > > -HYPERVISOR_grant_table_op() > > - HYPERVISOR_mmu_update() > > - HYPERVISOR_set_trap_table() > > Are there single handlers for these as well? > > > The hypercall_table in arch/x86/x86_64/entry.S is the function pointer > dispatch table, and is indexed by hypercall number. > > ~Andrew > -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
[Xen-devel] How can I modify and test Xentrace
Hello, I have made a naive attempt at compiling a modified version of Xentrace using RELEASE-4.5.0. After executing #make tools successfully, I retrieved the binary found in the /xen/dist/install/usr/local/bin/xentrace and attempted to run that on Xenserver. I get the error: libxenctrl.so.4.5 cannot open shared object file: No such file or directory. I am obviously going about this the wrong way... what am I doing wrong? -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
[Xen-devel] Can Xen Project Hypervisor work in Xenserver?
Hello, Assuming one builds the Xen hypervisor avaialable from the http://www.xenproject.org/ respository and then uses it to replace the hypervisor in the Citrix Xenserver /boot directory - will this work. Rather, is it possible to build and mondify the xenproject hypervisor and use it to replace the Citrix Xenserver or would one have to get the code for Xenserver and compile that instead? Thanks, D'Mita -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
[Xen-devel] What is the difference between XenAPI and XenAPI-Extensions
Hello, I am a student at FIU working on a school project so I am a not very experienced. Right now I am trying to use the Xen API code I found at https://github.com/xenserver/xenadmin to Snapshot a VM. The project I have so far uses the XenAPI.VM functions and I have been successful in starting and stopping a VM. As an example I perform those actions like this: XenRef vmRef = VM.get_by_uuid(_session, vmUUID); VM.start(_session, vmRef.opaque_ref, false, true); My mentors would like me to try and clone a VM. I have copied the Run() function from VMSnapshotCreateAction.cs and I tried to make a snapshot with the following code: XenRef vmRef = VM.get_by_uuid(_session, GetUUIDByName(vmName)); SnapshotType m_Type = SnapshotType.DISK; //hardcoded snapshot type string snapshot_name = "Testing_Snapshot"; XenAPI.VM.async_snapshot(_session, vmRef.opaque_ref, snapshot_name); I have two VM's. A Windows XP SP3 VM (No actual OS installed, just the base VM) and an Ubuntu 14.04 Trusty Tahr VM (installed OS and running). The Windows XP SP3 Snapshot gets created successfully but the Ubuntu snapshot does not. Upon furthure inspection I notice that XenAPI.VM works for start/stop but XenAPI-Extensions.VM is needed to make snapshots - based on VMSnapshotCreateAction.cs Why is it that I need XenAPI-Extensions.VM to createa vm reference to make snapshots and cannot use XenAPI.VM? What is the difference between XenAPI and Extensions? Finally, is it possible just to pull out the code so that I can have the core functionality; it seems adding it to my simple WPF project requires a ton of dependencies and references Thanks, D'Mita ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
[Xen-devel] Adding Xen development headers to XenServer
Is it possible to add Xen development headers to XenServer? I would like to do a little bit of VM introspection with LibVMI on XenServer. I have all the other dependencies installed (glib, flex, etc.) just missing the ones for Xen...Any help is greatly appreciated. Thanks, D'Mita -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
[Xen-devel] What is the correct way to enable the Base repositories on XenServer Dundee?
Im trying to enable the yum repos on XenServer Dundee so I can install a few packages (git, make, dev stuff etc) and do some experimental development. I have enabled the base repository as such CentOS-7.0.1406.el7.centos.2.5 Base enabled: 0 CentOS-7 - Debuginfodisabled [base] name=CentOS-$releasever - Base #baseurl= http://www.uk.xensource.com/linux/distros/CentOS/7.0.1406/os/x86_64/ mirrorlist= http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ exclude=kernel kernel-abi-whitelists kernel-debug kernel-debug-devel kernel-devel kernel-doc kernel-tools kernel-tools-libs kernel-tools-libs-devel linux-firmware biosdevname centos-release systemd* stunnel kexec-tools gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 But I get the following error: #yum update Cannot find a valid baseurl for repo: base/7.0.1406.el7.centos.2.5/x86_64 My linux is mediocre at best...does anyone know how to enable the base repository correctly? Thanks, D'Mita -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] What is the correct way to enable the Base repositories on XenServer Dundee?
On Tue, Oct 27, 2015 at 11:02 AM, D'Mita Levy wrote: > Im trying to enable the yum repos on XenServer Dundee so I can install a > few packages (git, make, dev stuff etc) and do some experimental > development. > > I have enabled the base repository as such > > CentOS-7.0.1406.el7.centos.2.5 Base enabled: 0 > CentOS-7 - Debuginfodisabled > > [base] > name=CentOS-$releasever - Base > #baseurl= > http://www.uk.xensource.com/linux/distros/CentOS/7.0.1406/os/x86_64/ > mirrorlist= > http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra > #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ > exclude=kernel kernel-abi-whitelists kernel-debug kernel-debug-devel > kernel-devel kernel-doc kernel-tools kernel-tools-libs > kernel-tools-libs-devel linux-firmware biosdevname centos-release systemd* > stunnel kexec-tools > gpgcheck=1 > enabled=1 > gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 > > But I get the following error: > > #yum update > Cannot find a valid baseurl for repo: base/7.0.1406.el7.centos.2.5/x86_64 > > My linux is mediocre at best...does anyone know how to enable the base > repository correctly? > > Thanks, > D'Mita > > -- > D'Mita Levy > Cyber Fellow, Applied Research Center > Florida International University > > Please remove this...I sent it to the wrong mailing list... -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
[Xen-devel] Is it possible to create a domain with privileges similar to dom0
Is it possible to create a domain that has increased privilege levels that are similar to dom0? I am interested in installing a VM and have it perform certain tasks that will require it to have a higher privilege level than domU guests. -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
[Xen-devel] Is there a way to get a VM base (starting) address?
I am interested in locating a VM's base (starting) address in memory in relation to other VM's running on the same host - is there a way to do this through Xen or the XenAPI? Thanks, D'Mita -- D'Mita Levy Cyber Fellow, Applied Research Center Florida International University ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel