/[qemu]/qemu/hw/slavio_intctl.c
ViewVC logotype

Diff of /qemu/hw/slavio_intctl.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by bellard, Sun Dec 19 23:18:01 2004 UTC revision 1.2 by bellard, Wed Feb 2 20:40:17 2005 UTC
# Line 113  static uint32_t slavio_intctlm_mem_readl Line 113  static uint32_t slavio_intctlm_mem_readl
113      saddr = (addr & INTCTLM_MAXADDR) >> 2;      saddr = (addr & INTCTLM_MAXADDR) >> 2;
114      switch (saddr) {      switch (saddr) {
115      case 0:      case 0:
116          return s->intregm_pending;          return s->intregm_pending & 0x7fffffff;
117      case 1:      case 1:
118          return s->intregm_disabled;          return s->intregm_disabled;
119      case 4:      case 4:
# Line 132  static void slavio_intctlm_mem_writel(vo Line 132  static void slavio_intctlm_mem_writel(vo
132      saddr = (addr & INTCTLM_MAXADDR) >> 2;      saddr = (addr & INTCTLM_MAXADDR) >> 2;
133      switch (saddr) {      switch (saddr) {
134      case 2: // clear (enable)      case 2: // clear (enable)
135          // Force unused bits          // Force clear unused bits
136          val |= 0x7fb2007f;          val &= ~0x7fb2007f;
137          s->intregm_disabled &= ~val;          s->intregm_disabled &= ~val;
138          break;          break;
139      case 3: // set (disable, clear pending)      case 3: // set (disable, clear pending)
140          // Force unused bits          // Force clear unused bits
141          val &= ~0x7fb2007f;          val &= ~0x7fb2007f;
142          s->intregm_disabled |= val;          s->intregm_disabled |= val;
143          s->intregm_pending &= ~val;          s->intregm_pending &= ~val;
# Line 269  static void slavio_intctl_reset(void *op Line 269  static void slavio_intctl_reset(void *op
269      for (i = 0; i < MAX_CPUS; i++) {      for (i = 0; i < MAX_CPUS; i++) {
270          s->intreg_pending[i] = 0;          s->intreg_pending[i] = 0;
271      }      }
272      s->intregm_disabled = 0xffffffff;      s->intregm_disabled = ~0xffb2007f;
273      s->intregm_pending = 0;      s->intregm_pending = 0;
274      s->target_cpu = 0;      s->target_cpu = 0;
275  }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26