/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 2005 Thiemo Seufer * Copyright (C) 2005 MIPS Technologies, Inc. All rights reserved. * Author: Maciej W. Rozycki <macro@mips.com>
*/
/* * FUNC is executed in one of the uncached segments, depending on its * original address as follows: * * 1. If the original address is in CKSEG0 or CKSEG1, then the uncached * segment used is CKSEG1. * 2. If the original address is in XKPHYS, then the uncached segment * used is XKPHYS(2). * 3. Otherwise it's a bug. * * The same remapping is done with the stack pointer. Stack handling * works because we don't handle stack arguments or more complex return * values, so we can avoid sharing the same stack area between a cached * and the uncached mode.
*/ unsignedlong run_uncached(void *func)
{ registerlong ret __asm__("$2"); long lfunc = (long)func, ufunc; long usp; long sp;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.