Re: Not enough memory when entering CLI
Itay Gazit <[email protected]> Mon, 19 Oct 2009 18:24:22 +0200
| Newsgroups | gmane.network.etherboot.user |
|---|---|
| Message-ID | <[email protected]> |
The machine has 2GB memory. I run with the patch, same results a reset happens and I could not see error message on the screen. Thanks, Itay On Sun, Oct 18, 2009 at 4:31 PM, Stefan Hajnoczi <[email protected]> wrote: > On Sat, Oct 17, 2009 at 12:52 PM, Itay Gazit <[email protected]> wrote: > > on some machines, when trying to enter CLI the drivers get stuck or even > > reboot the machine. > > How much RAM do these machines have? > > > How can we ensure the memory region reported by the BIOS are large enough > to > > fit Mellanox devices? > > How can we ensure that umalloc command will fail when we ask for memory > > region which is out of range? > > Do you get a clean error when running with the patch below? > > (Build with "make DEBUG=mtnic bin/mtnic.usb" to see the debug output.) > > Stefan > > diff --git a/src/drivers/net/mtnic.c b/src/drivers/net/mtnic.c > index d7ee8d2..7b58698 100644 > --- a/src/drivers/net/mtnic.c > +++ b/src/drivers/net/mtnic.c > @@ -544,6 +544,7 @@ out: > static int > mtnic_map_cmd(struct mtnic *mtnic, u16 op, struct mtnic_pages pages) > { > + userptr_t ubuf; > unsigned int j; > u32 addr; > unsigned int len; > @@ -553,8 +554,15 @@ mtnic_map_cmd(struct mtnic *mtnic, u16 op, struct > mtnic_pages pages) > > memset(page_arr, 0, PAGE_SIZE); > > + ubuf = umalloc(PAGE_SIZE * (pages.num + 1)); > + if (ubuf == UNULL) { > + DBG("MTNIC %p umalloc of 0x%x bytes failed\n", > + mtnic, PAGE_SIZE * (pages.num + 1)); > + return -ENOMEM; > + } > + > len = PAGE_SIZE * pages.num; > - pages.buf = (u32 *)umalloc(PAGE_SIZE * (pages.num + 1)); > + pages.buf = (u32 *)ubuf; > addr = PAGE_SIZE + ((virt_to_bus(pages.buf) & 0xfffff000) + > PAGE_SIZE); > DBG("Mapping pages: size: %x address: %p\n", pages.num, pages.buf); > ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Etherboot-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/etherboot-discuss