Print this page
de-linting of .s files


  20  */
  21 /*
  22  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.
  24  * Copyright 2019 Joyent, Inc.
  25  */
  26 
  27 /*
  28  * exit routine from linker/loader to kernel
  29  */
  30 
  31 #include <sys/asm_linkage.h>
  32 #include <sys/reboot.h>
  33 
  34 /*
  35  *  exitto is called from main() and does 1 things
  36  *      It then jumps directly to the just-loaded standalone.
  37  *      There is NO RETURN from exitto().
  38  */
  39 
  40 #if defined(lint)
  41 
  42 /* ARGSUSED */
  43 void
  44 exitto(caddr_t entrypoint)
  45 {}
  46 
  47 #else   /* lint */
  48 
  49 
  50         ENTRY(exitto)
  51 
  52         /preserve destination in temporary register %r11
  53         movq    %rdi, %r11
  54 
  55         /holds address of array of pointers to functions
  56         / $arg1
  57         movq    $romp, %rax
  58         movq    (%rax), %rdi
  59 
  60         /holds address of bootops structure
  61         / $arg2
  62         movq    $ops, %rax
  63         movq    (%rax), %rdx
  64 
  65         / Call destination
  66         INDIRECT_CALL_REG(r11)
  67 
  68         SET_SIZE(exitto)
  69 
  70 #endif
  71 


  20  */
  21 /*
  22  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.
  24  * Copyright 2019 Joyent, Inc.
  25  */
  26 
  27 /*
  28  * exit routine from linker/loader to kernel
  29  */
  30 
  31 #include <sys/asm_linkage.h>
  32 #include <sys/reboot.h>
  33 
  34 /*
  35  *  exitto is called from main() and does 1 things
  36  *      It then jumps directly to the just-loaded standalone.
  37  *      There is NO RETURN from exitto().
  38  */
  39 

  40 








  41         ENTRY(exitto)
  42 
  43         /preserve destination in temporary register %r11
  44         movq    %rdi, %r11
  45 
  46         /holds address of array of pointers to functions
  47         / $arg1
  48         movq    $romp, %rax
  49         movq    (%rax), %rdi
  50 
  51         /holds address of bootops structure
  52         / $arg2
  53         movq    $ops, %rax
  54         movq    (%rax), %rdx
  55 
  56         / Call destination
  57         INDIRECT_CALL_REG(r11)
  58 
  59         SET_SIZE(exitto)


  60