All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>,
	lersek@redhat.com, seabios@seabios.org
Subject: [Qemu-devel] [PATCH RFC 01/13] apic: rename apic specific bitopts
Date: Mon, 13 May 2013 23:00:46 +0300	[thread overview]
Message-ID: <4f3e255de05cb2779760c6559aba4b8c2bb09634.1368474222.git.mst@redhat.com> (raw)
In-Reply-To: <cover.1368474222.git.mst@redhat.com>

apic has its own version of bitops, with the
difference that it works on u32 and not long.
Add apic_ prefix to avoid namespace clashes.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/intc/apic.c | 42 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/hw/intc/apic.c b/hw/intc/apic.c
index 756dff0..46cb097 100644
--- a/hw/intc/apic.c
+++ b/hw/intc/apic.c
@@ -40,18 +40,18 @@ static void apic_get_delivery_bitmask(uint32_t *deliver_bitmask,
                                       uint8_t dest, uint8_t dest_mode);
 
 /* Find first bit starting from msb */
-static int fls_bit(uint32_t value)
+static int apic_fls_bit(uint32_t value)
 {
     return 31 - clz32(value);
 }
 
 /* Find first bit starting from lsb */
-static int ffs_bit(uint32_t value)
+static int apic_ffs_bit(uint32_t value)
 {
     return ctz32(value);
 }
 
-static inline void set_bit(uint32_t *tab, int index)
+static inline void apic_set_bit(uint32_t *tab, int index)
 {
     int i, mask;
     i = index >> 5;
@@ -59,7 +59,7 @@ static inline void set_bit(uint32_t *tab, int index)
     tab[i] |= mask;
 }
 
-static inline void reset_bit(uint32_t *tab, int index)
+static inline void apic_reset_bit(uint32_t *tab, int index)
 {
     int i, mask;
     i = index >> 5;
@@ -67,7 +67,7 @@ static inline void reset_bit(uint32_t *tab, int index)
     tab[i] &= ~mask;
 }
 
-static inline int get_bit(uint32_t *tab, int index)
+static inline int apic_get_bit(uint32_t *tab, int index)
 {
     int i, mask;
     i = index >> 5;
@@ -81,7 +81,7 @@ static int get_highest_priority_int(uint32_t *tab)
     int i;
     for (i = 7; i >= 0; i--) {
         if (tab[i] != 0) {
-            return i * 32 + fls_bit(tab[i]);
+            return i * 32 + apic_fls_bit(tab[i]);
         }
     }
     return -1;
@@ -184,7 +184,7 @@ void apic_deliver_pic_intr(DeviceState *d, int level)
         case APIC_DM_FIXED:
             if (!(lvt & APIC_LVT_LEVEL_TRIGGER))
                 break;
-            reset_bit(s->irr, lvt & 0xff);
+            apic_reset_bit(s->irr, lvt & 0xff);
             /* fall through */
         case APIC_DM_EXTINT:
             cpu_reset_interrupt(CPU(s->cpu), CPU_INTERRUPT_HARD);
@@ -230,7 +230,7 @@ static void apic_bus_deliver(const uint32_t *deliver_bitmask,
                 d = -1;
                 for(i = 0; i < MAX_APIC_WORDS; i++) {
                     if (deliver_bitmask[i]) {
-                        d = i * 32 + ffs_bit(deliver_bitmask[i]);
+                        d = i * 32 + apic_ffs_bit(deliver_bitmask[i]);
                         break;
                     }
                 }
@@ -386,13 +386,13 @@ void apic_poll_irq(DeviceState *d)
 
 static void apic_set_irq(APICCommonState *s, int vector_num, int trigger_mode)
 {
-    apic_report_irq_delivered(!get_bit(s->irr, vector_num));
+    apic_report_irq_delivered(!apic_get_bit(s->irr, vector_num));
 
-    set_bit(s->irr, vector_num);
+    apic_set_bit(s->irr, vector_num);
     if (trigger_mode)
-        set_bit(s->tmr, vector_num);
+        apic_set_bit(s->tmr, vector_num);
     else
-        reset_bit(s->tmr, vector_num);
+        apic_reset_bit(s->tmr, vector_num);
     if (s->vapic_paddr) {
         apic_sync_vapic(s, SYNC_ISR_IRR_TO_VAPIC);
         /*
@@ -412,8 +412,8 @@ static void apic_eoi(APICCommonState *s)
     isrv = get_highest_priority_int(s->isr);
     if (isrv < 0)
         return;
-    reset_bit(s->isr, isrv);
-    if (!(s->spurious_vec & APIC_SV_DIRECTED_IO) && get_bit(s->tmr, isrv)) {
+    apic_reset_bit(s->isr, isrv);
+    if (!(s->spurious_vec & APIC_SV_DIRECTED_IO) && apic_get_bit(s->tmr, isrv)) {
         ioapic_eoi_broadcast(isrv);
     }
     apic_sync_vapic(s, SYNC_FROM_VAPIC | SYNC_TO_VAPIC);
@@ -452,7 +452,7 @@ static void apic_get_delivery_bitmask(uint32_t *deliver_bitmask,
             int idx = apic_find_dest(dest);
             memset(deliver_bitmask, 0x00, MAX_APIC_WORDS * sizeof(uint32_t));
             if (idx >= 0)
-                set_bit(deliver_bitmask, idx);
+                apic_set_bit(deliver_bitmask, idx);
         }
     } else {
         /* XXX: cluster mode */
@@ -462,11 +462,11 @@ static void apic_get_delivery_bitmask(uint32_t *deliver_bitmask,
             if (apic_iter) {
                 if (apic_iter->dest_mode == 0xf) {
                     if (dest & apic_iter->log_dest)
-                        set_bit(deliver_bitmask, i);
+                        apic_set_bit(deliver_bitmask, i);
                 } else if (apic_iter->dest_mode == 0x0) {
                     if ((dest & 0xf0) == (apic_iter->log_dest & 0xf0) &&
                         (dest & apic_iter->log_dest & 0x0f)) {
-                        set_bit(deliver_bitmask, i);
+                        apic_set_bit(deliver_bitmask, i);
                     }
                 }
             } else {
@@ -509,14 +509,14 @@ static void apic_deliver(DeviceState *d, uint8_t dest, uint8_t dest_mode,
         break;
     case 1:
         memset(deliver_bitmask, 0x00, sizeof(deliver_bitmask));
-        set_bit(deliver_bitmask, s->idx);
+        apic_set_bit(deliver_bitmask, s->idx);
         break;
     case 2:
         memset(deliver_bitmask, 0xff, sizeof(deliver_bitmask));
         break;
     case 3:
         memset(deliver_bitmask, 0xff, sizeof(deliver_bitmask));
-        reset_bit(deliver_bitmask, s->idx);
+        apic_reset_bit(deliver_bitmask, s->idx);
         break;
     }
 
@@ -573,8 +573,8 @@ int apic_get_interrupt(DeviceState *d)
         apic_sync_vapic(s, SYNC_TO_VAPIC);
         return s->spurious_vec & 0xff;
     }
-    reset_bit(s->irr, intno);
-    set_bit(s->isr, intno);
+    apic_reset_bit(s->irr, intno);
+    apic_set_bit(s->isr, intno);
     apic_sync_vapic(s, SYNC_TO_VAPIC);
 
     /* re-inject if there is still a pending PIC interrupt */
-- 
MST

  parent reply	other threads:[~2013-05-13 20:00 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-13 20:00 [Qemu-devel] [PATCH RFC 00/13] qemu: generate acpi tables for the guest Michael S. Tsirkin
2013-05-13 20:00 ` [Qemu-devel] [PATCH RFC 03/13] refer to FWCfgState explicitly Michael S. Tsirkin
2013-05-13 20:00 ` [Qemu-devel] [PATCH RFC 02/13] hw/i386/pc.c: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/apic.h Michael S. Tsirkin
2013-05-13 20:08   ` Eric Blake
2013-05-13 20:00 ` Michael S. Tsirkin [this message]
2013-05-13 20:22   ` [Qemu-devel] [PATCH RFC 01/13] apic: rename apic specific bitopts Peter Maydell
2013-05-13 20:29     ` Michael S. Tsirkin
2013-05-13 20:00 ` [Qemu-devel] [PATCH RFC 04/13] fw_cfg: move typedef to qemu/typedefs.h Michael S. Tsirkin
2013-05-13 20:00 ` [Qemu-devel] [PATCH RFC 05/13] i386: add ACPI table files from seabios Michael S. Tsirkin
2013-05-13 20:01 ` [Qemu-devel] [PATCH RFC 06/13] acpi: add rules to compile ASL source Michael S. Tsirkin
2013-05-13 20:01 ` [Qemu-devel] [PATCH RFC 07/13] acpi: pre-compiled ASL files Michael S. Tsirkin
2013-05-13 20:01 ` [Qemu-devel] [PATCH RFC 08/13] range: add Range structure Michael S. Tsirkin
2013-05-13 20:20   ` Peter Maydell
2013-05-14  7:55     ` Michael S. Tsirkin
2013-05-13 20:01 ` [Qemu-devel] [PATCH RFC 09/13] i386: add bios linker/loader Michael S. Tsirkin
2013-05-13 20:01 ` [Qemu-devel] [PATCH RFC 13/13] pc: reuse guest info for legacy fw cfg Michael S. Tsirkin
2013-05-13 20:01 ` [Qemu-devel] [PATCH RFC 10/13] i386: generate pc guest info Michael S. Tsirkin
2013-05-13 20:23   ` Peter Maydell
2013-05-14  8:06     ` Michael S. Tsirkin
2013-05-14  9:32       ` Peter Maydell
2013-05-13 20:01 ` [Qemu-devel] [PATCH RFC 12/13] i386: ACPI table generation code from seabios Michael S. Tsirkin
2013-05-13 20:27   ` Peter Maydell
2013-05-13 20:01 ` [Qemu-devel] [PATCH RFC 11/13] pc: pass PCI hole ranges to Guests Michael S. Tsirkin
2013-05-13 20:38 ` [Qemu-devel] [PATCH RFC 00/13] qemu: generate acpi tables for the guest Anthony Liguori
2013-05-14  1:54   ` [Qemu-devel] [SeaBIOS] " Kevin O'Connor
2013-05-14  9:29   ` [Qemu-devel] " Gerd Hoffmann
2013-05-14  9:38     ` Peter Maydell
2013-05-14 14:29       ` [Qemu-devel] [SeaBIOS] " David Woodhouse
2013-05-14 15:13         ` Peter Maydell
2013-05-14 13:26     ` [Qemu-devel] " Anthony Liguori
2013-05-14 13:53       ` Gerd Hoffmann
2013-05-14 14:40         ` Anthony Liguori
2013-05-14 11:58   ` Michael S. Tsirkin
2013-05-14 13:34     ` Anthony Liguori
2013-05-14 14:14       ` Michael S. Tsirkin
2013-05-15  6:38       ` [Qemu-devel] [SeaBIOS] " Gerd Hoffmann
2013-06-03 22:19       ` [Qemu-devel] " Jordan Justen
2013-06-03 23:12         ` Anthony Liguori
2013-06-04  4:14           ` Jordan Justen
2013-05-16 11:27   ` Michael S. Tsirkin

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=4f3e255de05cb2779760c6559aba4b8c2bb09634.1368474222.git.mst@redhat.com \
    --to=mst@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=lersek@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=seabios@seabios.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.