This reverts commit bbfceba15f8d1260c328a254efc2b3f2deae4904. When DBG_MAX_REG_NUM is zero then a number of symbols are conditionally defined. It is therefore not possible to check it using C expressions.
Showing the changes to kernel/debug (1 of 1 file). Show all
Unified · Split
| @@ -543,8 +543,9 @@ int kdbgetaddrarg(int argc, const char **argv, int *nextarg, · 542 unmodified lines | |||
| 543 | if (diag) | 543 | if (diag) |
| 544 | return diag; | 544 | return diag; |
| 545 | } else if (symname[0] == '%') { | 545 | } else if (symname[0] == '%') { |
| 546 | if (kdb_check_regs()) | 546 | diag = kdb_check_regs(); |
| 547 | return 0; | 547 | if (diag) |
| 548 | return diag; | ||
| 548 | /* Implement register values with % at a later time as it is | 549 | /* Implement register values with % at a later time as it is |
| 549 | * arch optional. | 550 | * arch optional. |
| 550 | */ | 551 | */ |
| @@ -1835,7 +1836,8 @@ static int kdb_go(int argc, const char **argv) · 1284 unmodified lines | |||
| 1835 | */ | 1836 | */ |
| 1836 | static int kdb_rd(int argc, const char **argv) | 1837 | static int kdb_rd(int argc, const char **argv) |
| 1837 | { | 1838 | { |
| 1838 | int len = 0; | 1839 | int len = kdb_check_regs(); |
| 1840 | #if DBG_MAX_REG_NUM > 0 | ||
| 1839 | int i; | 1841 | int i; |
| 1840 | char *rname; | 1842 | char *rname; |
| 1841 | int rsize; | 1843 | int rsize; |
| @@ -1844,14 +1846,8 @@ static int kdb_rd(int argc, const char **argv) · 2 unmodified lines | |||
| 1844 | u16 reg16; | 1846 | u16 reg16; |
| 1845 | u8 reg8; | 1847 | u8 reg8; |
| 1846 | 1848 | ||
| 1847 | if (kdb_check_regs()) | 1849 | if (len) |
| 1848 | return 0; | 1850 | return len; |
| 1849 | |||
| 1850 | /* Fallback to Linux showregs() if we don't have DBG_MAX_REG_NUM */ | ||
| 1851 | if (DBG_MAX_REG_NUM <= 0) { | ||
| 1852 | kdb_dumpregs(kdb_current_regs); | ||
| 1853 | return 0; | ||
| 1854 | } | ||
| 1855 | 1851 | ||
| 1856 | for (i = 0; i < DBG_MAX_REG_NUM; i++) { | 1852 | for (i = 0; i < DBG_MAX_REG_NUM; i++) { |
| 1857 | rsize = dbg_reg_def[i].size * 2; | 1853 | rsize = dbg_reg_def[i].size * 2; |
| @@ -1893,7 +1889,12 @@ static int kdb_rd(int argc, const char **argv) · 35 unmodified lines | |||
| 1893 | } | 1889 | } |
| 1894 | } | 1890 | } |
| 1895 | kdb_printf("\n"); | 1891 | kdb_printf("\n"); |
| 1892 | #else | ||
| 1893 | if (len) | ||
| 1894 | return len; | ||
| 1896 | 1895 | ||
| 1896 | kdb_dumpregs(kdb_current_regs); | ||
| 1897 | #endif | ||
| 1897 | return 0; | 1898 | return 0; |
| 1898 | } | 1899 | } |
| 1899 | 1900 | ||
| @@ -1927,8 +1928,9 @@ static int kdb_rm(int argc, const char **argv) · 27 unmodified lines | |||
| 1927 | if (diag) | 1928 | if (diag) |
| 1928 | return diag; | 1929 | return diag; |
| 1929 | 1930 | ||
| 1930 | if (kdb_check_regs()) | 1931 | diag = kdb_check_regs(); |
| 1931 | return 0; | 1932 | if (diag) |
| 1933 | return diag; | ||
| 1932 | 1934 | ||
| 1933 | diag = KDB_BADREG; | 1935 | diag = KDB_BADREG; |
| 1934 | for (i = 0; i < DBG_MAX_REG_NUM; i++) { | 1936 | for (i = 0; i < DBG_MAX_REG_NUM; i++) { |