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 ---