Commit dc5fd700 authored by Linus Torvalds's avatar Linus Torvalds

Import 2.4.0-test1

parent f3453549
......@@ -41,8 +41,20 @@ fb_find_mode() first tries the specified video mode (or any mode that matches,
e.g. there can be multiple 640x480 modes, each of them is tried). If that
fails, the default mode is tried. If that fails, it walks over all modes.
BTW, only a few drivers use this at the moment. Others are to follow
(feel free to send patches).
To specify a video mode at bootup, use the following boot options:
video=<driver>:<xres>x<yres>[-<bpp>][@refresh]
where <driver> is a name from the table below. Valid default modes can be
found in linux/drivers/video/modedb.c. Check your driver's documentation.
There may be more modes.
Drivers that support modedb boot options
Boot Name Cards Supported
ami - Amiga chipset frame buffer
aty128fb - ATI Rage128 / Pro frame buffer
atyfb - ATI Mach64 frame buffer
tdfx - 3D Fx frame buffer
BTW, only a few drivers use this at the moment. Others are to follow
(feel free to send patches).
......@@ -49,6 +49,10 @@ ifdef CONFIG_M686
CFLAGS += $(shell if $(CC) -march=i686 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=i686"; fi)
endif
ifdef CONFIG_M686FX
CFLAGS += $(shell if $(CC) -march=i686 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=i686"; fi)
endif
ifdef CONFIG_MK6
CFLAGS += $(shell if $(CC) -march=k6 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=k6"; fi)
endif
......
......@@ -18,15 +18,15 @@ endmenu
mainmenu_option next_comment
comment 'Processor type and features'
choice 'Processor family' \
"386 CONFIG_M386 \
486/Cx486 CONFIG_M486 \
586/K5/5x86/6x86/6x86MX CONFIG_M586 \
Pentium/TSC CONFIG_M586TSC \
PPro/P-II/P-III CONFIG_M686 \
Pentium-III CONFIG_M686FX \
K6/II/III CONFIG_MK6 \
Crusoe CONFIG_MCRUSOE \
Athlon CONFIG_MK7" PPro
"386 CONFIG_M386 \
486/Cx486 CONFIG_M486 \
586/K5/5x86/6x86/6x86MX CONFIG_M586 \
Pentium/TSC CONFIG_M586TSC \
PPro/Pentium-II CONFIG_M686 \
Pentium-III CONFIG_M686FX \
K6/K6-II/K6-III CONFIG_MK6 \
Athlon CONFIG_MK7 \
Crusoe CONFIG_MCRUSOE" PPro
#
# Define implied options from the CPU selection here
#
......@@ -55,10 +55,6 @@ if [ "$CONFIG_M586TSC" = "y" ]; then
define_bool CONFIG_X86_ALIGNMENT_16 y
define_bool CONFIG_X86_TSC y
fi
if [ "$CONFIG_MCRUSOE" = "y" ]; then
define_int CONFIG_X86_L1_CACHE_BYTES 32
define_bool CONFIG_X86_TSC y
fi
if [ "$CONFIG_M686" = "y" ]; then
define_int CONFIG_X86_L1_CACHE_BYTES 32
define_bool CONFIG_X86_TSC y
......@@ -88,6 +84,10 @@ if [ "$CONFIG_MK7" = "y" ]; then
define_bool CONFIG_X86_PGE y
define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
fi
if [ "$CONFIG_MCRUSOE" = "y" ]; then
define_int CONFIG_X86_L1_CACHE_BYTES 32
define_bool CONFIG_X86_TSC y
fi
tristate '/dev/cpu/microcode - Intel P6 CPU microcode support' CONFIG_MICROCODE
tristate '/dev/cpu/*/msr - Model-specific register support' CONFIG_X86_MSR
......
......@@ -21,8 +21,8 @@ CONFIG_UID16=y
CONFIG_M686=y
# CONFIG_M686FX is not set
# CONFIG_MK6 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MK7 is not set
# CONFIG_MCRUSOE is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
......
......@@ -71,14 +71,14 @@ extern inline void do_cpuid(int cpu, u32 reg, u32 *data)
smp_call_function(cpuid_smp_cpuid, (void *)cmd, 1, 1);
}
}
#else /* ! __SMP__ */
#else /* ! CONFIG_SMP */
extern inline void do_cpuid(int cpu, u32 reg, u32 *data)
{
cpuid(reg, &data[0], &data[1], &data[2], &data[3]);
}
#endif /* ! __SMP__ */
#endif /* ! CONFIG_SMP */
static loff_t cpuid_seek(struct file *file, loff_t offset, int orig)
{
......
......@@ -143,7 +143,7 @@ extern inline int do_rdmsr(int cpu, u32 reg, u32 *eax, u32 *edx)
}
}
#else /* ! __SMP__ */
#else /* ! CONFIG_SMP */
extern inline int do_wrmsr(int cpu, u32 reg, u32 eax, u32 edx)
{
......@@ -155,7 +155,7 @@ extern inline int do_rdmsr(int cpu, u32 reg, u32 *eax, u32 *edx)
return rdmsr_eio(reg, eax, edx);
}
#endif /* ! __SMP__ */
#endif /* ! CONFIG_SMP */
static loff_t msr_seek(struct file *file, loff_t offset, int orig)
{
......
......@@ -233,13 +233,13 @@ static struct {
/* Not a real frame buffer device... */
{ "resolver", NULL, resolver_video_setup },
#endif
#ifdef CONFIG_FB_SIS
{ "sisfb", sisfb_init, sisfb_setup },
#endif
#ifdef CONFIG_FB_VIRTUAL
/* Must be last to avoid that vfb becomes your primary display */
{ "vfb", vfb_init, vfb_setup },
#endif
#ifdef CONFIG_FB_SIS
{ "sisfb", sisfb_init, sisfb_setup },
#endif
};
#define NUM_FB_DRIVERS (sizeof(fb_drivers)/sizeof(*fb_drivers))
......
......@@ -275,12 +275,22 @@ ncp_file_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
return already_written ? already_written : errno;
}
static int ncp_release(struct inode *inode, struct file *file) {
if (NCP_FINFO(inode)->opened) {
if (ncp_make_closed(inode)) {
DPRINTK("ncp_release: failed to close\n");
}
}
return 0;
}
struct file_operations ncp_file_operations =
{
read: ncp_file_read,
write: ncp_file_write,
ioctl: ncp_ioctl,
mmap: ncp_mmap,
release: ncp_release,
fsync: ncp_fsync,
};
......
......@@ -250,21 +250,21 @@ int ncp_ioctl(struct inode *inode, struct file *filp,
{
return -EACCES;
}
if (server->sign_active)
{
return -EINVAL;
}
if (server->sign_wanted)
{
struct ncp_sign_init sign;
if (arg) {
if (server->sign_wanted)
{
struct ncp_sign_init sign;
if (copy_from_user(&sign, (struct ncp_sign_init *) arg,
sizeof(sign))) return -EFAULT;
memcpy(server->sign_root,sign.sign_root,8);
memcpy(server->sign_last,sign.sign_last,16);
server->sign_active = 1;
if (copy_from_user(&sign, (struct ncp_sign_init *) arg,
sizeof(sign))) return -EFAULT;
memcpy(server->sign_root,sign.sign_root,8);
memcpy(server->sign_last,sign.sign_last,16);
server->sign_active = 1;
}
/* ignore when signatures not wanted */
} else {
server->sign_active = 0;
}
/* ignore when signatures not wanted */
return 0;
case NCP_IOC_SIGN_WANTED:
......
......@@ -812,8 +812,8 @@ fh_put(struct svc_fh *fhp)
{
struct dentry * dentry = fhp->fh_dentry;
if (fhp->fh_dverified) {
fhp->fh_dentry = NULL;
fh_unlock(fhp);
fhp->fh_dentry = NULL;
fhp->fh_dverified = 0;
dput(dentry);
nfsd_nr_put++;
......
#ifndef _ASMi386_SIGCONTEXT_H
#define _ASMi386_SIGCONTEXT_H
#include <linux/config.h>
/*
* As documented in the iBCS2 standard..
*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment