Re: [Xen-devel] Re: [Qemu-devel] [PATCH V11 00/15] Xen device model support

2011-03-22 Thread Anthony PERARD
On Tue, Mar 22, 2011 at 14:23, Alexander Graf ag...@suse.de wrote:
 On 03/01/2011 07:35 PM, anthony.per...@citrix.com wrote:

 From: Anthony PERARDanthony.per...@citrix.com

 Hi all,

 Here is the few change since the V10:

   - Add braces for blocks with single statement in the clean-up patch;
   - the patch that builds Xen only for x86 have been removed, instead,
     xen_domainbuild is built with libhw and other Xen files are built for
 i386
     target only;
   - the redirection structure with function pointer have been removed,
 instead,
     there are few #define or static inline function use for the
 compatibility;

 ARGH!

 The point of the redirection structure was so I can plug in with xenner and
 replace all the xen calls with in-qemu versions. If you remove it, I'll have
 to put it back in in the xenner patch set :(.

 We need some sort of abstraction between calling xs_ functions and actually
 calling them. Wrapping all xs_ calls in static inlines would be fine for
 that, as would the indirect calling table.

As my series doesn't change a lot of things in the xen code, I think
it is better than you put it back in your patch set.

Regards,

-- 
Anthony PERARD



Re: [Xen-devel] Re: [Qemu-devel] [PATCH V11 00/15] Xen device model support

2011-03-22 Thread Alexander Graf

On 03/22/2011 03:47 PM, Anthony PERARD wrote:

On Tue, Mar 22, 2011 at 14:23, Alexander Grafag...@suse.de  wrote:

On 03/01/2011 07:35 PM, anthony.per...@citrix.com wrote:

From: Anthony PERARDanthony.per...@citrix.com

Hi all,

Here is the few change since the V10:

   - Add braces for blocks with single statement in the clean-up patch;
   - the patch that builds Xen only for x86 have been removed, instead,
 xen_domainbuild is built with libhw and other Xen files are built for
i386
 target only;
   - the redirection structure with function pointer have been removed,
instead,
 there are few #define or static inline function use for the
compatibility;

ARGH!

The point of the redirection structure was so I can plug in with xenner and
replace all the xen calls with in-qemu versions. If you remove it, I'll have
to put it back in in the xenner patch set :(.

We need some sort of abstraction between calling xs_ functions and actually
calling them. Wrapping all xs_ calls in static inlines would be fine for
that, as would the indirect calling table.

As my series doesn't change a lot of things in the xen code, I think
it is better than you put it back in your patch set.


Ok, I'll try to see if I can get things based on top of your patch set, 
then do actual code review.



Alex




Re: [Xen-devel] Re: [Qemu-devel] [PATCH V11 00/15] Xen device model support

2011-03-22 Thread Alexander Graf

On 03/22/2011 03:47 PM, Anthony PERARD wrote:

On Tue, Mar 22, 2011 at 14:23, Alexander Grafag...@suse.de  wrote:

On 03/01/2011 07:35 PM, anthony.per...@citrix.com wrote:

From: Anthony PERARDanthony.per...@citrix.com

Hi all,

Here is the few change since the V10:

   - Add braces for blocks with single statement in the clean-up patch;
   - the patch that builds Xen only for x86 have been removed, instead,
 xen_domainbuild is built with libhw and other Xen files are built for
i386
 target only;
   - the redirection structure with function pointer have been removed,
instead,
 there are few #define or static inline function use for the
compatibility;

ARGH!

The point of the redirection structure was so I can plug in with xenner and
replace all the xen calls with in-qemu versions. If you remove it, I'll have
to put it back in in the xenner patch set :(.

We need some sort of abstraction between calling xs_ functions and actually
calling them. Wrapping all xs_ calls in static inlines would be fine for
that, as would the indirect calling table.

As my series doesn't change a lot of things in the xen code, I think
it is better than you put it back in your patch set.


Hrm. This is on a SLES11SP1 system w/ Xen 4.0.1.


Alex


agraf@toonie:/dev/shm git clone 
git://xenbits.xen.org/people/aperard/qemu-dm.git

Initialized empty Git repository in /dev/shm/qemu-dm/.git/
remote: Counting objects: 74570, done.
remote: Compressing objects: 100% (15699/15699), done.
remote: Total 74570 (delta 59960), reused 73357 (delta 58769)
Receiving objects: 100% (74570/74570), 22.24 MiB | 1296 KiB/s, done.
Resolving deltas: 100% (59960/59960), done.
agraf@toonie:/dev/shm/qemu-dm git checkout origin/qemu-dm-v11
Note: moving to origin/qemu-dm-v11 which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b new_branch_name
HEAD is now at 47d548f... xen: Add Xen hypercall for sleep state in the 
cmos_s3 callback.

agraf@toonie:/dev/shm/qemu-dm ./configure --target-list=x86_64-softmmu
make -j
Install prefix/usr/local
BIOS directory/usr/local/share/qemu
binary directory  /usr/local/bin
config directory  /usr/local/etc
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path   /dev/shm/qemu-dm
C compilergcc
Host C compiler   gcc
CFLAGS-O2 -g
QEMU_CFLAGS   -Werror -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes 
-Wredundant-decls -Wall -Wundef -Wendif-labels -Wwrite-strings 
-Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all 
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security 
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration 
-Wold-style-definition -Wtype-limits

LDFLAGS   -Wl,--warn-common -m64 -g
make  make
install   install
host CPU  x86_64
host big endian   no
target list   x86_64-softmmu
tcg debug enabled no
Mon debug enabled no
gprof enabled no
sparse enabledno
strip binariesyes
profiler  no
static build  no
-Werror enabled   yes
SDL support   yes
curses supportyes
curl support  yes
check support no
mingw32 support   no
Audio drivers oss
Extra audio cards ac97 es1370 sb16 hda
Block whitelist
Mixer emulation   no
VNC TLS support   no
VNC SASL support  no
VNC JPEG support  yes
VNC PNG support   yes
VNC threadno
xen support   yes
brlapi supportno
bluez  supportno
Documentation yes
NPTL support  yes
GUEST_BASEyes
PIE user targets  no
vde support   no
IO thread no
Linux AIO support no
ATTR/XATTR support yes
Install blobs yes
KVM support   yes
fdt support   no
preadv supportyes
fdatasync yes
madvise   yes
posix_madvise yes
uuid support  yes
vhost-net support no
Trace backend nop
Trace output file trace-pid
spice support no
rbd support   no
xfsctl supportno
agraf@toonie:/dev/shm/qemu-dm make -j
  GEN   x86_64-softmmu/config-devices.mak
  GEN   config-all-devices.mak
  GEN   qemu-options.texi
  GEN   qemu-img-cmds.texi
  GEN   qemu-monitor.texi
  GEN   qemu-nbd.8
  GEN   qemu-tech.html
  GEN   config-host.h
  GEN   QMP/qmp-commands.txt
  GEN   trace.h
  GEN   qemu-options.def
  GEN   trace.c
  GEN   qemu-img-cmds.h
  GEN   qemu-img.1
  ASoptionrom/multiboot.o
  ASoptionrom/linuxboot.o
  Building optionrom/linuxboot.img
  Building optionrom/multiboot.img
  Building optionrom/linuxboot.raw
  Building optionrom/multiboot.raw
  Signing optionrom/multiboot.bin
  Signing optionrom/linuxboot.bin
  GEN   qemu-doc.html
  GEN   qemu.1
  CCqemu-nbd.o
  CCqemu-tool.o
  CCqemu-error.o
  CCosdep.o
  CCoslib-posix.o
  CCtrace.o
  CCcutils.o
  CCqemu-option.o
  CCmodule.o
  CCnbd.o
  CCblock.o
  CC

Re: [Xen-devel] Re: [Qemu-devel] [PATCH V11 00/15] Xen device model support

2011-03-22 Thread Alexander Graf

On 03/22/2011 04:40 PM, Alexander Graf wrote:

On 03/22/2011 03:47 PM, Anthony PERARD wrote:

On Tue, Mar 22, 2011 at 14:23, Alexander Grafag...@suse.de  wrote:

On 03/01/2011 07:35 PM, anthony.per...@citrix.com wrote:

From: Anthony PERARDanthony.per...@citrix.com

Hi all,

Here is the few change since the V10:

   - Add braces for blocks with single statement in the clean-up 
patch;
   - the patch that builds Xen only for x86 have been removed, 
instead,
 xen_domainbuild is built with libhw and other Xen files are 
built for

i386
 target only;
   - the redirection structure with function pointer have been 
removed,

instead,
 there are few #define or static inline function use for the
compatibility;

ARGH!

The point of the redirection structure was so I can plug in with 
xenner and
replace all the xen calls with in-qemu versions. If you remove it, 
I'll have

to put it back in in the xenner patch set :(.

We need some sort of abstraction between calling xs_ functions and 
actually
calling them. Wrapping all xs_ calls in static inlines would be fine 
for

that, as would the indirect calling table.

As my series doesn't change a lot of things in the xen code, I think
it is better than you put it back in your patch set.


Hrm. This is on a SLES11SP1 system w/ Xen 4.0.1.


Alex


agraf@toonie:/dev/shm git clone 
git://xenbits.xen.org/people/aperard/qemu-dm.git

Initialized empty Git repository in /dev/shm/qemu-dm/.git/
remote: Counting objects: 74570, done.
remote: Compressing objects: 100% (15699/15699), done.
remote: Total 74570 (delta 59960), reused 73357 (delta 58769)
Receiving objects: 100% (74570/74570), 22.24 MiB | 1296 KiB/s, done.
Resolving deltas: 100% (59960/59960), done.
agraf@toonie:/dev/shm/qemu-dm git checkout origin/qemu-dm-v11
Note: moving to origin/qemu-dm-v11 which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b new_branch_name
HEAD is now at 47d548f... xen: Add Xen hypercall for sleep state in 
the cmos_s3 callback.

agraf@toonie:/dev/shm/qemu-dm ./configure --target-list=x86_64-softmmu
make -j
Install prefix/usr/local
BIOS directory/usr/local/share/qemu
binary directory  /usr/local/bin
config directory  /usr/local/etc
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path   /dev/shm/qemu-dm
C compilergcc
Host C compiler   gcc
CFLAGS-O2 -g
QEMU_CFLAGS   -Werror -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes 
-Wredundant-decls -Wall -Wundef -Wendif-labels -Wwrite-strings 
-Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all 
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security 
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration 
-Wold-style-definition -Wtype-limits

LDFLAGS   -Wl,--warn-common -m64 -g
make  make
install   install
host CPU  x86_64
host big endian   no
target list   x86_64-softmmu
tcg debug enabled no
Mon debug enabled no
gprof enabled no
sparse enabledno
strip binariesyes
profiler  no
static build  no
-Werror enabled   yes
SDL support   yes
curses supportyes
curl support  yes
check support no
mingw32 support   no
Audio drivers oss
Extra audio cards ac97 es1370 sb16 hda
Block whitelist
Mixer emulation   no
VNC TLS support   no
VNC SASL support  no
VNC JPEG support  yes
VNC PNG support   yes
VNC threadno
xen support   yes
brlapi supportno
bluez  supportno
Documentation yes
NPTL support  yes
GUEST_BASEyes
PIE user targets  no
vde support   no
IO thread no
Linux AIO support no
ATTR/XATTR support yes
Install blobs yes
KVM support   yes
fdt support   no
preadv supportyes
fdatasync yes
madvise   yes
posix_madvise yes
uuid support  yes
vhost-net support no
Trace backend nop
Trace output file trace-pid
spice support no
rbd support   no
xfsctl supportno
agraf@toonie:/dev/shm/qemu-dm make -j
  GEN   x86_64-softmmu/config-devices.mak
  GEN   config-all-devices.mak
  GEN   qemu-options.texi
  GEN   qemu-img-cmds.texi
  GEN   qemu-monitor.texi
  GEN   qemu-nbd.8
  GEN   qemu-tech.html
  GEN   config-host.h
  GEN   QMP/qmp-commands.txt
  GEN   trace.h
  GEN   qemu-options.def
  GEN   trace.c
  GEN   qemu-img-cmds.h
  GEN   qemu-img.1
  ASoptionrom/multiboot.o
  ASoptionrom/linuxboot.o
  Building optionrom/linuxboot.img
  Building optionrom/multiboot.img
  Building optionrom/linuxboot.raw
  Building optionrom/multiboot.raw
  Signing optionrom/multiboot.bin
  Signing optionrom/linuxboot.bin
  GEN   qemu-doc.html
  GEN   qemu.1
  CCqemu-nbd.o
  CCqemu-tool.o
  CCqemu-error.o
  CCosdep.o
  CCoslib-posix.o
  CCtrace.o
  CCcutils.o
  CCqemu-option.o
  CC

Re: [Xen-devel] Re: [Qemu-devel] [PATCH V11 00/15] Xen device model support

2011-03-22 Thread Anthony PERARD
On Tue, 22 Mar 2011, Alexander Graf wrote:

 On 03/22/2011 04:40 PM, Alexander Graf wrote:
  make[1]: *** [qemu-system-x86_64] Error 1


 This should be the correct fix:


 diff --git a/Makefile.target b/Makefile.target
 index c0db745..91bbf39 100644
 --- a/Makefile.target
 +++ b/Makefile.target
 @@ -212,10 +212,11 @@ endif
   # xen backend driver support
   obj-i386-$(CONFIG_XEN) += xen_machine_pv.o xen_domainbuild.o

 -ifeq ($(TARGET_ARCH), i386)
 -CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
 +ifeq ($(TARGET_BASE_ARCH),i386)
 +  CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)

with 's/KVM/XEN/g'
;)

   else
 -CONFIG_NO_XEN = y
 +  CONFIG_XEN =
 +  CONFIG_NO_XEN = y
   endif
   # xen support
   CONFIG_NO_XEN_MAPCACHE = $(if $(subst n,,$(CONFIG_XEN_MAPCACHE)),n,y)

Yep, this is the fix.

Could you use this fix and continue to review ? or did I need to resend
the all patch series ?

Regards,

-- 
Anthony PERARD



Re: [Xen-devel] Re: [Qemu-devel] [PATCH V11 00/15] Xen device model support

2011-03-22 Thread Alexander Graf

On 03/22/2011 06:22 PM, Anthony PERARD wrote:

On Tue, 22 Mar 2011, Alexander Graf wrote:


On 03/22/2011 04:40 PM, Alexander Graf wrote:

make[1]: *** [qemu-system-x86_64] Error 1


This should be the correct fix:


diff --git a/Makefile.target b/Makefile.target
index c0db745..91bbf39 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -212,10 +212,11 @@ endif
   # xen backend driver support
   obj-i386-$(CONFIG_XEN) += xen_machine_pv.o xen_domainbuild.o

-ifeq ($(TARGET_ARCH), i386)
-CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
+ifeq ($(TARGET_BASE_ARCH),i386)
+  CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)

with 's/KVM/XEN/g'
;)


   else
-CONFIG_NO_XEN = y
+  CONFIG_XEN =
+  CONFIG_NO_XEN = y
   endif
   # xen support
   CONFIG_NO_XEN_MAPCACHE = $(if $(subst n,,$(CONFIG_XEN_MAPCACHE)),n,y)

Yep, this is the fix.

Could you use this fix and continue to review ? or did I need to resend
the all patch series ?


No, I'm still at it. It takes much longer than I expected :)


Alex