From: Christian E. <ehr...@li...> - 2008-01-11 12:15:34
|
Subject: [PATCH] fill kvm_callback with arch specific dcr_read/dcr_write callbacks v2 From: Christian Ehrhardt <ehr...@li...> This Patch adds the callback assignment and handlers for powerpc_dcr_read and ppc_dcr_write which are called from libkvm. This is the part of the patch that changes already submitted code. Changes in v2: The function arguments of powerpc_dcr_read/write changed. Since main-ppc.c is not yet upstream when you check out from kvm-userspace.git I didn't see it. But Avi replied with "Applied all, thanks." to the three patches from 01/09/2008 bringing main-ppc.c into kvm-userspace this v2 patch includes the needed code for that file too. Signed-off-by: Christian Ehrhardt <ehr...@li...> libkvm/libkvm-powerpc.c | 8 ++++---- libkvm/libkvm.h | 4 ++-- qemu/qemu-kvm.c | 4 ++++ qemu/qemu-kvm.h | 5 +++++ user/main-ppc.c | 4 ++-- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/libkvm/libkvm-powerpc.c b/libkvm/libkvm-powerpc.c --- a/libkvm/libkvm-powerpc.c +++ b/libkvm/libkvm-powerpc.c @@ -31,11 +31,11 @@ int handle_dcr(struct kvm_run *run, kvm int ret = 0; if (run->dcr.is_write) - ret = kvm->callbacks->powerpc_dcr_write(kvm, - run->dcr.dcrn,run->dcr.data); + ret = kvm->callbacks->powerpc_dcr_write(run->dcr.dcrn, + run->dcr.data); else - ret = kvm->callbacks->powerpc_dcr_read(kvm, - run->dcr.dcrn, &(run->dcr.data)); + ret = kvm->callbacks->powerpc_dcr_read(run->dcr.dcrn, + &(run->dcr.data)); return ret; } diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h --- a/libkvm/libkvm.h +++ b/libkvm/libkvm.h @@ -66,8 +66,8 @@ struct kvm_callbacks { int (*pre_kvm_run)(void *opaque, int vcpu); int (*tpr_access)(void *opaque, int vcpu, uint64_t rip, int is_write); #if defined(__powerpc__) - int (*powerpc_dcr_read)(kvm_context_t kvm, uint32_t dcrn, uint32_t *data); - int (*powerpc_dcr_write)(kvm_context_t kvm, uint32_t dcrn, uint32_t data); + int (*powerpc_dcr_read)(uint32_t dcrn, uint32_t *data); + int (*powerpc_dcr_write)(uint32_t dcrn, uint32_t data); #endif }; diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c --- a/qemu/qemu-kvm.c +++ b/qemu/qemu-kvm.c @@ -533,6 +533,10 @@ static struct kvm_callbacks qemu_kvm_ops #ifdef TARGET_I386 .tpr_access = handle_tpr_access, #endif +#ifdef TARGET_PPC + .powerpc_dcr_read = handle_powerpc_dcr_read, + .powerpc_dcr_write = handle_powerpc_dcr_write, +#endif }; int kvm_qemu_init() diff --git a/qemu/qemu-kvm.h b/qemu/qemu-kvm.h --- a/qemu/qemu-kvm.h +++ b/qemu/qemu-kvm.h @@ -48,6 +48,11 @@ int handle_tpr_access(void *opaque, int int handle_tpr_access(void *opaque, int vcpu, uint64_t rip, int is_write); +#ifdef TARGET_PPC +int handle_powerpc_dcr_read(uint32_t dcrn, uint32_t *data); +int handle_powerpc_dcr_write(uint32_t dcrn, uint32_t data); +#endif + #define ALIGN(x, y) (((x)+(y)-1) & ~((y)-1)) #define BITMAP_SIZE(m) (ALIGN(((m)>>TARGET_PAGE_BITS), HOST_LONG_BITS) / 8) diff --git a/user/main-ppc.c b/user/main-ppc.c --- a/user/main-ppc.c +++ b/user/main-ppc.c @@ -106,14 +106,14 @@ static int test_mem_write(void *opaque, return 0; } -static int test_dcr_read(kvm_context_t kvm, uint32_t dcrn, uint32_t *data) +static int test_dcr_read(uint32_t dcrn, uint32_t *data) { printf("%s: dcrn %04X\n", __func__, dcrn); *data = 0; return 0; } -static int test_dcr_write(kvm_context_t kvm, uint32_t dcrn, uint32_t data) +static int test_dcr_write(uint32_t dcrn, uint32_t data) { printf("%s: dcrn %04X data %04X\n", __func__, dcrn, data); return 0; |
From: Avi K. <av...@qu...> - 2008-01-13 09:22:25
|
Christian Ehrhardt wrote: > Subject: [PATCH] fill kvm_callback with arch specific dcr_read/dcr_write callbacks v2 > From: Christian Ehrhardt <ehr...@li...> > > This Patch adds the callback assignment and handlers for powerpc_dcr_read > and ppc_dcr_write which are called from libkvm. > This is the part of the patch that changes already submitted code. > Changes in v2: > The function arguments of powerpc_dcr_read/write changed. Since main-ppc.c > is not yet upstream when you check out from kvm-userspace.git I didn't see it. > But Avi replied with "Applied all, thanks." to the three patches from > 01/09/2008 bringing main-ppc.c into kvm-userspace this v2 patch includes the > needed code for that file too. > Sorry, I forgot to push after applying. I'll apply this incrementally. -- error compiling committee.c: too many arguments to function |
From: Avi K. <av...@qu...> - 2008-01-13 09:24:11
|
Avi Kivity wrote: > Christian Ehrhardt wrote: >> Subject: [PATCH] fill kvm_callback with arch specific >> dcr_read/dcr_write callbacks v2 >> From: Christian Ehrhardt <ehr...@li...> >> >> This Patch adds the callback assignment and handlers for >> powerpc_dcr_read >> and ppc_dcr_write which are called from libkvm. >> This is the part of the patch that changes already submitted code. >> Changes in v2: >> The function arguments of powerpc_dcr_read/write changed. Since >> main-ppc.c >> is not yet upstream when you check out from kvm-userspace.git I >> didn't see it. >> But Avi replied with "Applied all, thanks." to the three patches from >> 01/09/2008 bringing main-ppc.c into kvm-userspace this v2 patch >> includes the >> needed code for that file too. >> > > Sorry, I forgot to push after applying. I'll apply this incrementally. > Or rather, please send a new patch. I'd rather not risk mucking with code I can't compile. -- error compiling committee.c: too many arguments to function |
From: Christian E. <ehr...@li...> - 2008-01-14 08:55:42
|
Avi Kivity wrote: > Avi Kivity wrote: >> Christian Ehrhardt wrote: >>> Subject: [PATCH] fill kvm_callback with arch specific >>> dcr_read/dcr_write callbacks v2 >>> From: Christian Ehrhardt <ehr...@li...> >>> >>> This Patch adds the callback assignment and handlers for >>> powerpc_dcr_read >>> and ppc_dcr_write which are called from libkvm. >>> This is the part of the patch that changes already submitted code. >>> Changes in v2: >>> The function arguments of powerpc_dcr_read/write changed. Since >>> main-ppc.c >>> is not yet upstream when you check out from kvm-userspace.git I >>> didn't see it. >>> But Avi replied with "Applied all, thanks." to the three patches from >>> 01/09/2008 bringing main-ppc.c into kvm-userspace this v2 patch >>> includes the >>> needed code for that file too. >>> >> Sorry, I forgot to push after applying. I'll apply this incrementally. >> > > Or rather, please send a new patch. I'd rather not risk mucking with > code I can't compile. I wrote it a bit misleading, this patch is already the merge of both, so because version 1 is not in the repository you can just add this one which patches all referred issues at once. I tested it - it still works and matches todays head of kvm-userspace.git. To be sure I'll resubmit it so you don't need to go through your old mails. -- Grüsse / regards, Christian Ehrhardt IBM Linux Technology Center, Open Virtualization |
From: Christian E. <ehr...@li...> - 2008-01-14 08:57:17
|
Subject: [PATCH][RESEND] fill kvm_callback with arch specific dcr_read/dcr_write callbacks v2 From: Christian Ehrhardt <ehr...@li...> This Patch adds the callback assignment and handlers for powerpc_dcr_read and ppc_dcr_write which are called from libkvm. This is the part of the patch that changes already submitted code. Changes in v2: This is version has the needed changes to main-ppc.c function prototypes merged as discussed. Signed-off-by: Christian Ehrhardt <ehr...@li...> libkvm/libkvm-powerpc.c | 8 ++++---- libkvm/libkvm.h | 4 ++-- qemu/qemu-kvm.c | 4 ++++ qemu/qemu-kvm.h | 5 +++++ user/main-ppc.c | 4 ++-- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/libkvm/libkvm-powerpc.c b/libkvm/libkvm-powerpc.c --- a/libkvm/libkvm-powerpc.c +++ b/libkvm/libkvm-powerpc.c @@ -31,11 +31,11 @@ int handle_dcr(struct kvm_run *run, kvm int ret = 0; if (run->dcr.is_write) - ret = kvm->callbacks->powerpc_dcr_write(kvm, - run->dcr.dcrn,run->dcr.data); + ret = kvm->callbacks->powerpc_dcr_write(run->dcr.dcrn, + run->dcr.data); else - ret = kvm->callbacks->powerpc_dcr_read(kvm, - run->dcr.dcrn, &(run->dcr.data)); + ret = kvm->callbacks->powerpc_dcr_read(run->dcr.dcrn, + &(run->dcr.data)); return ret; } diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h --- a/libkvm/libkvm.h +++ b/libkvm/libkvm.h @@ -66,8 +66,8 @@ struct kvm_callbacks { int (*pre_kvm_run)(void *opaque, int vcpu); int (*tpr_access)(void *opaque, int vcpu, uint64_t rip, int is_write); #if defined(__powerpc__) - int (*powerpc_dcr_read)(kvm_context_t kvm, uint32_t dcrn, uint32_t *data); - int (*powerpc_dcr_write)(kvm_context_t kvm, uint32_t dcrn, uint32_t data); + int (*powerpc_dcr_read)(uint32_t dcrn, uint32_t *data); + int (*powerpc_dcr_write)(uint32_t dcrn, uint32_t data); #endif }; diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c --- a/qemu/qemu-kvm.c +++ b/qemu/qemu-kvm.c @@ -533,6 +533,10 @@ static struct kvm_callbacks qemu_kvm_ops #ifdef TARGET_I386 .tpr_access = handle_tpr_access, #endif +#ifdef TARGET_PPC + .powerpc_dcr_read = handle_powerpc_dcr_read, + .powerpc_dcr_write = handle_powerpc_dcr_write, +#endif }; int kvm_qemu_init() diff --git a/qemu/qemu-kvm.h b/qemu/qemu-kvm.h --- a/qemu/qemu-kvm.h +++ b/qemu/qemu-kvm.h @@ -48,6 +48,11 @@ int handle_tpr_access(void *opaque, int int handle_tpr_access(void *opaque, int vcpu, uint64_t rip, int is_write); +#ifdef TARGET_PPC +int handle_powerpc_dcr_read(uint32_t dcrn, uint32_t *data); +int handle_powerpc_dcr_write(uint32_t dcrn, uint32_t data); +#endif + #define ALIGN(x, y) (((x)+(y)-1) & ~((y)-1)) #define BITMAP_SIZE(m) (ALIGN(((m)>>TARGET_PAGE_BITS), HOST_LONG_BITS) / 8) diff --git a/user/main-ppc.c b/user/main-ppc.c --- a/user/main-ppc.c +++ b/user/main-ppc.c @@ -106,14 +106,14 @@ static int test_mem_write(void *opaque, return 0; } -static int test_dcr_read(kvm_context_t kvm, uint32_t dcrn, uint32_t *data) +static int test_dcr_read(uint32_t dcrn, uint32_t *data) { printf("%s: dcrn %04X\n", __func__, dcrn); *data = 0; return 0; } -static int test_dcr_write(kvm_context_t kvm, uint32_t dcrn, uint32_t data) +static int test_dcr_write(uint32_t dcrn, uint32_t data) { printf("%s: dcrn %04X data %04X\n", __func__, dcrn, data); return 0; |
Re: [kvm-devel] [PATCH][RESEND] fill kvm_callback with arch
specific dcr_read/dcr_write callbacks v2
From: Avi K. <av...@qu...> - 2008-01-15 14:09:21
|
Christian Ehrhardt wrote: > Subject: [PATCH][RESEND] fill kvm_callback with arch specific dcr_read/dcr_write callbacks v2 > From: Christian Ehrhardt <ehr...@li...> > > This Patch adds the callback assignment and handlers for powerpc_dcr_read > and ppc_dcr_write which are called from libkvm. > This is the part of the patch that changes already submitted code. > Changes in v2: > This is version has the needed changes to main-ppc.c function prototypes > merged as discussed. > Applied, thanks. -- error compiling committee.c: too many arguments to function |