X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fmain.c;h=d112e222278a1b2e1134a47a96a6bcdf1ef6579d;hb=abffcb058993b19404622ce45cdce3b03045df54;hp=f6595e8ef9d64f83e381f03fd465536d4e082b15;hpb=9499a207c37ebd0eac1e9f62b4600c448101d7b0;p=palacios.git diff --git a/palacios/src/geekos/main.c b/palacios/src/geekos/main.c index f6595e8..d112e22 100644 --- a/palacios/src/geekos/main.c +++ b/palacios/src/geekos/main.c @@ -3,7 +3,8 @@ * Copyright (c) 2001,2003,2004 David H. Hovemeyer * Copyright (c) 2003, Jeffrey K. Hollingsworth * Copyright (c) 2004, Iulian Neamtiu - * $Revision: 1.43 $ + * Copyright (c) 2008, Jack Lange + * $Revision: 1.47 $ * * This is free software. You are permitted to use, * redistribute, and modify it as specified in the file "COPYING". @@ -38,37 +39,14 @@ #include -#include -#include -#include + +#include + #define SPEAKER_PORT 0x61 -#define TEST_NE2K 0 -#define BUF ((struct uip_eth_hdr *)&uip_buf[0]) - -#if TEST_NE2K -u8_t uip_buf[UIP_BUFSIZE+2]; -u16_t uip_len; - -int Packet_Received(struct NE2K_Packet_Info* info, uchar_t *pkt) { - uip_len = info->size; - int i; - for(i = 0; i < info->size; i++) { - PrintBoth("%x ", *(pkt+i)); - uip_buf[i] = *(pkt+i); - if(i % 10 == 0) - PrintBoth("\n"); - } - Free(pkt); - if(BUF->type == htons(UIP_ETHTYPE_ARP)) { - uip_arp_arpin(); - } else { - uip_arp_ipin(); - uip_input(); - } - return 0; -} -#endif + + + void Spin() { @@ -244,37 +222,8 @@ void Main(struct Boot_Info* bootInfo) Init_Stubs(); -#if TEST_NE2K - Init_Ne2k(&Packet_Received); - uip_init(); - uip_arp_init(); + Init_Network(); - uip_ipaddr_t ipaddr; - uip_ipaddr(ipaddr, 10,0,2,21); /* Local IP address */ - uip_sethostaddr(ipaddr); - - uip_ipaddr_t ripaddr; - uip_ipaddr(ripaddr, 10,0,2,20); /* Remote IP address */ - - /* Attempt a connection to port 8080 at address 10.0.2.20 */ - struct uip_conn *conn; - conn = uip_connect(&ripaddr, HTONS(8080)); - - while(uip_len <= 0) { - uip_periodic_conn(conn); - } - NE2K_Transmit(uip_len+UIP_LLH_LEN); /* This will transmit an ARP packet */ - - int l = 0; - while(l++ < 5000); /* When this is done, a response to the ARP should have been received. */ - conn = uip_connect(&ripaddr, HTONS(8080)); - - while(uip_len <= 0) { - uip_periodic_conn(conn); - } - NE2K_Transmit(uip_len+UIP_LLH_LEN); /* This *should* transmit a SYN packet */ - -#endif /* TEST_NE2K */ // Init_IDE(); @@ -320,11 +269,10 @@ void Main(struct Boot_Info* bootInfo) } #endif -#if !TEST_NE2K + { RunVMM(bootInfo); } -#endif SerialPrint("RunVMM returned, spinning\n");