From: Anthony Liguori <anthony@codemonkey.ws>
To: Beth Kon <eak@us.ibm.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/2] Make HPET Legacy Only
Date: Mon, 10 Aug 2009 09:44:46 -0500 [thread overview]
Message-ID: <4A80325E.9020505@codemonkey.ws> (raw)
In-Reply-To: <1249049162-685-1-git-send-email-eak@us.ibm.com>
Beth Kon wrote:
> Because of unavailability of IOAPIC interrupt lines, HPET currently
> supports only legacy mode, where the legacy timer interrupt (inti2) is
> used. This patch makes this explicit by reducing the number of timers
> supported by HPET to 2 (the 2 legacy timers) and advertising no
> available IOAPIC interrupt lines.
>
> This patch also adds a check, suggested by Andriy Gapon, to ensure that
> the interrupt chosen by the guest is one of those advertised by the HPET
> as available. This is currently a noop since HPET advertises none as
> available, but in the event of future expansion and availability of
> IOAPIC interrupt lines, or implementation of level-triggered interrupts
> that can share interrupt lines, this code will be in place.
>
> This subset of HPET capability (legacy-only) is reasonable, since the
> basic operation of linux and windows only uses the HPET in legacy mode,
> at least that's what all my testing so far has shown. Only userspace
> access to the hpet would use non-legacy timers.
>
>
>
>
> diff --git a/hw/hpet.c b/hw/hpet.c
> index 01b10aa..56fa27c 100644
> --- a/hw/hpet.c
> +++ b/hw/hpet.c
> @@ -47,12 +47,16 @@ uint32_t hpet_in_legacy_mode(void)
> return 0;
> }
>
> -static uint32_t timer_int_route(struct HPETTimer *timer)
> -{
> - uint32_t route;
> - route = (timer->config & HPET_TN_INT_ROUTE_MASK) >> HPET_TN_INT_ROUTE_SHIFT;
> - return route;
> -}
> +/* future code for when non-legacy interrupts are supported
> + * (when spare ioapic interrupts are available)
> + * static uint32_t timer_int_route(struct HPETTimer *timer)
> + * {
> + * uint32_t route;
> + * route = (timer->config & HPET_TN_INT_ROUTE_CNF_MASK)
> + * >> HPET_TN_INT_ROUTE_CNF_SHIFT;
> + * return route;
> + *}
> + */
>
Please don't introduce dead code. It will just rot. A comment would
suffice.
Regards,
Anthony Liguori
prev parent reply other threads:[~2009-08-10 14:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-31 14:06 [Qemu-devel] [PATCH 1/2] Make HPET Legacy Only Beth Kon
2009-07-31 14:06 ` [Qemu-devel] [PATCH 2/2] Make HPET Legacy Only - BIOS change Beth Kon
2009-08-10 14:44 ` Anthony Liguori [this message]
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=4A80325E.9020505@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=eak@us.ibm.com \
--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.