summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Smith <msmith@FreeBSD.org>1999-08-20 21:08:41 +0000
committerMike Smith <msmith@FreeBSD.org>1999-08-20 21:08:41 +0000
commitf996ef639507f381eda2074825b17c6d87ae5752 (patch)
treefc3a936cbb0fc08f60cbcf29bc19c99da5943f08
parent89f6acf96aaf928b693b36c19807f24b7c76c323 (diff)
Notes
-rw-r--r--sys/amd64/amd64/bios.c13
-rw-r--r--sys/i386/i386/bios.c13
2 files changed, 6 insertions, 20 deletions
diff --git a/sys/amd64/amd64/bios.c b/sys/amd64/amd64/bios.c
index bc1e535f8e0d..980c0b52a4d2 100644
--- a/sys/amd64/amd64/bios.c
+++ b/sys/amd64/amd64/bios.c
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: bios.c,v 1.16 1999/08/17 07:10:29 msmith Exp $
+ * $Id: bios.c,v 1.17 1999/08/18 02:19:52 msmith Exp $
*/
/*
@@ -287,13 +287,6 @@ set_bios_selectors(struct bios_segments *seg, int flags)
}
}
-/*
- * for pointers, we don't know how much space is supposed to be allocated,
- * so we assume a minimum size of 256 bytes. If more than this is needed,
- * then this can be revisited, such as adding a length specifier.
- */
-#define ASSUMED_ARGSIZE 256
-
extern int vm86pa;
/*
@@ -329,7 +322,7 @@ bios16(struct bios_args *args, char *fmt, ...)
case 'p': /* 32-bit pointer */
i = va_arg(ap, u_int);
arg_start = min(arg_start, i);
- arg_end = max(arg_end, i + ASSUMED_ARGSIZE);
+ arg_end = max(arg_end, i);
flags |= BIOSARGS_FLAG;
stack -= 4;
break;
@@ -361,7 +354,7 @@ bios16(struct bios_args *args, char *fmt, ...)
if (arg_end - arg_start > ctob(16))
return (EACCES);
args->seg.args.base = arg_start;
- args->seg.args.limit = arg_end - arg_start;
+ args->seg.args.limit = 0xffff;
}
args->seg.code32.base = (u_int)&bios16_call & PG_FRAME;
diff --git a/sys/i386/i386/bios.c b/sys/i386/i386/bios.c
index bc1e535f8e0d..980c0b52a4d2 100644
--- a/sys/i386/i386/bios.c
+++ b/sys/i386/i386/bios.c
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: bios.c,v 1.16 1999/08/17 07:10:29 msmith Exp $
+ * $Id: bios.c,v 1.17 1999/08/18 02:19:52 msmith Exp $
*/
/*
@@ -287,13 +287,6 @@ set_bios_selectors(struct bios_segments *seg, int flags)
}
}
-/*
- * for pointers, we don't know how much space is supposed to be allocated,
- * so we assume a minimum size of 256 bytes. If more than this is needed,
- * then this can be revisited, such as adding a length specifier.
- */
-#define ASSUMED_ARGSIZE 256
-
extern int vm86pa;
/*
@@ -329,7 +322,7 @@ bios16(struct bios_args *args, char *fmt, ...)
case 'p': /* 32-bit pointer */
i = va_arg(ap, u_int);
arg_start = min(arg_start, i);
- arg_end = max(arg_end, i + ASSUMED_ARGSIZE);
+ arg_end = max(arg_end, i);
flags |= BIOSARGS_FLAG;
stack -= 4;
break;
@@ -361,7 +354,7 @@ bios16(struct bios_args *args, char *fmt, ...)
if (arg_end - arg_start > ctob(16))
return (EACCES);
args->seg.args.base = arg_start;
- args->seg.args.limit = arg_end - arg_start;
+ args->seg.args.limit = 0xffff;
}
args->seg.code32.base = (u_int)&bios16_call & PG_FRAME;