henning-schild-work / ivshmem-guest-code Goto Github PK
View Code? Open in Web Editor NEWcloned from https://gitorious.org/nahanni/
License: Other
cloned from https://gitorious.org/nahanni/
License: Other
###kvm_ivshmem.c
static irqreturn_t kvm_ivshmem_interrupt (int irq, void *dev_instance)
{
struct kvm_ivshmem_device * dev = dev_instance;
u32 status;
if (unlikely(dev == NULL))
return IRQ_NONE;
status = readl(dev->regs + IntrStatus);
if (!status || (status == 0xFFFFFFFF))
return IRQ_NONE;
.........
}
I found the same interrupt handle is defined no matter what msi and pin. when a interrupt is coming , kvm_ivshmem_interrupt will Determine if the interrupt actually occurred by intrStatus.but msi does not use intrStatus. if it is msi , interrupt handle will not respose it
I started ivshmem_server after compiling as
make
./ivshmem_server
Then I started my vm guest using (using ubuntu 16.04 lts as image)
qemu-system-x86_64 -enable-kvm -smp 2 -m 1024 -drive file=ubuntu.img,cache=writeback -chardev socket,path=/tmp/ivshmem_socket,id=ivshmemid -device ivshmem,chardev=ivshmemid,size=1,msi=off
It throws this error -
incompatible version, you are connecting to a ivshmem-server using a different protocol please check your setup
How to resolve this?
Are there any groups/forums where I can ask all these doubts?
I wanted to know if this handles the functionality that in the shared memory region there can be the problem of multiple read and write.
How to provide the functionality of dividing shared memory region into regions for each VM and then have communication between different VMs?
In your thesis there is a proposal that we can use VM ids as an offset for separate memory regions.I just wanted to know if that has been implemented and if not any suggestion in that direction will be welcome.
I've added an option to use a regular (truly persistent) file as IVHSMEM backing store. I did this from code pulled several months ago from gitorious before its move here.
Is this the right project to work with, or should I post changes to the project at
Hello,
I know it's been a while now but i am very interested in this work.
I have been searching for a way for a communication through shared memory between minimal VMs that only contain a preconfigured Linux and an agent with execution runtime.
Therefore, your work here sounded really related to my research and it would be great if you can help me answer some of my concernings:
1- is there an interface or a library to use your uio_ivshmem kernel module in VMs with preconfigured minimal Linux?
2- is it necessary for the extra doorbell server to enable multiple VMs to communicate through a specific shared memory?
Unfortunately, i couldn't find any support or usefull examples for the qemu ivshmem feature and it seems to be deprecated and/or not completely supported anymore. The DPDK remove the ivshmem library after DPDK version 16.04.
Thanks again and hope to hear from you soon :)
Best regards
In this file ivshmem-guest-code/tests/Interrupts/VM/getident.c
In main()
if (argc < 3) {
fprintf(stderr, "USAGE: guestlock <ioctl_arg>\n");
ivshmem_print_opts();
exit(-1);
}
In fprintf() at line 26 it should be USAGE: getident ..... instead of guestlock
Please check
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.