* config/m68k-parse.h (enum m68k_register): Add ACR[4-7], RGPIOBAR.

* config/tc-m68k.c (mcf5206_ctrl): Fix whitespace.
	(mcf52223_ctrl): Remove non-existent registers.
	(mcf54418): Define.
	(mcf54455): Remove MBAR.
	(m68k_cpus): Add lines for MCF5441x family.
	(m68k_ip, init_table): Handle RGPIOBAR, ACR[4-7].

	* m68k-dis.c (print_insn_arg): Handle RGPIOBAR, ACR[4-7] and MBAR[01].
This commit is contained in:
Maxim Kuvyrkov 2009-11-10 18:05:24 +00:00
parent 3ab904c416
commit 0d999f3337
5 changed files with 58 additions and 8 deletions

View file

@ -1,3 +1,13 @@
2009-11-10 Maxim Kuvyrkov <maxim@codesourcery.com>
* config/m68k-parse.h (enum m68k_register): Add ACR[4-7], RGPIOBAR.
* config/tc-m68k.c (mcf5206_ctrl): Fix whitespace.
(mcf52223_ctrl): Remove non-existent registers.
(mcf54418): Define.
(mcf54455): Remove MBAR.
(m68k_cpus): Add lines for MCF5441x family.
(m68k_ip, init_table): Handle RGPIOBAR, ACR[4-7].
2009-11-06 H.J. Lu <hongjiu.lu@intel.com>
* doc/c-i386.texi: Move .lwp.

View file

@ -127,9 +127,11 @@ enum m68k_register
PCR3U0, PCR3L0, PCR3U1, PCR3L1,/* mcfv4e added these. */
MBAR0, MBAR1, /* mcfv4e added these. */
ACR0, ACR1, ACR2, ACR3, /* mcf5200 added these. */
ACR4, ACR5, ACR6, ACR7, /* mcf54418 added these. */
FLASHBAR, RAMBAR, /* mcf528x added these. */
MBAR2, /* mcf5249 added this. */
MBAR,
RGPIOBAR, /* mcf54418 added this. */
ASID, /* m5475. */
CAC, /* fido added this. */
MBO,

View file

@ -186,7 +186,7 @@ static const enum m68k_register mcf51_ctrl[] = {
0
};
static const enum m68k_register mcf5206_ctrl[] = {
CACR, ACR0, ACR1, VBR, RAMBAR0, RAMBAR_ALT, MBAR,
CACR, ACR0, ACR1, VBR, RAMBAR0, RAMBAR_ALT, MBAR,
0
};
static const enum m68k_register mcf5208_ctrl[] = {
@ -210,7 +210,7 @@ static const enum m68k_register mcf5221x_ctrl[] = {
0
};
static const enum m68k_register mcf52223_ctrl[] = {
VBR, CACR, ACR0, ACR1, FLASHBAR, RAMBAR, RAMBAR1,
VBR, FLASHBAR, RAMBAR, RAMBAR1,
0
};
static const enum m68k_register mcf52235_ctrl[] = {
@ -302,13 +302,22 @@ static const enum m68k_register mcf5407_ctrl[] = {
MBAR1 /* MBAR */, RAMBAR /* RAMBAR1 */,
0
};
static const enum m68k_register mcf54455_ctrl[] = {
CACR, ASID, ACR0, ACR1, ACR2, ACR3, MMUBAR,
VBR, PC, RAMBAR1, MBAR,
static const enum m68k_register mcf54418_ctrl[] = {
CACR, ASID, ACR0, ACR1, ACR2, ACR3, ACR4, ACR5, ACR6, ACR7, MMUBAR, RGPIOBAR,
VBR, PC, RAMBAR1,
/* Legacy names */
TC /* ASID */, BUSCR /* MMUBAR */,
ITT0 /* ACR0 */, ITT1 /* ACR1 */, DTT0 /* ACR2 */, DTT1 /* ACR3 */,
MBAR1 /* MBAR */, RAMBAR /* RAMBAR1 */,
RAMBAR /* RAMBAR1 */,
0
};
static const enum m68k_register mcf54455_ctrl[] = {
CACR, ASID, ACR0, ACR1, ACR2, ACR3, MMUBAR,
VBR, PC, RAMBAR1,
/* Legacy names */
TC /* ASID */, BUSCR /* MMUBAR */,
ITT0 /* ACR0 */, ITT1 /* ACR1 */, DTT0 /* ACR2 */, DTT1 /* ACR3 */,
RAMBAR /* RAMBAR1 */,
0
};
static const enum m68k_register mcf5475_ctrl[] = {
@ -693,6 +702,12 @@ static const struct m68k_cpu m68k_cpus[] =
{mcfisa_a|mcfisa_b|mcfhwdiv|mcfmac, mcf5407_ctrl, "5407",0},
{mcfisa_a|mcfisa_c|mcfhwdiv|mcfemac|mcfusp, mcf54418_ctrl, "54410", -1},
{mcfisa_a|mcfisa_c|mcfhwdiv|mcfemac|mcfusp, mcf54418_ctrl, "54415", -1},
{mcfisa_a|mcfisa_c|mcfhwdiv|mcfemac|mcfusp, mcf54418_ctrl, "54416", -1},
{mcfisa_a|mcfisa_c|mcfhwdiv|mcfemac|mcfusp, mcf54418_ctrl, "54417", -1},
{mcfisa_a|mcfisa_c|mcfhwdiv|mcfemac|mcfusp, mcf54418_ctrl, "54418", 0},
{mcfisa_a|mcfisa_c|mcfhwdiv|mcfemac|mcfusp, mcf54455_ctrl, "54450", -1},
{mcfisa_a|mcfisa_c|mcfhwdiv|mcfemac|mcfusp, mcf54455_ctrl, "54451", -1},
{mcfisa_a|mcfisa_c|mcfhwdiv|mcfemac|mcfusp, mcf54455_ctrl, "54452", -1},
@ -3330,6 +3345,15 @@ m68k_ip (char *instring)
case MMUBAR:
tmpreg = 0x008;
break;
case RGPIOBAR:
tmpreg = 0x009;
break;
case ACR4:
case ACR5:
case ACR6:
case ACR7:
tmpreg = 0x00c + (opP->reg - ACR4);
break;
case USP:
tmpreg = 0x800;
@ -4125,6 +4149,10 @@ static const struct init_entry init_table[] =
{ "acr1", ACR1 }, /* Access Control Unit 1. */
{ "acr2", ACR2 }, /* Access Control Unit 2. */
{ "acr3", ACR3 }, /* Access Control Unit 3. */
{ "acr4", ACR4 }, /* Access Control Unit 4. */
{ "acr5", ACR5 }, /* Access Control Unit 5. */
{ "acr6", ACR6 }, /* Access Control Unit 6. */
{ "acr7", ACR7 }, /* Access Control Unit 7. */
{ "tc", TC }, /* MMU Translation Control Register. */
{ "tcr", TC },
@ -4170,6 +4198,8 @@ static const struct init_entry init_table[] =
{ "mbar2", MBAR2 }, /* mcf5249 registers. */
{ "rgpiobar", RGPIOBAR }, /* mcf54418 registers. */
{ "cac", CAC }, /* fido registers. */
{ "mbb", MBO }, /* fido registers (obsolete). */
{ "mbo", MBO }, /* fido registers. */

View file

@ -1,3 +1,7 @@
2009-11-10 Maxim Kuvyrkov <maxim@codesourcery.com>
* m68k-dis.c (print_insn_arg): Handle RGPIOBAR, ACR[4-7] and MBAR[01].
2009-11-06 Sebastian Pop <sebastian.pop@amd.com>
* i386-dis.c (reg_table): Add XOP_8F_TABLE (XOP_09) to

View file

@ -707,14 +707,18 @@ print_insn_arg (const char *d,
{"%sfc", 0x000}, {"%dfc", 0x001}, {"%cacr", 0x002},
{"%tc", 0x003}, {"%itt0",0x004}, {"%itt1", 0x005},
{"%dtt0",0x006}, {"%dtt1",0x007}, {"%buscr",0x008},
{"%rgpiobar", 0x009}, {"%acr4",0x00c},
{"%acr5",0x00d}, {"%acr6",0x00e}, {"%acr7", 0x00f},
{"%usp", 0x800}, {"%vbr", 0x801}, {"%caar", 0x802},
{"%msp", 0x803}, {"%isp", 0x804},
{"%pc", 0x80f},
/* Reg c04 is sometimes called flashbar or rambar.
Rec c05 is also sometimes called rambar. */
Reg c05 is also sometimes called rambar. */
{"%rambar0", 0xc04}, {"%rambar1", 0xc05},
{"%mbar", 0xc0f},
/* reg c0e is sometimes called mbar2 or secmbar.
reg c0f is sometimes called mbar. */
{"%mbar0", 0xc0e}, {"%mbar1", 0xc0f},
/* Should we be calling this psr like we do in case 'Y'? */
{"%mmusr",0x805},