]> Joshua Wise's Git repositories - netwatch.git/blobdiff - aseg/firstrun.c
Allow NIC poll routine to do packet chain handling on our behalf.
[netwatch.git] / aseg / firstrun.c
index 75bcccc9f85e9966030b19857c558fd9f36c1253..d3cd16f4a69957b88e6ff8831e82259c95689a95 100644 (file)
@@ -5,6 +5,7 @@
 #include <output.h>
 #include "vga-overlay.h"
 #include <smram.h>
 #include <output.h>
 #include "vga-overlay.h"
 #include <smram.h>
+#include "../net/net.h"
 
 extern int _bss, _bssend;
 
 
 extern int _bss, _bssend;
 
@@ -12,38 +13,6 @@ extern void timer_handler(smi_event_t ev);
 extern void kbc_handler(smi_event_t ev);
 extern void gbl_rls_handler(smi_event_t ev);
 
 extern void kbc_handler(smi_event_t ev);
 extern void gbl_rls_handler(smi_event_t ev);
 
-static int found = 0, _bus, _dev, _fn;
-
-void do_bother()
-{
-       int bar;
-
-       if (!found)
-               return;
-               
-       pci_write16(_bus, _dev, _fn, 0x04, 0x00);
-       for (bar = 0; bar < 6; bar++)
-               pci_write32(_bus, _dev, _fn, 0x10 + bar*4, 0x1FFFFFFF);
-}
-
-int bother_3c905(pci_dev_t *dev)
-{
-       if (dev->vid == 0x10B7 || dev->did == 0x9200)
-       {
-               outputf("Found a 3c905 to bother");
-               
-               _bus = dev->bus;
-               _dev = dev->dev;
-               _fn = dev->fn;
-               found = 1;
-               
-               do_bother();
-               
-               return 1;
-       }
-       return 0;
-}
-
 void __firstrun_start() {
        unsigned char *bp;
        smram_state_t smram;
 void __firstrun_start() {
        unsigned char *bp;
        smram_state_t smram;
@@ -54,6 +23,8 @@ void __firstrun_start() {
        for (bp = (void *)&_bss; (void *)bp < (void *)&_bssend; bp++)
                *bp = 0;
        
        for (bp = (void *)&_bss; (void *)bp < (void *)&_bssend; bp++)
                *bp = 0;
        
+       vga_flush_imm(0);
+       
        outputf("NetWatch running");
 
        /* Try really hard to shut up USB_LEGKEY. */
        outputf("NetWatch running");
 
        /* Try really hard to shut up USB_LEGKEY. */
@@ -65,7 +36,7 @@ void __firstrun_start() {
        /* Turn on the SMIs we want */
        smi_disable();
        
        /* Turn on the SMIs we want */
        smi_disable();
        
-       pci_probe(bother_3c905);
+       eth_init();
        
        smi_register_handler(SMI_EVENT_FAST_TIMER, timer_handler);
        smi_enable_event(SMI_EVENT_FAST_TIMER);
        
        smi_register_handler(SMI_EVENT_FAST_TIMER, timer_handler);
        smi_enable_event(SMI_EVENT_FAST_TIMER);
@@ -78,6 +49,8 @@ void __firstrun_start() {
 
        smi_enable();
        
 
        smi_enable();
        
+       vga_flush_imm(1);
+       
        smram_restore_state(smram);
 }
 
        smram_restore_state(smram);
 }
 
This page took 0.024054 seconds and 4 git commands to generate.