|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] xenstore watch not working under 32 bit domU (xen stable
On Mon, 2010-11-22 at 14:53 +0300, Vasiliy G Tolstov wrote:
> Hello. Can You helps me, i'm try to investigate why under 64 bit domU
> this kernel module work's correct, but under 686 watch does not work:
Anybody check this?
More simple example, from balloon.c driver
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/mm.h>
#include <linux/bootmem.h>
#include <linux/pagemap.h>
#include <linux/highmem.h>
#include <linux/mutex.h>
#include <linux/list.h>
#include <linux/sysdev.h>
#include <linux/swap.h>
#include <asm/page.h>
#include <asm/pgalloc.h>
#include <asm/pgtable.h>
#include <asm/uaccess.h>
#include <asm/tlb.h>
#include <asm/e820.h>
#include <asm/xen/hypervisor.h>
#include <asm/xen/hypercall.h>
#include <xen/xen.h>
#include <xen/interface/xen.h>
#include <xen/interface/memory.h>
#include <xen/xenbus.h>
#include <xen/features.h>
#include <xen/page.h>
static struct xenbus_watch target_watch =
{
.node = "data"
};
/* React to a change in the target key */
static void watch_target(struct xenbus_watch *watch,
const char **vec, unsigned int len)
{
char *cmd;
int err;
printk(KERN_ERR "watch_target\n");
}
static int balloon_init_watcher(struct notifier_block *notifier,
unsigned long event,
void *data)
{
int err;
printk(KERN_ERR "init_watcher\n");
err = register_xenbus_watch(&target_watch);
if (err)
printk(KERN_ERR "Failed to set balloon watcher\n");
return NOTIFY_DONE;
}
static struct notifier_block xenstore_notifier;
static int __init balloon_init(void)
{
printk(KERN_ERR "init\n");
target_watch.callback = watch_target;
xenstore_notifier.notifier_call = balloon_init_watcher;
register_xenstore_notifier(&xenstore_notifier);
return 0;
}
subsys_initcall(balloon_init);
static void balloon_exit(void)
{
printk(KERN_ERR "exit\n");
return;
}
module_exit(balloon_exit);
MODULE_LICENSE("GPL");
Watch not WORK! Compile with make file
obj-m += xenmgm.o
KDIR := /lib/modules/$(shell uname -r)
PWD := $(shell pwd)
all:
$(MAKE) -C $(KDIR)/build SUBDIRS=$(PWD) M=$(PWD) modules
clean:
$(MAKE) -C $(KDIR)/build SUBDIRS=$(PWD) M=$(PWD) clean
rm -f modules.order Module.*
install:
mkdir -p $(KDIR)/kernel/drivers/xen/xenmgm/
install -m 0644 -o root xenmgm.ko $(KDIR)/kernel/drivers/xen/xenmgm/
depmod -q
I think, that is becouse i compiled module and not in kernel. Can
somebody check this? (use stable-2.6.32.x commit diff
b92d1ec0a86acd2dfe14d732c6a9304aae0ccf26)
kernel config in attached file
2.6.32.config
Description: Text Data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: [Xen-devel] xenstore watch not working under 32 bit domU (xen stable 2.6.32 from jeremy git tree),
Vasiliy G Tolstov <=
|
|
|
|
|