All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Bochnig, Martin" <mb1x@gmx.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] SPARC - host support in vl.c
Date: Wed, 01 Sep 2004 00:04:50 +0200	[thread overview]
Message-ID: <4134F602.2030809@gmx.com> (raw)

Here my patch suggestions to add SPARC host support to vl.c :


#elif defined(__sparc__)

  /* Derived from: "m68k updates #2" by Richard Zidlicky
  "crude hack to get some sort of rdtsc support" */

#include <sys/time.h>
static int64_t cputicks=0;
static struct timeval lastcptcall={0,0};

// assume 5 MHz Pentium, min 80 ticks between rdtsc calls

int64_t cpu_get_real_ticks(void)
{
      struct timeval tp;
      gettimeofday(&tp,(void*)0);
      if (tp.tv_sec == lastcptcall.tv_sec &&
         tp.tv_usec == lastcptcall.tv_usec ){
        cputicks += 1;
      } else {
        cputicks=0;
        lastcptcall=tp;
      }
      return ((int64_t)tp.tv_sec*1000000+tp.tv_usec)*5+cputicks;
}


#elif defined(__sparc64__)

/* I'm not sure it was worth it, personally.
*
*UltraSparc:
*
*  unsigned long x;
*  asm volatile ("rd %tick, %0" : "=r"(x));
*
* Earlier Sparcs do not have this feature.
*
*
*/

int64_t cpu_get_real_ticks(void)
{
     int64_t val;
    asm volatile ("rd %%tick, %0" : "=r"(val));
     return val;
}

#else
#error unsupported CPU
#endif

Any ideas would be appreciated.

Martin

             reply	other threads:[~2004-08-31 22:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-31 22:04 Bochnig, Martin [this message]
2004-08-31 22:14 ` [Qemu-devel] SPARC - host support in vl.c Falk Hueffner
2004-08-31 22:24   ` Bochnig, Martin
2004-08-31 22:41     ` Falk Hueffner
2004-09-01  7:57       ` Bochnig, Martin
2004-09-01 15:44   ` Richard Zidlicky
2004-08-31 23:24 ` [Qemu-devel] The very best I can get on SPARC Bochnig, Martin

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=4134F602.2030809@gmx.com \
    --to=mb1x@gmx.com \
    --cc=bochnig@pool.math.tu-berlin.de \
    --cc=qemu-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.