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

TOMOYO Linux Cross Reference
Linux/arch/m68k/kernel/sun3-head.S

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/m68k/kernel/sun3-head.S (Architecture i386) and /arch/ppc/kernel/sun3-head.S (Architecture ppc)


  1 /* SPDX-License-Identifier: GPL-2.0 */            
  2 #include <linux/linkage.h>                        
  3 #include <linux/init.h>                           
  4                                                   
  5 #include <asm/entry.h>                            
  6 #include <asm/page.h>                             
  7 #include <asm/contregs.h>                         
  8 #include <asm/sun3-head.h>                        
  9                                                   
 10 PSL_HIGHIPL     = 0x2700                          
 11 NBSG            = 0x20000                         
 12 ICACHE_ONLY     = 0x00000009                      
 13 CACHES_OFF      = 0x00000008    | actually a c    
 14 #define MAS_STACK INT_STACK                       
 15 ROOT_TABLE_SIZE = 128                             
 16 PAGESIZE        = 8192                            
 17 SUN3_INVALID_PMEG = 255                           
 18 .globl bootup_user_stack                          
 19 .globl bootup_kernel_stack                        
 20 .globl pg0                                        
 21 .globl swapper_pg_dir                             
 22 .globl kernel_pmd_table                           
 23 .globl availmem                                   
 24 .global m68k_pgtable_cachemode                    
 25 .global kpt                                       
 26 | todo: all these should be in bss!               
 27 swapper_pg_dir:                .skip 0x2000       
 28 pg0:                           .skip 0x2000       
 29 kernel_pmd_table:              .skip 0x2000       
 30                                                   
 31 .globl kernel_pg_dir                              
 32 .equ    kernel_pg_dir,kernel_pmd_table            
 33                                                   
 34         __HEAD                                    
 35 ENTRY(_stext)                                     
 36 ENTRY(_start)                                     
 37                                                   
 38 /* Firstly, disable interrupts and set up func    
 39         movew   #PSL_HIGHIPL, %sr                 
 40         moveq   #FC_CONTROL, %d0                  
 41         movec   %d0, %sfc                         
 42         movec   %d0, %dfc                         
 43                                                   
 44 /* Make sure we're in context zero. */            
 45         moveq   #0, %d0                           
 46         movsb   %d0, AC_CONTEXT                   
 47                                                   
 48 /* map everything the bootloader left us into     
 49    excess later */                                
 50         lea     (AC_SEGMAP+0),%a0                 
 51         lea     (AC_SEGMAP+KERNBASE),%a1          
 52 1:                                                
 53         movsb   %a0@, %d1                         
 54         movsb   %d1, %a1@                         
 55         cmpib   #SUN3_INVALID_PMEG, %d1           
 56         beq     2f                                
 57         addl    #NBSG,%a0                         
 58         addl    #NBSG,%a1                         
 59         jmp     1b                                
 60                                                   
 61 2:                                                
 62                                                   
 63 /* Disable caches and jump to high code. */       
 64         moveq   #ICACHE_ONLY,%d0        | Cach    
 65         movc    %d0, %cacr      |   is this th    
 66         jmp     1f:l                              
 67                                                   
 68 /* Following code executes at high addresses (    
 69 1:      lea     init_task,%curptr                 
 70         lea     init_thread_union+THREAD_SIZE,    
 71                                                   
 72 /* Point MSP at an invalid page to trap if it'    
 73         movl    #(PAGESIZE),%d0                   
 74         movc    %d0,%msp                          
 75         moveq   #-1,%d0                           
 76         movsb   %d0,(AC_SEGMAP+0x0)               
 77                                                   
 78         jbsr    sun3_init                         
 79                                                   
 80         jbsr    base_trap_init                    
 81                                                   
 82         jbsr    start_kernel                      
 83         trap    #15                               
 84                                                   
 85         .data                                     
 86         .even                                     
 87 kpt:                                              
 88         .long 0                                   
 89 availmem:                                         
 90         .long 0                                   
                                                      

~ [ 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