]> Joshua Wise's Git repositories - netwatch.git/blobdiff - aseg/firstrun.c
Ref only the head of a pbuf chain, instead of the whole thing, to avoid leaking pbufs.
[netwatch.git] / aseg / firstrun.c
index 2ca07e0dbaa43caddbdbccdb7224b80d51a29c35..d3cd16f4a69957b88e6ff8831e82259c95689a95 100644 (file)
@@ -5,6 +5,7 @@
 #include <output.h>
 #include "vga-overlay.h"
 #include <smram.h>
+#include "../net/net.h"
 
 extern int _bss, _bssend;
 
@@ -12,24 +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);
 
-int bother_3c905(pci_dev_t *dev)
-{
-       if (dev->vid == 0x10B7 || dev->did == 0x9200)
-       {
-               int bar;
-               
-               outputf("Found a 3c905 to bother");
-               pci_write16(dev->bus, dev->dev, dev->fn, 0x04, 0x00);
-               
-               for (bar = 0; bar < 6; bar++)
-                       if (dev->bars[bar].type != PCI_BAR_NONE)
-                               pci_write32(dev->bus, dev->dev, dev->fn, 0x10 + bar*4, 0);
-               
-               return 1;
-       }
-       return 0;
-}
-
 void __firstrun_start() {
        unsigned char *bp;
        smram_state_t smram;
@@ -40,6 +23,8 @@ void __firstrun_start() {
        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. */
@@ -51,7 +36,7 @@ void __firstrun_start() {
        /* 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);
@@ -64,6 +49,8 @@ void __firstrun_start() {
 
        smi_enable();
        
+       vga_flush_imm(1);
+       
        smram_restore_state(smram);
 }
 
This page took 0.027165 seconds and 4 git commands to generate.