Commit 95977d0ef23ee37990ce8704dfd6c61eab02a548
Exists in
master
and in
7 other branches
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: math-emu: correct test for downshifting fraction in _FP_FROM_INT() perf: Add DWARF register lookup for sparc MAINTAINERS: Add SBUS driver path to sparc entry. drivers/sbus: Remove unnecessary casts of private_data sparc: remove homegrown L1_CACHE_ALIGN macro sparc64: fix the build error due to smp_kgdb_capture_client() sparc64: Fix maybe_change_configuration() PCR setting. arch/sparc/kernel: Eliminate what looks like a NULL pointer dereference sparc64: Update defconfig. sunsu: Fix use after free in su_remove(). sunserial: Don't call add_preferred_console() when console= is specified. sparc32: Kill none_mask, it's bogus.
Showing 15 changed files Side-by-side Diff
- MAINTAINERS
- arch/sparc/configs/sparc64_defconfig
- arch/sparc/include/asm/cache.h
- arch/sparc/include/asm/pgtable_32.h
- arch/sparc/kernel/perf_event.c
- arch/sparc/kernel/sun4d_irq.c
- arch/sparc/kernel/ttable.S
- arch/sparc/mm/srmmu.c
- arch/sparc/mm/sun4c.c
- drivers/sbus/char/openprom.c
- drivers/serial/suncore.c
- drivers/serial/sunsu.c
- include/math-emu/op-common.h
- tools/perf/arch/sparc/Makefile
- tools/perf/arch/sparc/util/dwarf-regs.c
MAINTAINERS
arch/sparc/configs/sparc64_defconfig
1 | 1 | # |
2 | 2 | # Automatically generated make config: don't edit |
3 | -# Linux kernel version: 2.6.34-rc3 | |
4 | -# Sat Apr 3 15:49:56 2010 | |
3 | +# Linux kernel version: 2.6.34 | |
4 | +# Wed May 26 21:14:01 2010 | |
5 | 5 | # |
6 | 6 | CONFIG_64BIT=y |
7 | 7 | CONFIG_SPARC=y |
8 | 8 | |
... | ... | @@ -107,10 +107,9 @@ |
107 | 107 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set |
108 | 108 | CONFIG_VM_EVENT_COUNTERS=y |
109 | 109 | CONFIG_PCI_QUIRKS=y |
110 | -CONFIG_SLUB_DEBUG=y | |
111 | 110 | # CONFIG_COMPAT_BRK is not set |
112 | -# CONFIG_SLAB is not set | |
113 | -CONFIG_SLUB=y | |
111 | +CONFIG_SLAB=y | |
112 | +# CONFIG_SLUB is not set | |
114 | 113 | # CONFIG_SLOB is not set |
115 | 114 | CONFIG_PROFILING=y |
116 | 115 | CONFIG_TRACEPOINTS=y |
... | ... | @@ -239,6 +238,7 @@ |
239 | 238 | CONFIG_SPARSEMEM_VMEMMAP=y |
240 | 239 | CONFIG_PAGEFLAGS_EXTENDED=y |
241 | 240 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
241 | +# CONFIG_COMPACTION is not set | |
242 | 242 | CONFIG_MIGRATION=y |
243 | 243 | CONFIG_PHYS_ADDR_T_64BIT=y |
244 | 244 | CONFIG_ZONE_DMA_FLAG=0 |
... | ... | @@ -351,6 +351,7 @@ |
351 | 351 | # CONFIG_RDS is not set |
352 | 352 | # CONFIG_TIPC is not set |
353 | 353 | # CONFIG_ATM is not set |
354 | +# CONFIG_L2TP is not set | |
354 | 355 | # CONFIG_BRIDGE is not set |
355 | 356 | # CONFIG_NET_DSA is not set |
356 | 357 | CONFIG_VLAN_8021Q=m |
... | ... | @@ -367,6 +368,7 @@ |
367 | 368 | # CONFIG_IEEE802154 is not set |
368 | 369 | # CONFIG_NET_SCHED is not set |
369 | 370 | # CONFIG_DCB is not set |
371 | +CONFIG_RPS=y | |
370 | 372 | |
371 | 373 | # |
372 | 374 | # Network testing |
373 | 375 | |
... | ... | @@ -386,9 +388,14 @@ |
386 | 388 | # |
387 | 389 | # CFG80211 needs to be enabled for MAC80211 |
388 | 390 | # |
391 | + | |
392 | +# | |
393 | +# Some wireless drivers require a rate control algorithm | |
394 | +# | |
389 | 395 | # CONFIG_WIMAX is not set |
390 | 396 | # CONFIG_RFKILL is not set |
391 | 397 | # CONFIG_NET_9P is not set |
398 | +# CONFIG_CAIF is not set | |
392 | 399 | |
393 | 400 | # |
394 | 401 | # Device Drivers |
... | ... | @@ -658,6 +665,7 @@ |
658 | 665 | # CONFIG_NATIONAL_PHY is not set |
659 | 666 | # CONFIG_STE10XP is not set |
660 | 667 | # CONFIG_LSI_ET1011C_PHY is not set |
668 | +# CONFIG_MICREL_PHY is not set | |
661 | 669 | # CONFIG_MDIO_BITBANG is not set |
662 | 670 | CONFIG_NET_ETHERNET=y |
663 | 671 | CONFIG_MII=m |
... | ... | @@ -734,6 +742,8 @@ |
734 | 742 | # CONFIG_CHELSIO_T1 is not set |
735 | 743 | CONFIG_CHELSIO_T3_DEPENDS=y |
736 | 744 | # CONFIG_CHELSIO_T3 is not set |
745 | +CONFIG_CHELSIO_T4_DEPENDS=y | |
746 | +# CONFIG_CHELSIO_T4 is not set | |
737 | 747 | # CONFIG_ENIC is not set |
738 | 748 | # CONFIG_IXGBE is not set |
739 | 749 | # CONFIG_IXGBEVF is not set |
... | ... | @@ -766,6 +776,7 @@ |
766 | 776 | # CONFIG_USB_PEGASUS is not set |
767 | 777 | # CONFIG_USB_RTL8150 is not set |
768 | 778 | # CONFIG_USB_USBNET is not set |
779 | +# CONFIG_USB_IPHETH is not set | |
769 | 780 | # CONFIG_WAN is not set |
770 | 781 | # CONFIG_FDDI is not set |
771 | 782 | # CONFIG_HIPPI is not set |
... | ... | @@ -778,7 +789,6 @@ |
778 | 789 | CONFIG_PPP_BSDCOMP=m |
779 | 790 | CONFIG_PPP_MPPE=m |
780 | 791 | CONFIG_PPPOE=m |
781 | -# CONFIG_PPPOL2TP is not set | |
782 | 792 | # CONFIG_SLIP is not set |
783 | 793 | CONFIG_SLHC=m |
784 | 794 | # CONFIG_NET_FC is not set |
... | ... | @@ -816,6 +826,7 @@ |
816 | 826 | CONFIG_KEYBOARD_ATKBD=y |
817 | 827 | # CONFIG_QT2160 is not set |
818 | 828 | CONFIG_KEYBOARD_LKKBD=m |
829 | +# CONFIG_KEYBOARD_TCA6416 is not set | |
819 | 830 | # CONFIG_KEYBOARD_MAX7359 is not set |
820 | 831 | # CONFIG_KEYBOARD_NEWTON is not set |
821 | 832 | # CONFIG_KEYBOARD_OPENCORES is not set |
... | ... | @@ -840,6 +851,7 @@ |
840 | 851 | # CONFIG_INPUT_TABLET is not set |
841 | 852 | # CONFIG_INPUT_TOUCHSCREEN is not set |
842 | 853 | CONFIG_INPUT_MISC=y |
854 | +# CONFIG_INPUT_AD714X is not set | |
843 | 855 | CONFIG_INPUT_SPARCSPKR=y |
844 | 856 | # CONFIG_INPUT_ATI_REMOTE is not set |
845 | 857 | # CONFIG_INPUT_ATI_REMOTE2 is not set |
... | ... | @@ -848,6 +860,7 @@ |
848 | 860 | # CONFIG_INPUT_YEALINK is not set |
849 | 861 | # CONFIG_INPUT_CM109 is not set |
850 | 862 | # CONFIG_INPUT_UINPUT is not set |
863 | +# CONFIG_INPUT_PCF8574 is not set | |
851 | 864 | |
852 | 865 | # |
853 | 866 | # Hardware I/O ports |
... | ... | @@ -871,6 +884,7 @@ |
871 | 884 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
872 | 885 | # CONFIG_DEVKMEM is not set |
873 | 886 | # CONFIG_SERIAL_NONSTANDARD is not set |
887 | +# CONFIG_N_GSM is not set | |
874 | 888 | # CONFIG_NOZOMI is not set |
875 | 889 | |
876 | 890 | # |
... | ... | @@ -893,6 +907,8 @@ |
893 | 907 | # CONFIG_SERIAL_JSM is not set |
894 | 908 | # CONFIG_SERIAL_TIMBERDALE is not set |
895 | 909 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
910 | +# CONFIG_SERIAL_ALTERA_JTAGUART is not set | |
911 | +# CONFIG_SERIAL_ALTERA_UART is not set | |
896 | 912 | CONFIG_UNIX98_PTYS=y |
897 | 913 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
898 | 914 | # CONFIG_LEGACY_PTYS is not set |
899 | 915 | |
900 | 916 | |
... | ... | @@ -1306,11 +1322,14 @@ |
1306 | 1322 | CONFIG_HID_A4TECH=y |
1307 | 1323 | CONFIG_HID_APPLE=y |
1308 | 1324 | CONFIG_HID_BELKIN=y |
1325 | +# CONFIG_HID_CANDO is not set | |
1309 | 1326 | CONFIG_HID_CHERRY=y |
1310 | 1327 | CONFIG_HID_CHICONY=y |
1328 | +# CONFIG_HID_PRODIKEYS is not set | |
1311 | 1329 | CONFIG_HID_CYPRESS=y |
1312 | 1330 | CONFIG_HID_DRAGONRISE=y |
1313 | 1331 | # CONFIG_DRAGONRISE_FF is not set |
1332 | +# CONFIG_HID_EGALAX is not set | |
1314 | 1333 | CONFIG_HID_EZKEY=y |
1315 | 1334 | CONFIG_HID_KYE=y |
1316 | 1335 | CONFIG_HID_GYRATION=y |
1317 | 1336 | |
... | ... | @@ -1328,7 +1347,9 @@ |
1328 | 1347 | CONFIG_HID_PANTHERLORD=y |
1329 | 1348 | # CONFIG_PANTHERLORD_FF is not set |
1330 | 1349 | CONFIG_HID_PETALYNX=y |
1350 | +# CONFIG_HID_PICOLCD is not set | |
1331 | 1351 | # CONFIG_HID_QUANTA is not set |
1352 | +# CONFIG_HID_ROCCAT_KONE is not set | |
1332 | 1353 | CONFIG_HID_SAMSUNG=y |
1333 | 1354 | CONFIG_HID_SONY=y |
1334 | 1355 | # CONFIG_HID_STANTUM is not set |
... | ... | @@ -1342,6 +1363,7 @@ |
1342 | 1363 | # CONFIG_THRUSTMASTER_FF is not set |
1343 | 1364 | CONFIG_HID_ZEROPLUS=y |
1344 | 1365 | # CONFIG_ZEROPLUS_FF is not set |
1366 | +# CONFIG_HID_ZYDACRON is not set | |
1345 | 1367 | CONFIG_USB_SUPPORT=y |
1346 | 1368 | CONFIG_USB_ARCH_HAS_HCD=y |
1347 | 1369 | CONFIG_USB_ARCH_HAS_OHCI=y |
... | ... | @@ -1356,7 +1378,6 @@ |
1356 | 1378 | # CONFIG_USB_DEVICEFS is not set |
1357 | 1379 | # CONFIG_USB_DEVICE_CLASS is not set |
1358 | 1380 | # CONFIG_USB_DYNAMIC_MINORS is not set |
1359 | -# CONFIG_USB_OTG is not set | |
1360 | 1381 | # CONFIG_USB_MON is not set |
1361 | 1382 | # CONFIG_USB_WUSB is not set |
1362 | 1383 | # CONFIG_USB_WUSB_CBAF is not set |
... | ... | @@ -1521,10 +1542,6 @@ |
1521 | 1542 | # CONFIG_DMADEVICES is not set |
1522 | 1543 | # CONFIG_AUXDISPLAY is not set |
1523 | 1544 | # CONFIG_UIO is not set |
1524 | - | |
1525 | -# | |
1526 | -# TI VLYNQ | |
1527 | -# | |
1528 | 1545 | # CONFIG_STAGING is not set |
1529 | 1546 | |
1530 | 1547 | # |
... | ... | @@ -1706,8 +1723,8 @@ |
1706 | 1723 | CONFIG_SCHEDSTATS=y |
1707 | 1724 | # CONFIG_TIMER_STATS is not set |
1708 | 1725 | # CONFIG_DEBUG_OBJECTS is not set |
1709 | -# CONFIG_SLUB_DEBUG_ON is not set | |
1710 | -# CONFIG_SLUB_STATS is not set | |
1726 | +# CONFIG_DEBUG_SLAB is not set | |
1727 | +# CONFIG_DEBUG_KMEMLEAK is not set | |
1711 | 1728 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1712 | 1729 | # CONFIG_RT_MUTEX_TESTER is not set |
1713 | 1730 | # CONFIG_DEBUG_SPINLOCK is not set |
... | ... | @@ -1742,6 +1759,9 @@ |
1742 | 1759 | # CONFIG_DEBUG_PAGEALLOC is not set |
1743 | 1760 | CONFIG_NOP_TRACER=y |
1744 | 1761 | CONFIG_HAVE_FUNCTION_TRACER=y |
1762 | +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | |
1763 | +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y | |
1764 | +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | |
1745 | 1765 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1746 | 1766 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1747 | 1767 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y |
1748 | 1768 | |
... | ... | @@ -1769,12 +1789,12 @@ |
1769 | 1789 | # CONFIG_RING_BUFFER_BENCHMARK is not set |
1770 | 1790 | # CONFIG_DYNAMIC_DEBUG is not set |
1771 | 1791 | # CONFIG_DMA_API_DEBUG is not set |
1792 | +# CONFIG_ATOMIC64_SELFTEST is not set | |
1772 | 1793 | # CONFIG_SAMPLES is not set |
1773 | 1794 | CONFIG_HAVE_ARCH_KGDB=y |
1774 | 1795 | # CONFIG_KGDB is not set |
1775 | 1796 | # CONFIG_DEBUG_STACK_USAGE is not set |
1776 | 1797 | # CONFIG_DEBUG_DCFLUSH is not set |
1777 | -# CONFIG_STACK_DEBUG is not set | |
1778 | 1798 | # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set |
1779 | 1799 | |
1780 | 1800 | # |
... | ... | @@ -1895,6 +1915,7 @@ |
1895 | 1915 | # |
1896 | 1916 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1897 | 1917 | CONFIG_CRYPTO_HW=y |
1918 | +# CONFIG_CRYPTO_DEV_NIAGARA2 is not set | |
1898 | 1919 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
1899 | 1920 | CONFIG_BINARY_PRINTF=y |
1900 | 1921 |
arch/sparc/include/asm/cache.h
arch/sparc/include/asm/pgtable_32.h
... | ... | @@ -142,13 +142,12 @@ |
142 | 142 | #define pmd_page(pmd) BTFIXUP_CALL(pmd_page)(pmd) |
143 | 143 | #define pgd_page_vaddr(pgd) BTFIXUP_CALL(pgd_page_vaddr)(pgd) |
144 | 144 | |
145 | -BTFIXUPDEF_SETHI(none_mask) | |
146 | 145 | BTFIXUPDEF_CALL_CONST(int, pte_present, pte_t) |
147 | 146 | BTFIXUPDEF_CALL(void, pte_clear, pte_t *) |
148 | 147 | |
149 | 148 | static inline int pte_none(pte_t pte) |
150 | 149 | { |
151 | - return !(pte_val(pte) & ~BTFIXUP_SETHI(none_mask)); | |
150 | + return !pte_val(pte); | |
152 | 151 | } |
153 | 152 | |
154 | 153 | #define pte_present(pte) BTFIXUP_CALL(pte_present)(pte) |
... | ... | @@ -160,7 +159,7 @@ |
160 | 159 | |
161 | 160 | static inline int pmd_none(pmd_t pmd) |
162 | 161 | { |
163 | - return !(pmd_val(pmd) & ~BTFIXUP_SETHI(none_mask)); | |
162 | + return !pmd_val(pmd); | |
164 | 163 | } |
165 | 164 | |
166 | 165 | #define pmd_bad(pmd) BTFIXUP_CALL(pmd_bad)(pmd) |
arch/sparc/kernel/perf_event.c
arch/sparc/kernel/sun4d_irq.c
arch/sparc/kernel/ttable.S
arch/sparc/mm/srmmu.c
... | ... | @@ -2215,8 +2215,6 @@ |
2215 | 2215 | BTFIXUPSET_CALL(pmd_page, srmmu_pmd_page, BTFIXUPCALL_NORM); |
2216 | 2216 | BTFIXUPSET_CALL(pgd_page_vaddr, srmmu_pgd_page, BTFIXUPCALL_NORM); |
2217 | 2217 | |
2218 | - BTFIXUPSET_SETHI(none_mask, 0xF0000000); | |
2219 | - | |
2220 | 2218 | BTFIXUPSET_CALL(pte_present, srmmu_pte_present, BTFIXUPCALL_NORM); |
2221 | 2219 | BTFIXUPSET_CALL(pte_clear, srmmu_pte_clear, BTFIXUPCALL_SWAPO0G0); |
2222 | 2220 |
arch/sparc/mm/sun4c.c
... | ... | @@ -2087,9 +2087,6 @@ |
2087 | 2087 | |
2088 | 2088 | BTFIXUPSET_CALL(set_pte, sun4c_set_pte, BTFIXUPCALL_STO1O0); |
2089 | 2089 | |
2090 | - /* The 2.4.18 code does not set this on sun4c, how does it work? XXX */ | |
2091 | - /* BTFIXUPSET_SETHI(none_mask, 0x00000000); */ /* Defaults to zero? */ | |
2092 | - | |
2093 | 2090 | BTFIXUPSET_CALL(pte_pfn, sun4c_pte_pfn, BTFIXUPCALL_NORM); |
2094 | 2091 | #if 0 /* PAGE_SHIFT <= 12 */ /* Eek. Investigate. XXX */ |
2095 | 2092 | BTFIXUPSET_CALL(pmd_page, sun4c_pmd_page, BTFIXUPCALL_ANDNINT(PAGE_SIZE - 1)); |
drivers/sbus/char/openprom.c
... | ... | @@ -554,7 +554,7 @@ |
554 | 554 | static int openprom_bsd_ioctl(struct file * file, |
555 | 555 | unsigned int cmd, unsigned long arg) |
556 | 556 | { |
557 | - DATA *data = (DATA *) file->private_data; | |
557 | + DATA *data = file->private_data; | |
558 | 558 | void __user *argp = (void __user *)arg; |
559 | 559 | int err; |
560 | 560 | |
... | ... | @@ -601,7 +601,7 @@ |
601 | 601 | static long openprom_ioctl(struct file * file, |
602 | 602 | unsigned int cmd, unsigned long arg) |
603 | 603 | { |
604 | - DATA *data = (DATA *) file->private_data; | |
604 | + DATA *data = file->private_data; | |
605 | 605 | |
606 | 606 | switch (cmd) { |
607 | 607 | case OPROMGETOPT: |
drivers/serial/suncore.c
drivers/serial/sunsu.c
... | ... | @@ -1500,19 +1500,24 @@ |
1500 | 1500 | static int __devexit su_remove(struct of_device *op) |
1501 | 1501 | { |
1502 | 1502 | struct uart_sunsu_port *up = dev_get_drvdata(&op->dev); |
1503 | + bool kbdms = false; | |
1503 | 1504 | |
1504 | 1505 | if (up->su_type == SU_PORT_MS || |
1505 | - up->su_type == SU_PORT_KBD) { | |
1506 | + up->su_type == SU_PORT_KBD) | |
1507 | + kbdms = true; | |
1508 | + | |
1509 | + if (kbdms) { | |
1506 | 1510 | #ifdef CONFIG_SERIO |
1507 | 1511 | serio_unregister_port(&up->serio); |
1508 | 1512 | #endif |
1509 | - kfree(up); | |
1510 | - } else if (up->port.type != PORT_UNKNOWN) { | |
1513 | + } else if (up->port.type != PORT_UNKNOWN) | |
1511 | 1514 | uart_remove_one_port(&sunsu_reg, &up->port); |
1512 | - } | |
1513 | 1515 | |
1514 | 1516 | if (up->port.membase) |
1515 | 1517 | of_iounmap(&op->resource[0], up->port.membase, up->reg_size); |
1518 | + | |
1519 | + if (kbdms) | |
1520 | + kfree(up); | |
1516 | 1521 | |
1517 | 1522 | dev_set_drvdata(&op->dev, NULL); |
1518 | 1523 |
include/math-emu/op-common.h
... | ... | @@ -799,7 +799,7 @@ |
799 | 799 | X##_e -= (_FP_W_TYPE_SIZE - rsize); \ |
800 | 800 | X##_e = rsize - X##_e - 1; \ |
801 | 801 | \ |
802 | - if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs < X##_e) \ | |
802 | + if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs <= X##_e) \ | |
803 | 803 | __FP_FRAC_SRS_1(ur_, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);\ |
804 | 804 | _FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \ |
805 | 805 | if ((_FP_WFRACBITS_##fs - X##_e - 1) > 0) \ |
tools/perf/arch/sparc/Makefile
tools/perf/arch/sparc/util/dwarf-regs.c
1 | +/* | |
2 | + * Mapping of DWARF debug register numbers into register names. | |
3 | + * | |
4 | + * Copyright (C) 2010 David S. Miller <davem@davemloft.net> | |
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 | |
9 | + * 2 of the License, or (at your option) any later version. | |
10 | + */ | |
11 | + | |
12 | +#include <libio.h> | |
13 | +#include <dwarf-regs.h> | |
14 | + | |
15 | +#define SPARC_MAX_REGS 96 | |
16 | + | |
17 | +const char *sparc_regs_table[SPARC_MAX_REGS] = { | |
18 | + "%g0", "%g1", "%g2", "%g3", "%g4", "%g5", "%g6", "%g7", | |
19 | + "%o0", "%o1", "%o2", "%o3", "%o4", "%o5", "%sp", "%o7", | |
20 | + "%l0", "%l1", "%l2", "%l3", "%l4", "%l5", "%l6", "%l7", | |
21 | + "%i0", "%i1", "%i2", "%i3", "%i4", "%i5", "%fp", "%i7", | |
22 | + "%f0", "%f1", "%f2", "%f3", "%f4", "%f5", "%f6", "%f7", | |
23 | + "%f8", "%f9", "%f10", "%f11", "%f12", "%f13", "%f14", "%f15", | |
24 | + "%f16", "%f17", "%f18", "%f19", "%f20", "%f21", "%f22", "%f23", | |
25 | + "%f24", "%f25", "%f26", "%f27", "%f28", "%f29", "%f30", "%f31", | |
26 | + "%f32", "%f33", "%f34", "%f35", "%f36", "%f37", "%f38", "%f39", | |
27 | + "%f40", "%f41", "%f42", "%f43", "%f44", "%f45", "%f46", "%f47", | |
28 | + "%f48", "%f49", "%f50", "%f51", "%f52", "%f53", "%f54", "%f55", | |
29 | + "%f56", "%f57", "%f58", "%f59", "%f60", "%f61", "%f62", "%f63", | |
30 | +}; | |
31 | + | |
32 | +/** | |
33 | + * get_arch_regstr() - lookup register name from it's DWARF register number | |
34 | + * @n: the DWARF register number | |
35 | + * | |
36 | + * get_arch_regstr() returns the name of the register in struct | |
37 | + * regdwarfnum_table from it's DWARF register number. If the register is not | |
38 | + * found in the table, this returns NULL; | |
39 | + */ | |
40 | +const char *get_arch_regstr(unsigned int n) | |
41 | +{ | |
42 | + return (n <= SPARC_MAX_REGS) ? sparc_regs_table[n] : NULL; | |
43 | +} |