~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/powerpc/boot/rs6000.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/powerpc/boot/rs6000.h (Version linux-6.12-rc7) and /arch/alpha/boot/rs6000.h (Version linux-5.15.171)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 /* IBM RS/6000 "XCOFF" file definitions for BF    
  3    Copyright (C) 1990, 1991 Free Software Foun    
  4    FIXME: Can someone provide a transliteratio    
  5    Using the following chars caused a compiler    
  6    them with octal escapes), and isn't useful     
  7    character set it is.                           
  8    Written by Mimi Ph\373\364ng-Th\345o V\365     
  9    and John Gilmore of Cygnus Support.  */        
 10                                                   
 11 /********************** FILE HEADER **********    
 12                                                   
 13 struct external_filehdr {                         
 14         char f_magic[2];        /* magic numbe    
 15         char f_nscns[2];        /* number of s    
 16         char f_timdat[4];       /* time & date    
 17         char f_symptr[4];       /* file pointe    
 18         char f_nsyms[4];        /* number of s    
 19         char f_opthdr[2];       /* sizeof(opti    
 20         char f_flags[2];        /* flags          
 21 };                                                
 22                                                   
 23         /* IBM RS/6000 */                         
 24 #define U802WRMAGIC     0730    /* writeable t    
 25 #define U802ROMAGIC     0735    /* readonly sh    
 26 #define U802TOCMAGIC    0737    /* readonly te    
 27                                                   
 28 #define BADMAG(x)       \                         
 29         ((x).f_magic != U802ROMAGIC && (x).f_m    
 30          (x).f_magic != U802TOCMAGIC)             
 31                                                   
 32 #define FILHDR  struct external_filehdr           
 33 #define FILHSZ  20                                
 34                                                   
 35                                                   
 36 /********************** AOUT "OPTIONAL HEADER"    
 37                                                   
 38                                                   
 39 typedef struct                                    
 40 {                                                 
 41   unsigned char magic[2];       /* type of fil    
 42   unsigned char vstamp[2];      /* version sta    
 43   unsigned char tsize[4];       /* text size i    
 44   unsigned char dsize[4];       /* initialized    
 45   unsigned char bsize[4];       /* uninitializ    
 46   unsigned char entry[4];       /* entry pt.      
 47   unsigned char text_start[4];  /* base of tex    
 48   unsigned char data_start[4];  /* base of dat    
 49   unsigned char o_toc[4];       /* address of     
 50   unsigned char o_snentry[2];   /* section num    
 51   unsigned char o_sntext[2];    /* section num    
 52   unsigned char o_sndata[2];    /* section num    
 53   unsigned char o_sntoc[2];     /* section num    
 54   unsigned char o_snloader[2];  /* section num    
 55   unsigned char o_snbss[2];     /* section num    
 56   unsigned char o_algntext[2];  /* .text align    
 57   unsigned char o_algndata[2];  /* .data align    
 58   unsigned char o_modtype[2];   /* module type    
 59   unsigned char o_cputype[2];   /* cpu type */    
 60   unsigned char o_maxstack[4];  /* max stack s    
 61   unsigned char o_maxdata[4];   /* max data si    
 62   unsigned char o_resv2[12];    /* reserved */    
 63 }                                                 
 64 AOUTHDR;                                          
 65                                                   
 66 #define AOUTSZ 72                                 
 67 #define SMALL_AOUTSZ (28)                         
 68 #define AOUTHDRSZ 72                              
 69                                                   
 70 #define RS6K_AOUTHDR_OMAGIC     0x0107  /* old    
 71 #define RS6K_AOUTHDR_NMAGIC     0x0108  /* new    
 72 #define RS6K_AOUTHDR_ZMAGIC     0x010B  /* pag    
 73                                                   
 74                                                   
 75 /********************** SECTION HEADER *******    
 76                                                   
 77                                                   
 78 struct external_scnhdr {                          
 79         char            s_name[8];      /* sec    
 80         char            s_paddr[4];     /* phy    
 81         char            s_vaddr[4];     /* vir    
 82         char            s_size[4];      /* sec    
 83         char            s_scnptr[4];    /* fil    
 84         char            s_relptr[4];    /* fil    
 85         char            s_lnnoptr[4];   /* fil    
 86         char            s_nreloc[2];    /* num    
 87         char            s_nlnno[2];     /* num    
 88         char            s_flags[4];     /* fla    
 89 };                                                
 90                                                   
 91 /*                                                
 92  * names of "special" sections                    
 93  */                                               
 94 #define _TEXT   ".text"                           
 95 #define _DATA   ".data"                           
 96 #define _BSS    ".bss"                            
 97 #define _PAD    ".pad"                            
 98 #define _LOADER ".loader"                         
 99                                                   
100 #define SCNHDR  struct external_scnhdr            
101 #define SCNHSZ  40                                
102                                                   
103 /* XCOFF uses a special .loader section with t    
104 #define STYP_LOADER 0x1000                        
105                                                   
106 /* XCOFF uses a special .debug section with ty    
107 #define STYP_DEBUG 0x2000                         
108                                                   
109 /* XCOFF handles line number or relocation ove    
110    another section header with STYP_OVRFLO set    
111 #define STYP_OVRFLO 0x8000                        
112                                                   
113 /********************** LINE NUMBERS *********    
114                                                   
115 /* 1 line number entry for every "breakpointab    
116  * Line numbers are grouped on a per function     
117  * grouping will have l_lnno = 0 and in place     
118  * symbol table index of the function name.       
119  */                                               
120 struct external_lineno {                          
121         union {                                   
122                 char l_symndx[4];       /* fun    
123                 char l_paddr[4];        /* (ph    
124         } l_addr;                                 
125         char l_lnno[2]; /* line number            
126 };                                                
127                                                   
128                                                   
129 #define LINENO  struct external_lineno            
130 #define LINESZ  6                                 
131                                                   
132                                                   
133 /********************** SYMBOLS **************    
134                                                   
135 #define E_SYMNMLEN      8       /* # character    
136 #define E_FILNMLEN      14      /* # character    
137 #define E_DIMNUM        4       /* # array dim    
138                                                   
139 struct external_syment                            
140 {                                                 
141   union {                                         
142     char e_name[E_SYMNMLEN];                      
143     struct {                                      
144       char e_zeroes[4];                           
145       char e_offset[4];                           
146     } e;                                          
147   } e;                                            
148   char e_value[4];                                
149   char e_scnum[2];                                
150   char e_type[2];                                 
151   char e_sclass[1];                               
152   char e_numaux[1];                               
153 };                                                
154                                                   
155                                                   
156                                                   
157 #define N_BTMASK        (017)                     
158 #define N_TMASK         (060)                     
159 #define N_BTSHFT        (4)                       
160 #define N_TSHIFT        (2)                       
161                                                   
162                                                   
163 union external_auxent {                           
164         struct {                                  
165                 char x_tagndx[4];       /* str    
166                 union {                           
167                         struct {                  
168                             char  x_lnno[2]; /    
169                             char  x_size[2]; /    
170                         } x_lnsz;                 
171                         char x_fsize[4];          
172                 } x_misc;                         
173                 union {                           
174                         struct {                  
175                             char x_lnnoptr[4];    
176                             char x_endndx[4];     
177                         } x_fcn;                  
178                         struct {                  
179                             char x_dimen[E_DIM    
180                         } x_ary;                  
181                 } x_fcnary;                       
182                 char x_tvndx[2];                  
183         } x_sym;                                  
184                                                   
185         union {                                   
186                 char x_fname[E_FILNMLEN];         
187                 struct {                          
188                         char x_zeroes[4];         
189                         char x_offset[4];         
190                 } x_n;                            
191         } x_file;                                 
192                                                   
193         struct {                                  
194                 char x_scnlen[4];                 
195                 char x_nreloc[2];       /* # r    
196                 char x_nlinno[2];       /* # l    
197         } x_scn;                                  
198                                                   
199         struct {                                  
200                 char x_tvfill[4];       /* tv     
201                 char x_tvlen[2];        /* len    
202                 char x_tvran[2][2];     /* tv     
203         } x_tv;         /* info about .tv sect    
204                                                   
205         struct {                                  
206                 unsigned char x_scnlen[4];        
207                 unsigned char x_parmhash[4];      
208                 unsigned char x_snhash[2];        
209                 unsigned char x_smtyp[1];         
210                 unsigned char x_smclas[1];        
211                 unsigned char x_stab[4];          
212                 unsigned char x_snstab[2];        
213         } x_csect;                                
214                                                   
215 };                                                
216                                                   
217 #define SYMENT  struct external_syment            
218 #define SYMESZ  18                                
219 #define AUXENT  union external_auxent             
220 #define AUXESZ  18                                
221 #define DBXMASK 0x80            /* for dbx sto    
222 #define SYMNAME_IN_DEBUG(symptr) ((symptr)->n_    
223                                                   
224                                                   
225                                                   
226 /********************** RELOCATION DIRECTIVES     
227                                                   
228                                                   
229 struct external_reloc {                           
230   char r_vaddr[4];                                
231   char r_symndx[4];                               
232   char r_size[1];                                 
233   char r_type[1];                                 
234 };                                                
235                                                   
236                                                   
237 #define RELOC struct external_reloc               
238 #define RELSZ 10                                  
239                                                   
240 #define DEFAULT_DATA_SECTION_ALIGNMENT 4          
241 #define DEFAULT_BSS_SECTION_ALIGNMENT 4           
242 #define DEFAULT_TEXT_SECTION_ALIGNMENT 4          
243 /* For new sections we haven't heard of before    
244 #define DEFAULT_SECTION_ALIGNMENT 4               
245                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php