exceptions-64e.S (088eef2219bd1e8cb82bfcb5b32c1c687aeea6d7) | exceptions-64e.S (de021bb79c7636df24864fa2dbb958121303663b) |
---|---|
1/* 2 * Boot code and exception vectors for Book3E processors 3 * 4 * Copyright (C) 2007 Ben. Herrenschmidt (benh@kernel.crashing.org), IBM Corp. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 184 unchanged lines hidden (view full) --- 193/* Variants for the "ints" argument. This one does nothing when we want 194 * to keep interrupts in their original state 195 */ 196#define INTS_KEEP 197 198/* This second version is meant for exceptions that don't immediately 199 * hard-enable. We set a bit in paca->irq_happened to ensure that 200 * a subsequent call to arch_local_irq_restore() will properly | 1/* 2 * Boot code and exception vectors for Book3E processors 3 * 4 * Copyright (C) 2007 Ben. Herrenschmidt (benh@kernel.crashing.org), IBM Corp. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 184 unchanged lines hidden (view full) --- 193/* Variants for the "ints" argument. This one does nothing when we want 194 * to keep interrupts in their original state 195 */ 196#define INTS_KEEP 197 198/* This second version is meant for exceptions that don't immediately 199 * hard-enable. We set a bit in paca->irq_happened to ensure that 200 * a subsequent call to arch_local_irq_restore() will properly |
201 * hard-enable and avoid the fast-path | 201 * hard-enable and avoid the fast-path, and then reconcile irq state. |
202 */ | 202 */ |
203#define INTS_DISABLE SOFT_DISABLE_INTS(r3,r4) | 203#define INTS_DISABLE RECONCILE_IRQ_STATE(r3,r4) |
204 205/* This is called by exceptions that used INTS_KEEP (that did not touch 206 * irq indicators in the PACA). This will restore MSR:EE to it's previous 207 * value 208 * 209 * XXX In the long run, we may want to open-code it in order to separate the 210 * load from the wrtee, thus limiting the latency caused by the dependency 211 * but at this point, I'll favor code clarity until we have a near to final --- 1203 unchanged lines hidden --- | 204 205/* This is called by exceptions that used INTS_KEEP (that did not touch 206 * irq indicators in the PACA). This will restore MSR:EE to it's previous 207 * value 208 * 209 * XXX In the long run, we may want to open-code it in order to separate the 210 * load from the wrtee, thus limiting the latency caused by the dependency 211 * but at this point, I'll favor code clarity until we have a near to final --- 1203 unchanged lines hidden --- |