Print this page
XXX nobios


  70 #endif
  71 
  72 /*
  73  * some globals for patching the result of cpuid
  74  * to solve problems w/ creative cpu vendors
  75  */
  76 
  77 extern uint32_t cpuid_feature_ecx_include;
  78 extern uint32_t cpuid_feature_ecx_exclude;
  79 extern uint32_t cpuid_feature_edx_include;
  80 extern uint32_t cpuid_feature_edx_exclude;
  81 
  82 /*
  83  * Set console mode
  84  */
  85 static void
  86 set_console_mode(uint8_t val)
  87 {
  88         struct bop_regs rp = {0};
  89 



  90         rp.eax.byte.ah = 0x0;
  91         rp.eax.byte.al = val;
  92         rp.ebx.word.bx = 0x0;
  93 
  94         BOP_DOINT(bootops, 0x10, &rp);
  95 }
  96 
  97 
  98 /*
  99  * Setup routine called right before main(). Interposing this function
 100  * before main() allows us to call it in a machine-independent fashion.
 101  */
 102 void
 103 mlsetup(struct regs *rp)
 104 {
 105         u_longlong_t prop_value;
 106         extern struct classfuncs sys_classfuncs;
 107         extern disp_t cpu0_disp;
 108         extern char t0stack[];
 109         extern int post_fastreboot;




  70 #endif
  71 
  72 /*
  73  * some globals for patching the result of cpuid
  74  * to solve problems w/ creative cpu vendors
  75  */
  76 
  77 extern uint32_t cpuid_feature_ecx_include;
  78 extern uint32_t cpuid_feature_ecx_exclude;
  79 extern uint32_t cpuid_feature_edx_include;
  80 extern uint32_t cpuid_feature_edx_exclude;
  81 
  82 /*
  83  * Set console mode
  84  */
  85 static void
  86 set_console_mode(uint8_t val)
  87 {
  88         struct bop_regs rp = {0};
  89 
  90         if (!bios_calls_available)
  91                 return;
  92 
  93         rp.eax.byte.ah = 0x0;
  94         rp.eax.byte.al = val;
  95         rp.ebx.word.bx = 0x0;
  96 
  97         BOP_DOINT(bootops, 0x10, &rp);
  98 }
  99 
 100 
 101 /*
 102  * Setup routine called right before main(). Interposing this function
 103  * before main() allows us to call it in a machine-independent fashion.
 104  */
 105 void
 106 mlsetup(struct regs *rp)
 107 {
 108         u_longlong_t prop_value;
 109         extern struct classfuncs sys_classfuncs;
 110         extern disp_t cpu0_disp;
 111         extern char t0stack[];
 112         extern int post_fastreboot;