public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@qumranet.com>
To: Carsten Otte <cotte@de.ibm.com>
Cc: kvm <kvm@vger.kernel.org>, Olaf Schnapper <os@de.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Hollis Blanchard <hollisb@us.ibm.com>
Subject: Re: [PATCH] libkvm-s390
Date: Sun, 13 Jul 2008 11:29:49 +0300	[thread overview]
Message-ID: <4879BCFD.9030806@qumranet.com> (raw)
In-Reply-To: <1215797386.6014.4.camel@cotte.boeblingen.de.ibm.com>

Carsten Otte wrote:
> This patch makes libkvm build and work on s390. It should be a noop for
> all other architectures.
>
> Signed-off-by: Carsten Otte <cotte@de.ibm.com>
> ---
> Index: kvm-userspace/libkvm/config-s390x.mak
> ===================================================================
> --- /dev/null
> +++ kvm-userspace/libkvm/config-s390x.mak
> @@ -0,0 +1,6 @@
> +
> +LIBDIR := /lib
> +CFLAGS +=
> +CFLAGS += -D__s390x__
> +
> +libkvm-$(ARCH)-objs := libkvm-s390x.o
> Index: kvm-userspace/libkvm/libkvm-s390x.c
> ===================================================================
> --- /dev/null
> +++ kvm-userspace/libkvm/libkvm-s390x.c
> @@ -0,0 +1,98 @@
> +/*
> + * This header is for functions & variables that will ONLY be
> + * used inside libkvm for s390x.
> + * THESE ARE NOT EXPOSED TO THE USER AND ARE ONLY FOR USE
> + * WITHIN LIBKVM.
> + *
>   

It isn't a header.

> + * derived from libkvm-powerpc.c
> + *
>   

So it the comment above.  So much for our review.

> + * Copyright 2008 IBM Corporation
> + * Authors:
> + *	Carsten Otte <cotte@de.ibm.com>
> + *
> + * This work is licensed under the GNU LGPL license, version 2.
> + */
> +
> +#include "libkvm.h"
> +#include <errno.h>
> +#include <stdio.h>
> +#include <inttypes.h>
> +
> +int handle_dcr(struct kvm_run *run,  kvm_context_t kvm, int vcpu)
> +{
> +	fprintf(stderr, "%s: Operation not supported\n", __FUNCTION__);
> +	return -1;
> +}
> +
> +int kvm_alloc_kernel_memory(kvm_context_t kvm, unsigned long memory,
> +				void **vm_mem)
> +{
> +	fprintf(stderr, "%s: Operation not supported\n", __FUNCTION__);
> +	return -1;
> +}
> +
> +void *kvm_create_kernel_phys_mem(kvm_context_t kvm, unsigned long phys_start,
> +				 unsigned long len, int log, int writable)
> +{
> +	fprintf(stderr, "%s: Operation not supported\n", __FUNCTION__);
> +	return NULL;
> +}
> +
> +void kvm_show_code(kvm_context_t kvm, int vcpu)
> +{
> +	fprintf(stderr, "%s: Operation not supported\n", __FUNCTION__);
> +}
> +
> +void kvm_show_regs(kvm_context_t kvm, int vcpu)
> +{
> +	struct kvm_regs regs;
> +	int i;
> +
> +	if (kvm_get_regs(kvm, vcpu, &regs))
> +		return;
> +	/*
> +	fprintf(stderr,"guest vcpu #%d\n", vcpu);
> +	fprintf(stderr,"pc:   %016"PRIx64" msr:  %016"PRIx64"\n",
> +	        regs.pc, regs.msr);
> +	fprintf(stderr,"lr:   %016"PRIx64" ctr:  %016"PRIx64"\n",
> +	        regs.lr, regs.ctr);
> +	fprintf(stderr,"srr0: %016"PRIx64" srr1: %016"PRIx64"\n",
> +	        regs.srr0, regs.srr1);
> +	for (i=0; i<32; i+=4)
> +	{
> +		fprintf(stderr, "gpr%02d: %016"PRIx64" %016"PRIx64" %016"PRIx64
> +		        " %016"PRIx64"\n", i,
> +			regs.gpr[i],
> +			regs.gpr[i+1],
> +			regs.gpr[i+2],
> +			regs.gpr[i+3]);
> +	}
> +
> +	fflush(stdout);
> +	*/
> +}
> +
> +int kvm_arch_create(kvm_context_t kvm, unsigned long phys_mem_bytes,
> +			 void **vm_mem)
> +{
> +	return 0;
> +}
> +
> +int kvm_arch_create_default_phys_mem(kvm_context_t kvm,
> +					unsigned long phys_mem_bytes,
> +					void **vm_mem)
> +{
> +	return 0;
> +}
> +
> +int kvm_arch_run(struct kvm_run *run, kvm_context_t kvm, int vcpu)
> +{
> +	int ret = 0;
> +
> +	switch (run->exit_reason){
> +	default:
> +		ret = 1;
> +		break;
> +	}
> +	return ret;
> +}
> Index: kvm-userspace/Makefile
> ===================================================================
> --- kvm-userspace.orig/Makefile
> +++ kvm-userspace/Makefile
> @@ -5,7 +5,7 @@ DESTDIR=
>  
>  rpmrelease = devel
>  
> -sane-arch = $(subst i386,x86,$(subst x86_64,x86,$(ARCH)))
> +sane-arch = $(subst i386,x86,$(subst x86_64,x86,$(subst s390x,s390,$(ARCH))))
>  
>  .PHONY: kernel user libkvm qemu bios vgabios extboot clean libfdt
>  
> Index: kvm-userspace/libkvm/kvm-common.h
> ===================================================================
> --- kvm-userspace.orig/libkvm/kvm-common.h
> +++ kvm-userspace/libkvm/kvm-common.h
> @@ -18,8 +18,15 @@
>  
>  /* FIXME: share this number with kvm */
>  /* FIXME: or dynamically alloc/realloc regions */
> +#ifndef __s390x__
>  #define KVM_MAX_NUM_MEM_REGIONS 8u
> +#define MAX_VCPUS 64
>   

16

> +#else
> +#define KVM_MAX_NUM_MEM_REGIONS 1u
>  #define MAX_VCPUS 16
>   

64

> +#define LIBKVM_S390_ORIGIN (0UL)
>   

Thought you got rid of that?


-- 
error compiling committee.c: too many arguments to function


  reply	other threads:[~2008-07-13  8:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-11 17:29 [PATCH] libkvm-s390 Carsten Otte
2008-07-13  8:29 ` Avi Kivity [this message]
2008-07-14 11:33   ` Christian Borntraeger
2008-07-14 11:44     ` Avi Kivity
2008-07-14 12:25       ` Christian Borntraeger
2008-07-14 15:34 ` Anthony Liguori
2008-07-14 17:00   ` Christian Borntraeger
2008-07-14 18:00     ` Anthony Liguori
2008-07-16 15:28 ` [PATCH v2/RFC] libkvm-s390 Christian Borntraeger
2008-07-17 11:08   ` Christian Ehrhardt
2008-07-17 15:28     ` [PATCH v3] libkvm-s390 Christian Borntraeger
2008-07-19  7:56       ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4879BCFD.9030806@qumranet.com \
    --to=avi@qumranet.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cotte@de.ibm.com \
    --cc=hollisb@us.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=os@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox