diff --git a/src/sys/init/main.c b/src/sys/init/main.c index fae1485..0b8f2d8 100644 --- a/src/sys/init/main.c +++ b/src/sys/init/main.c @@ -24,6 +24,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Log$ + Revision 1.16 2004/05/02 14:34:21 reddawg + SMP Support Thanks To Some Help From Slowcoder now to make it interface + well with the rest of the kernel + Revision 1.15 2004/04/30 17:04:23 reddawg Ok GUI is back on @@ -101,6 +105,7 @@ // Clear the screen so we have a nice pretty starting place for the os to spew its info clearScreen(); + //smpInit(); // Initialize the kernels vital systems // This initialization is for the systems memory and memory map for the os to allocate with if (vmmInit() != 0x0) { @@ -165,7 +170,7 @@ kprintf("Free Pages: [%i]\n",freePages); kprintf("MemoryMap: [0x%X]\n",vmmMemoryMap); kprintf("Starting Os\n"); - //netInit(); + netInit(); execThread(idleTask,(uInt32)(kmalloc(0x2000,sysID)+0x2000),0x0,"Idle Thread"); //execFile("init@sys",0x0,0x0,0x0); execFile("shell@sys",0x0,0x0,0x0); @@ -192,7 +197,6 @@ ************************************************************************/ void _start(void) { asm ("pushl $2; popf"); - smpInit(); asm volatile( "lgdtl (loadGDT) \n" "movw $0x10,%%ax \n" // Select Ring 0 Data Segment diff --git a/src/sys/isa/ne2k.c b/src/sys/isa/ne2k.c index 9c54031..f65a989 100644 --- a/src/sys/isa/ne2k.c +++ b/src/sys/isa/ne2k.c @@ -24,6 +24,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Log$ + Revision 1.5 2004/04/29 15:29:20 reddawg + Fixed All Running Issues + Revision 1.4 2004/04/27 21:05:19 reddawg Updating drivers to use new model @@ -87,12 +90,12 @@ ************************************************************************/ int ne2kInit(uInt32 ioAddr) { struct device *dev = (struct device *)kmalloc(sizeof(struct device),sysID); - dev->ioAddr = 0x240; - dev->irq = 3; + dev->ioAddr = 0x300; + dev->irq = 10; setVector(&ne2kISR, mVec+3, dPresent + dInt + dDpl3); outportByte(mPic, eoi); - irqEnable(3); + irqEnable(10); outportByte(mPic, eoi); // kprintf("ne0 - irq: %i, ioAddr: 0x%X MAC: %X:%X:%X:%X:%X:%X\n",dev->irq,dev->ioAddr,dev->net->mac[0] & 0xFF,dev->net->mac[1] & 0xFF,dev->net->mac[2] & 0xFF,dev->net->mac[3] & 0xFF,dev->net->mac[4] & 0xFF,dev->net->mac[5] & 0xFF); @@ -215,12 +218,12 @@ uInt16 isr = 0x0; uInt16 status = 0x0; struct device *dev = (struct device *)kmalloc(sizeof(struct device),sysID); - dev->ioAddr = 0x240; - dev->irq = 3; + dev->ioAddr = 0x300; + dev->irq = 10; isr = inportByte(dev->ioAddr + NE_ISR); if ((isr & 0x02) == 0x02) { outportByte(dev->ioAddr + NE_ISR, 0x0A); - status = inportByte(0x240 + NE_TPSR); + status = inportByte(0x300 + NE_TPSR); //kprintf("Pack Transmitted, Status: [0x%X]\n",status); } if ((isr & 0x01) == 0x01) { diff --git a/src/sys/kernel/smp.c b/src/sys/kernel/smp.c index 6208f6f..56b7fce 100644 --- a/src/sys/kernel/smp.c +++ b/src/sys/kernel/smp.c @@ -24,6 +24,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Log$ + Revision 1.1 2004/05/02 14:34:21 reddawg + SMP Support Thanks To Some Help From Slowcoder now to make it interface + well with the rest of the kernel + Revision 1.1 2004/05/02 03:19:51 reddawg Added Spinlock Provision For SMP @@ -89,12 +93,14 @@ gdt_descr.limit = 32 * 4; gdt_descr.base = gdt; + /* asm("lgdt %0;" : : "m" (gdt_descr)); __asm__ __volatile__ ("ljmp %0,$1f; 1:" :: "i" (0x08)); __asm__ __volatile__ ("movw %w0,%%ds" :: "r" (0x10)); __asm__ __volatile__ ("movw %w0,%%es" :: "r" (0x10)); __asm__ __volatile__ ("movw %w0,%%ss" :: "r" (0x10)); -} + */ + } void cpu0_thread(void) { diff --git a/src/sys/net/net/init.c b/src/sys/net/net/init.c index 4d135da..bcff581 100644 --- a/src/sys/net/net/init.c +++ b/src/sys/net/net/init.c @@ -40,12 +40,12 @@ sys_sem_free(sem); kprintf("TCP/IP initialized.\n"); + /* IP4_ADDR(&gw, 192,168,0,1); IP4_ADDR(&ipaddr, 192,168,0,69); - /* - IP4_ADDR(&gw, 10,1,0,1); - IP4_ADDR(&ipaddr, 10,1,0,69); */ + IP4_ADDR(&gw, 10,4,0,1); + IP4_ADDR(&ipaddr, 10,4,0,69); IP4_ADDR(&netmask, 255,255,255,0); netif_set_default(netif_add(&ipaddr, &netmask, &gw, ethernetif_init, tcpip_input)); diff --git a/src/sys/net/netif/ethernetif.c b/src/sys/net/netif/ethernetif.c index 85258f4..6b85a75 100644 --- a/src/sys/net/netif/ethernetif.c +++ b/src/sys/net/netif/ethernetif.c @@ -82,8 +82,8 @@ ethernetif = netif->state; dev = (struct device *)kmalloc(sizeof(struct device),sysID); - dev->ioAddr = 0x240; - dev->irq = 3; + dev->ioAddr = 0x300; + dev->irq = 10; /* Obtain MAC address from network interface. */ ethernetif->ethaddr->addr[0] = 0xfe; @@ -114,8 +114,8 @@ char buf[1500]; char *bufptr = 0x0; - dev->ioAddr = 0x240; - dev->irq = 3; + dev->ioAddr = 0x300; + dev->irq = 10; bufptr = &buf[0];