mipsregs.h (ee5db7e47faccd07a8a17f73afb30345f8331e61) | mipsregs.h (842dfc11ea9a21f9825167c8a4f2834b205b0a79) |
---|---|
1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001 by Ralf Baechle 7 * Copyright (C) 2000 Silicon Graphics, Inc. 8 * Modified for further R[236]000 support by Paul M. Antoine, 1996. --- 1310 unchanged lines hidden (view full) --- 1319#define write_c0_brcm_bootvec(val) __write_32bit_c0_register($22, 4, val) 1320 1321#define read_c0_brcm_sleepcount() __read_32bit_c0_register($22, 7) 1322#define write_c0_brcm_sleepcount(val) __write_32bit_c0_register($22, 7, val) 1323 1324/* 1325 * Macros to access the floating point coprocessor control registers 1326 */ | 1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001 by Ralf Baechle 7 * Copyright (C) 2000 Silicon Graphics, Inc. 8 * Modified for further R[236]000 support by Paul M. Antoine, 1996. --- 1310 unchanged lines hidden (view full) --- 1319#define write_c0_brcm_bootvec(val) __write_32bit_c0_register($22, 4, val) 1320 1321#define read_c0_brcm_sleepcount() __read_32bit_c0_register($22, 7) 1322#define write_c0_brcm_sleepcount(val) __write_32bit_c0_register($22, 7, val) 1323 1324/* 1325 * Macros to access the floating point coprocessor control registers 1326 */ |
1327#define read_32bit_cp1_register(source) \ | 1327#define _read_32bit_cp1_register(source, gas_hardfloat) \ |
1328({ \ 1329 int __res; \ 1330 \ 1331 __asm__ __volatile__( \ 1332 " .set push \n" \ 1333 " .set reorder \n" \ 1334 " # gas fails to assemble cfc1 for some archs, \n" \ 1335 " # like Octeon. \n" \ 1336 " .set mips1 \n" \ | 1328({ \ 1329 int __res; \ 1330 \ 1331 __asm__ __volatile__( \ 1332 " .set push \n" \ 1333 " .set reorder \n" \ 1334 " # gas fails to assemble cfc1 for some archs, \n" \ 1335 " # like Octeon. \n" \ 1336 " .set mips1 \n" \ |
1337 " "STR(gas_hardfloat)" \n" \ |
|
1337 " cfc1 %0,"STR(source)" \n" \ 1338 " .set pop \n" \ 1339 : "=r" (__res)); \ 1340 __res; \ 1341}) 1342 | 1338 " cfc1 %0,"STR(source)" \n" \ 1339 " .set pop \n" \ 1340 : "=r" (__res)); \ 1341 __res; \ 1342}) 1343 |
1344#ifdef GAS_HAS_SET_HARDFLOAT 1345#define read_32bit_cp1_register(source) \ 1346 _read_32bit_cp1_register(source, .set hardfloat) 1347#else 1348#define read_32bit_cp1_register(source) \ 1349 _read_32bit_cp1_register(source, ) 1350#endif 1351 |
|
1343#ifdef HAVE_AS_DSP 1344#define rddsp(mask) \ 1345({ \ 1346 unsigned int __dspctl; \ 1347 \ 1348 __asm__ __volatile__( \ 1349 " .set push \n" \ 1350 " .set dsp \n" \ --- 512 unchanged lines hidden --- | 1352#ifdef HAVE_AS_DSP 1353#define rddsp(mask) \ 1354({ \ 1355 unsigned int __dspctl; \ 1356 \ 1357 __asm__ __volatile__( \ 1358 " .set push \n" \ 1359 " .set dsp \n" \ --- 512 unchanged lines hidden --- |