From 6bf8d5019313ee2251a44dfb7ad3435a3c6db7eb Mon Sep 17 00:00:00 2001 From: David Nusinow Date: Mon, 28 May 2007 21:42:10 -0400 Subject: [PATCH] Read ROM in chunks This patch speeds up reads of the ROM by reading in large chunks rather than one byte at a time. This patch was by Dann Frazier. --- hw/xfree86/os-support/bus/linuxPci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c index 2aaa89cc28..3d8266e49f 100644 --- a/hw/xfree86/os-support/bus/linuxPci.c +++ b/hw/xfree86/os-support/bus/linuxPci.c @@ -788,8 +788,10 @@ xf86ReadDomainMemory(PCITAG Tag, ADDRESS Base, int Len, unsigned char *Buf) write(fd, "1", 2); lseek(fd, 0, SEEK_SET); + len = min(Len, st.st_size); + /* copy the ROM until we hit Len, EOF or read error */ - for (i = 0; i < Len && read(fd, Buf, 1) > 0; Buf++, i++) + for (; len && (size = read(fd, Buf, len)) > 0 ; Buf+=size, len-=size) ; write(fd, "0", 2);