diff options
author | phk <phk@FreeBSD.org> | 2002-04-04 20:34:48 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-04-04 20:34:48 +0000 |
commit | 38f498fe43ea5f40a284797ebdbe58e525227a99 (patch) | |
tree | 1410c4b3970b96cc00456831f60161ca3e02a9c4 /sys/kern/sys_generic.c | |
parent | 0f8b0dba50c96a459b254917e1b88c44d518cdea (diff) | |
download | FreeBSD-src-38f498fe43ea5f40a284797ebdbe58e525227a99.zip FreeBSD-src-38f498fe43ea5f40a284797ebdbe58e525227a99.tar.gz |
Delete the bogus d_boot[01] fields from struct disklabel.
This shrinks the size 4 bytes on alpha, down to the same 276 bytes
as all other platforms.
Construct a hack to make old ioctls work on new kernels.
Once world is recompiled only the new and correct sysctls will be
used.
This hack will become annoying around 1st of may to make people
rebuild their worlds and it will be gone before 5.0.
Diffstat (limited to 'sys/kern/sys_generic.c')
-rw-r--r-- | sys/kern/sys_generic.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 77cb46d..196be5a 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -62,6 +62,9 @@ #include <sys/bio.h> #include <sys/buf.h> #include <sys/condvar.h> +#ifdef __alpha__ +#include <sys/disklabel.h> +#endif #ifdef KTRACE #include <sys/ktrace.h> #endif @@ -648,6 +651,17 @@ ioctl(td, uap) *(caddr_t *)data = uap->data; } +#ifdef __alpha__ + if (com == DIOCGDINFO_ALPHAHACK) + com = DIOCGDINFO; + if (com == DIOCSDINFO_ALPHAHACK) + com = DIOCSDINFO; + if (com == DIOCWDINFO_ALPHAHACK) + com = DIOCWDINFO; + if (com == DIOCGDVIRGIN_ALPHAHACK) + com = DIOCGDVIRGIN; +#endif + switch (com) { case FIONBIO: |