summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhpa <hpa>2002-03-19 05:07:08 +0000
committerhpa <hpa>2002-03-19 05:07:08 +0000
commit27f768ddb4ef2f38a2a2777e8bfa8065fe2402b8 (patch)
tree3aaa78ab0553ff9b09330989761bfa55602249be
parent03a534c69db66001e4bcf131146093175422cce1 (diff)
downloadsyslinux-27f768ddb4ef2f38a2a2777e8bfa8065fe2402b8.tar.gz
Merge with 1.6x branch
-rw-r--r--NEWS3
-rw-r--r--isolinux.asm1
-rw-r--r--ldlinux.asm1
-rw-r--r--pxe.inc6
-rw-r--r--pxelinux.asm1
-rw-r--r--syslinux.c11
-rw-r--r--syslinux.doc10
7 files changed, 26 insertions, 7 deletions
diff --git a/NEWS b/NEWS
index 4ba450a5..86672227 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,9 @@ Changes in 1.70:
* MEMDISK: Set up the "version number string" pointer in the
header correctly.
+Changes in 1.67:
+ * Handle bug in the location of initrd.
+
Changes in 1.66:
* MEMDISK: Make compile with newer versions of gcc.
diff --git a/isolinux.asm b/isolinux.asm
index e9803c09..5040c621 100644
--- a/isolinux.asm
+++ b/isolinux.asm
@@ -2062,6 +2062,7 @@ load_initrd:
mov edx,eax ; Adjust to fit inside limit
memsize_ok:
inc edx
+ xor dx,dx ; Round down to 64K boundary
sub edx,[es:su_ramdisklen] ; Subtract size of ramdisk
xor dx,dx ; Round down to 64K boundary
mov [es:su_ramdiskat],edx ; Load address
diff --git a/ldlinux.asm b/ldlinux.asm
index 62e8537e..f6a1247b 100644
--- a/ldlinux.asm
+++ b/ldlinux.asm
@@ -2060,6 +2060,7 @@ new_kernel:
mov edx,eax ; Adjust to fit inside limit
memsize_ok:
inc edx
+ xor dx,dx ; Round down to 64K boundary
sub edx,[es:su_ramdisklen] ; Subtract size of ramdisk
xor dx,dx ; Round down to 64K boundary
mov [es:su_ramdiskat],edx ; Load address
diff --git a/pxe.inc b/pxe.inc
index 0cbb72bc..759115f6 100644
--- a/pxe.inc
+++ b/pxe.inc
@@ -32,6 +32,7 @@
%define PXENV_UDP_READ 0032h
%define PXENV_UDP_WRITE 0033h
+%define PXENV_START_UNDI 0000h
%define PXENV_UNDI_STARTUP 0001h
%define PXENV_UNDI_CLEANUP 0002h
%define PXENV_UNDI_INITIALIZE 0003h
@@ -49,6 +50,11 @@
%define PXENV_UNDI_INITIATE_DIAGS 000Fh
%define PXENV_UNDI_FORCE_INTERRUPT 0010h
%define PXENV_UNDI_GET_MCAST_ADDR 0011h
+%define PXENV_UNDI_GET_NIC_TYPE 0012h
+%define PXENV_UNDI_GET_IFACE_INFO 0013h
+%define PXENV_UNDI_ISR 0014h
+%define PXENV_STOP_UNDI 0015h ; HUH????
+%define PXENV_UNDI_GET_STATE 0016h
%define PXENV_UNLOAD_STACK 0070h
%define PXENV_GET_CACHED_INFO 0071h
diff --git a/pxelinux.asm b/pxelinux.asm
index 72c0fc2a..d1d670a9 100644
--- a/pxelinux.asm
+++ b/pxelinux.asm
@@ -1941,6 +1941,7 @@ load_initrd:
mov edx,eax ; Adjust to fit inside limit
memsize_ok:
inc edx
+ xor dx,dx ; Round down to 64K boundary
sub edx,[es:su_ramdisklen] ; Subtract size of ramdisk
xor dx,dx ; Round down to 64K boundary
mov [es:su_ramdiskat],edx ; Load address
diff --git a/syslinux.c b/syslinux.c
index fb82fc54..8728a31c 100644
--- a/syslinux.c
+++ b/syslinux.c
@@ -101,7 +101,7 @@ static u_int32_t get_32(unsigned char *p)
void usage(void)
{
- fprintf(stderr, "Usage: %s [-sf] device\n", program);
+ fprintf(stderr, "Usage: %s [-sf] [-o offset] device\n", program);
exit(1);
}
@@ -139,7 +139,7 @@ int main(int argc, char *argv[])
} else if ( *opt == 'f' ) {
force = 1; /* Force install */
} else if ( *opt == 'o' && argp[1] ) {
- offset = atol(*++argp); /* Byte offset */
+ offset = strtoul(*++argp, NULL, 0); /* Byte offset */
} else {
usage();
}
@@ -421,6 +421,13 @@ umount:
exit(1);
}
+ if ( lseek(dev_fd, offset, SEEK_SET) != offset ) {
+ if ( !(force && errno == EBADF) ) {
+ fprintf(stderr, "%s: seek error", device);
+ exit(1);
+ }
+ }
+
/* Copy the old superblock into the new boot sector */
memcpy(bootsect+bsCopyStart, sectbuf+bsCopyStart, bsCopyLen);
diff --git a/syslinux.doc b/syslinux.doc
index fc692f52..6b56cefe 100644
--- a/syslinux.doc
+++ b/syslinux.doc
@@ -647,10 +647,10 @@ reported turn out to be BIOS or hardware bugs, and I need as much
information as possible in order to diagnose the problems.
There is a mailing list for discussion among SYSLINUX users and for
-announcements of new and test versions. To join, send a message to
-majordomo@linux.kernel.org with the line:
+announcements of new and test versions. To join, or to browse the
+archive, go to:
-subscribe syslinux
+ http://www.zytor.com/mailman/listinfo/syslinux
-in the body of the message. The submission address is
-syslinux@linux.kernel.org.
+The mailing list changed in early 2002. The old mailing list at
+kernel.org is no longer in use.