Page MenuHomeFreeBSD

D3722.diff
No OneTemporary

D3722.diff

Index: head/sys/arm/broadcom/bcm2835/bcm2836_mp.c
===================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2836_mp.c
+++ head/sys/arm/broadcom/bcm2835/bcm2836_mp.c
@@ -182,6 +182,8 @@
if (val == 0)
return (0);
ipi = ffs(val) - 1;
+ BSWR4(MBOX0CLR_CORE(cpu), 1 << ipi);
+ dsb();
return (ipi);
}
return (0x3ff);
@@ -190,12 +192,6 @@
void
pic_ipi_clear(int ipi)
{
- int cpu;
-
- cpu = PCPU_GET(cpuid);
- dsb();
- BSWR4(MBOX0CLR_CORE(cpu), 1 << ipi);
- wmb();
}
void
Index: head/sys/arm/mv/mpic.c
===================================================================
--- head/sys/arm/mv/mpic.c
+++ head/sys/arm/mv/mpic.c
@@ -378,10 +378,14 @@
pic_ipi_read(int i __unused)
{
uint32_t val;
+ int ipi;
val = MPIC_CPU_READ(mv_mpic_sc, MPIC_IN_DRBL);
- if (val)
- return (ffs(val) - 1);
+ if (val) {
+ ipi = ffs(val) - 1;
+ MPIC_CPU_WRITE(mv_mpic_sc, MPIC_IN_DRBL, ~(1 << ipi));
+ return (ipi);
+ }
return (0x3ff);
}
@@ -389,10 +393,6 @@
void
pic_ipi_clear(int ipi)
{
- uint32_t val;
-
- val = ~(1 << ipi);
- MPIC_CPU_WRITE(mv_mpic_sc, MPIC_IN_DRBL, val);
}
#endif

File Metadata

Mime Type
text/plain
Expires
Fri, May 22, 1:31 AM (5 m, 37 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33412559
Default Alt Text
D3722.diff (1 KB)

Event Timeline