This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PING: RE: [PATCH, AVR] Change opcode set for avr3 architecture.


PING. 

I need approval for patch below to commit.

Thanks,
Eric Weddington 

 
> > -----Original Message-----
> > From: Weddington, Eric 
> > Sent: Tuesday, January 01, 2008 3:35 PM
> > To: binutils@sourceware.org
> > Cc: Denis Chertykov; Anatoly Sokolov
> > Subject: [PATCH, AVR] Change opcode set for avr3 architecture.
> > 
> > This patch changes the opcode set for the avr3 architecture 
> > and for two
> > recently added devices. This change is needed to support 
> the new avr35
> > architecture (in between avr3 and avr4) being added to gcc.
> 
> In talking with Anatoly Sokolov offline, the patch needed a slight
> change to avoid a regression. Patch resubmitted below.
> 
> Thanks,
> Eric Weddington
> 
>  
> /gas:
> 
> 2008-01-03  Eric B. Weddington  <eric.weddington@atmel.com>
> 
> 	* config/tc-avr.c (mcu_types): Change opcode set for avr3,
> 	at90usb82, at90usb162.
> 	* doc/c-avr.texi: Change architecture grouping for at90usb82, 
> 	at90usb162.
> 	These changes support the new avr35 architecture group in gcc.
> 
> /include:
> 
> 2008-01-03  Eric B. Weddington  <eric.weddington@atmel.com>
> 
> 	* opcode/avr.h (AVR_ISA_USB162): Add new opcode set.
> 	(AVR_ISA_AVR3): Likewise.
> 
> 
> Index: gas/config/tc-avr.c
> ===================================================================
> RCS file: /cvs/src/src/gas/config/tc-avr.c,v
> retrieving revision 1.48
> diff -u -p -r1.48 tc-avr.c
> --- gas/config/tc-avr.c	16 Nov 2007 17:39:22 -0000	1.48
> +++ gas/config/tc-avr.c	3 Jan 2008 20:56:39 -0000
> @@ -63,7 +63,7 @@ static struct mcu_type_s mcu_types[] =
>  {
>    {"avr1",       AVR_ISA_TINY1,   bfd_mach_avr1},
>    {"avr2",       AVR_ISA_TINY2,   bfd_mach_avr2},
> -  {"avr3",       AVR_ISA_M103,    bfd_mach_avr3},
> +  {"avr3",       AVR_ISA_AVR3,    bfd_mach_avr3},
>    {"avr4",       AVR_ISA_M8,      bfd_mach_avr4},
>    {"avr5",       AVR_ISA_ALL,     bfd_mach_avr5},
>    {"avr6",       AVR_ISA_ALL,     bfd_mach_avr6},
> @@ -103,6 +103,8 @@ static struct mcu_type_s mcu_types[] =
>    {"at43usb320", AVR_ISA_M103,    bfd_mach_avr3},
>    {"at43usb355", AVR_ISA_M603,    bfd_mach_avr3},
>    {"at76c711",   AVR_ISA_M603,    bfd_mach_avr3},
> +  {"at90usb82",  AVR_ISA_USB162,  bfd_mach_avr3},
> +  {"at90usb162", AVR_ISA_USB162,  bfd_mach_avr3},
>    {"atmega48",   AVR_ISA_PWMx,    bfd_mach_avr4},
>    {"atmega48p",  AVR_ISA_PWMx,    bfd_mach_avr4},
>    {"atmega8",    AVR_ISA_M8,      bfd_mach_avr4},
> @@ -159,8 +161,6 @@ static struct mcu_type_s mcu_types[] =
>    {"at90can128", AVR_ISA_M128,    bfd_mach_avr5},
>    {"at90pwm216", AVR_ISA_M323,    bfd_mach_avr5},
>    {"at90pwm316", AVR_ISA_M323,    bfd_mach_avr5},
> -  {"at90usb82",  AVR_ISA_M323,    bfd_mach_avr5},
> -  {"at90usb162", AVR_ISA_M323,    bfd_mach_avr5},
>    {"at90usb646", AVR_ISA_M323,    bfd_mach_avr5},
>    {"at90usb647", AVR_ISA_M323,    bfd_mach_avr5},
>    {"at90usb1286",AVR_ISA_M128,    bfd_mach_avr5},
> Index: gas/doc/c-avr.texi
> ===================================================================
> RCS file: /cvs/src/src/gas/doc/c-avr.texi,v
> retrieving revision 1.12
> diff -u -p -r1.12 c-avr.texi
> --- gas/doc/c-avr.texi	16 Nov 2007 17:39:22 -0000	1.12
> +++ gas/doc/c-avr.texi	3 Jan 2008 20:56:39 -0000
> @@ -44,7 +44,8 @@ attiny261, attiny461, attiny861, attiny2
>  attiny45, attiny85, attiny43u, attiny48, attiny88).
>  
>  Instruction set avr3 is for the classic AVR core with up to 128K
> program
> -memory space (MCU types: atmega103, at43usb320, at43usb355, 
> at76c711).
> +memory space (MCU types: atmega103, at43usb320, at43usb355, 
> at76c711, 
> +at90usb82, at90usb162).
>  
>  Instruction set avr4 is for the enhanced AVR core with up to 
> 8K program
>  memory space (MCU types: atmega48, atmega48p,atmega8, atmega88,
> atmega88p,
> @@ -59,8 +60,8 @@ atmega328p, atmega329, atmega329p, atmeg
>  atmega3290p, atmega32hvb, atmega406, atmega64, atmega640, atmega644,
> atmega644p, 
>  atmega128, atmega1280, atmega1281, atmega1284p, atmega645, 
> atmega649, 
>  atmega6450, atmega6490, atmega16hva, at90can32, at90can64, 
> at90can128, 
> -at90pwm216, at90pwm316,at90usb82, at90usb162, at90usb646, 
> at90usb647, 
> -at90usb1286, at90usb1287, at94k).
> +at90pwm216, at90pwm316, at90usb646, at90usb647, at90usb1286,
> at90usb1287,
> +at94k).
>  
>  Instruction set avr6 is for the enhanced AVR core with 256K program
>  memory space (MCU types: atmega2560, atmega2561).
> Index: include/opcode/avr.h
> ===================================================================
> RCS file: /cvs/src/src/include/opcode/avr.h,v
> retrieving revision 1.9
> diff -u -p -r1.9 avr.h
> --- include/opcode/avr.h	7 Apr 2006 15:18:08 -0000	1.9
> +++ include/opcode/avr.h	3 Jan 2008 20:56:40 -0000
> @@ -40,6 +40,10 @@
>                         AVR_ISA_LPMX | AVR_ISA_SPM)
>  #define AVR_ISA_M603  (AVR_ISA_2xxx | AVR_ISA_MEGA)
>  #define AVR_ISA_M103  (AVR_ISA_M603 | AVR_ISA_ELPM)
> +#define AVR_ISA_USB162 (AVR_ISA_M603 | AVR_ISA_MOVW | \
> +                       AVR_ISA_LPMX | AVR_ISA_SPM)
> +#define AVR_ISA_AVR3 (AVR_ISA_M603 | AVR_ISA_MOVW | \
> +                       AVR_ISA_LPMX | AVR_ISA_SPM  | AVR_ISA_ELPM)
>  #define AVR_ISA_M161  (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \
>                         AVR_ISA_LPMX | AVR_ISA_SPM)
>  #define AVR_ISA_94K   (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW |
> AVR_ISA_LPMX)
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]