Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 114620
b: refs/heads/master
c: 1a57c92
h: refs/heads/master
v: v3
  • Loading branch information
Milton Miller authored and Benjamin Herrenschmidt committed Oct 13, 2008
1 parent 81416f2 commit 3307f97
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b4963255ad5a426f04a0bb15c4315fa4bb40cde9
refs/heads/master: 1a57c926b6da56b4f904a0d8117ac362724f8c66
18 changes: 7 additions & 11 deletions trunk/arch/powerpc/platforms/pseries/xics.c
Original file line number Diff line number Diff line change
Expand Up @@ -757,25 +757,21 @@ void xics_teardown_cpu(void)

void xics_kexec_teardown_cpu(int secondary)
{
unsigned int ipi;
struct irq_desc *desc;

xics_teardown_cpu();

/*
* we need to EOI the IPI
* we take the ipi irq but and never return so we
* need to EOI the IPI, but want to leave our priority 0
*
* probably need to check all the other interrupts too
* should we check all the other interrupts too?
* should we be flagging idle loop instead?
* or creating some task to be scheduled?
*/

ipi = irq_find_mapping(xics_host, XICS_IPI);
if (ipi == XICS_IRQ_SPURIOUS)
return;
desc = get_irq_desc(ipi);
if (desc->chip && desc->chip->eoi)
desc->chip->eoi(ipi);
if (firmware_has_feature(FW_FEATURE_LPAR))
lpar_xirr_info_set((0x00 << 24) | XICS_IPI);
else
direct_xirr_info_set((0x00 << 24) | XICS_IPI);

/*
* Some machines need to have at least one cpu in the GIQ,
Expand Down

0 comments on commit 3307f97

Please sign in to comment.