Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
37055f70
Commit
37055f70
authored
Jan 02, 2003
by
Andy Grover
Browse files
Options
Browse Files
Download
Plain Diff
Merge groveronline.com:/root/bk/linux-2.5
into groveronline.com:/root/bk/linux-acpi
parents
71377918
e4d188bb
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
495 additions
and
329 deletions
+495
-329
arch/alpha/Kconfig
arch/alpha/Kconfig
+7
-6
arch/alpha/Makefile
arch/alpha/Makefile
+41
-55
arch/alpha/boot/Makefile
arch/alpha/boot/Makefile
+49
-72
arch/alpha/kernel/Makefile
arch/alpha/kernel/Makefile
+59
-65
arch/alpha/kernel/alpha_ksyms.c
arch/alpha/kernel/alpha_ksyms.c
+2
-0
arch/alpha/kernel/irq_i8259.c
arch/alpha/kernel/irq_i8259.c
+2
-2
arch/alpha/kernel/sys_alcor.c
arch/alpha/kernel/sys_alcor.c
+3
-5
arch/alpha/lib/Makefile
arch/alpha/lib/Makefile
+33
-38
arch/alpha/math-emu/Makefile
arch/alpha/math-emu/Makefile
+1
-1
drivers/char/agp/Kconfig
drivers/char/agp/Kconfig
+10
-0
drivers/char/agp/Makefile
drivers/char/agp/Makefile
+1
-0
drivers/char/agp/agp.h
drivers/char/agp/agp.h
+6
-1
drivers/char/agp/amd-k8-agp.c
drivers/char/agp/amd-k8-agp.c
+1
-8
drivers/char/agp/backend.c
drivers/char/agp/backend.c
+1
-1
drivers/char/agp/frontend.c
drivers/char/agp/frontend.c
+2
-1
drivers/char/agp/generic-3.0.c
drivers/char/agp/generic-3.0.c
+10
-11
drivers/char/agp/generic.c
drivers/char/agp/generic.c
+37
-1
drivers/char/agp/intel-agp.c
drivers/char/agp/intel-agp.c
+3
-1
drivers/char/agp/via-agp.c
drivers/char/agp/via-agp.c
+11
-48
drivers/char/agp/via-kt400.c
drivers/char/agp/via-kt400.c
+199
-0
include/asm-alpha/irq.h
include/asm-alpha/irq.h
+0
-1
include/linux/agp_backend.h
include/linux/agp_backend.h
+2
-0
include/linux/compat.h
include/linux/compat.h
+3
-1
include/linux/pci_ids.h
include/linux/pci_ids.h
+1
-0
kernel/module.c
kernel/module.c
+11
-11
No files found.
arch/alpha/Kconfig
View file @
37055f70
...
@@ -7,9 +7,8 @@ config ALPHA
...
@@ -7,9 +7,8 @@ config ALPHA
default y
default y
help
help
The Alpha is a 64-bit general-purpose processor designed and
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory, now
marketed by the Digital Equipment Corporation of blessed memory,
Compaq. Alpha Linux dates from 1995-1996 and was the first non-x86
now Hewlett-Packard. The Alpha Linux project has a home page at
port. The Alpha Linux project has a home page at
<http://www.alphalinux.org/>.
<http://www.alphalinux.org/>.
config MMU
config MMU
...
@@ -42,9 +41,6 @@ menu "System setup"
...
@@ -42,9 +41,6 @@ menu "System setup"
choice
choice
prompt "Alpha system type"
prompt "Alpha system type"
default ALPHA_GENERIC
default ALPHA_GENERIC
config ALPHA_GENERIC
bool "Generic"
---help---
---help---
This is the system type of your hardware. A "generic" kernel will
This is the system type of your hardware. A "generic" kernel will
run on any supported Alpha system. However, if you configure a
run on any supported Alpha system. However, if you configure a
...
@@ -84,6 +80,11 @@ config ALPHA_GENERIC
...
@@ -84,6 +80,11 @@ config ALPHA_GENERIC
If you don't know what to do, choose "generic".
If you don't know what to do, choose "generic".
config ALPHA_GENERIC
bool "Generic"
help
A generic kernel will run on all supported Alpha hardware.
config ALPHA_ALCOR
config ALPHA_ALCOR
bool "Alcor/Alpha-XLT"
bool "Alcor/Alpha-XLT"
help
help
...
...
arch/alpha/Makefile
View file @
37055f70
...
@@ -10,13 +10,17 @@
...
@@ -10,13 +10,17 @@
NM
:=
$(NM)
-B
NM
:=
$(NM)
-B
LDFLAGS_vmlinux
=
-static
-N
#-relax
LDFLAGS_vmlinux
:
=
-static
-N
#-relax
CFLAGS
:=
$(CFLAGS)
-pipe
-mno-fp-regs
-ffixed-8
LDFLAGS_BLOB
:=
--format
binary
--oformat
elf64-alpha
LDFLAGS_BLOB
:=
--format
binary
--oformat
elf64-alpha
cflags-y
:=
-pipe
-mno-fp-regs
-ffixed-8
# Determine if we can use the BWX instructions with GAS.
# Determine if we can use the BWX instructions with GAS.
old_gas
:=
$(
shell
if
$(AS)
--version
2>&1 |
grep
'version 2.7'
>
/dev/null
;
then
echo
y
;
else
echo
n
;
fi
)
old_gas
:=
$(
shell
if
$(AS)
--version
2>&1 |
grep
'version 2.7'
>
/dev/null
;
then
echo
y
;
else
echo
n
;
fi
)
ifeq
($(old_gas),y)
$(error
The
assembler
'$(AS)'
does
not
support
the
BWX
instruction)
endif
# Determine if GCC understands the -mcpu= option.
# Determine if GCC understands the -mcpu= option.
have_mcpu
:=
$(
shell
if
$(CC)
-mcpu
=
ev5
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
y
;
else
echo
n
;
fi
)
have_mcpu
:=
$(
shell
if
$(CC)
-mcpu
=
ev5
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
y
;
else
echo
n
;
fi
)
...
@@ -27,68 +31,64 @@ have_mcpu_ev6 := $(shell if $(CC) -mcpu=ev6 -S -o /dev/null -xc /dev/null > /dev
...
@@ -27,68 +31,64 @@ have_mcpu_ev6 := $(shell if $(CC) -mcpu=ev6 -S -o /dev/null -xc /dev/null > /dev
have_mcpu_ev67
:=
$(
shell
if
$(CC)
-mcpu
=
ev67
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
y
;
else
echo
n
;
fi
)
have_mcpu_ev67
:=
$(
shell
if
$(CC)
-mcpu
=
ev67
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
y
;
else
echo
n
;
fi
)
have_msmall_data
:=
$(
shell
if
$(CC)
-msmall-data
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
y
;
else
echo
n
;
fi
)
have_msmall_data
:=
$(
shell
if
$(CC)
-msmall-data
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
y
;
else
echo
n
;
fi
)
ifeq
($(have_msmall_data),y)
CFLAGS
:=
$(CFLAGS)
-msmall-data
cflags-$(have_msmall_data)
+=
-msmall-data
endif
# Turn on the proper cpu optimizations.
# Turn on the proper cpu optimizations.
ifeq
($(have_mcpu),y)
ifeq
($(have_mcpu),y)
mcpu_done
:=
n
# If GENERIC, make sure to turn off any instruction set extensions that
# If GENERIC, make sure to turn off any instruction set extensions that
# the host compiler might have on by default. Given that EV4 and EV5
# the host compiler might have on by default. Given that EV4 and EV5
# have the same instruction set, prefer EV5 because an EV5 schedule is
# have the same instruction set, prefer EV5 because an EV5 schedule is
# more likely to keep an EV4 processor busy than vice-versa.
# more likely to keep an EV4 processor busy than vice-versa.
mcpu_done
:=
n
ifeq
($(CONFIG_ALPHA_GENERIC),y)
ifeq
($(CONFIG_ALPHA_GENERIC),y)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
ev5
mcpu
:=
ev5
mcpu_done
:=
y
mcpu_done
:=
y
endif
endif
ifeq
($(mcpu_done)$(CONFIG_ALPHA_SX164)$(have_mcpu_pca56),nyy)
ifeq
($(mcpu_done)$(CONFIG_ALPHA_SX164)$(have_mcpu_pca56),nyy)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
pca56
mcpu
:=
pca56
mcpu_done
:=
y
mcpu_done
:=
y
endif
endif
ifeq
($(mcpu_done)$(CONFIG_ALPHA_POLARIS)$(have_mcpu_pca56),nyy)
ifeq
($(mcpu_done)$(CONFIG_ALPHA_POLARIS)$(have_mcpu_pca56),nyy)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
pca56
mcpu
:=
pca56
mcpu_done
:=
y
mcpu_done
:=
y
endif
endif
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV4),ny)
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV4),ny)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
ev4
mcpu
:=
ev4
mcpu_done
:=
y
mcpu_done
:=
y
endif
endif
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV56),ny)
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV56),ny)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
ev56
mcpu
:=
ev56
mcpu_done
:=
y
mcpu_done
:=
y
endif
endif
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV5),ny)
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV5),ny)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
ev5
mcpu
:=
ev5
mcpu_done
:=
y
mcpu_done
:=
y
endif
endif
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV67)$(have_mcpu_ev67),nyy)
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV67)$(have_mcpu_ev67),nyy)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
ev67
mcpu
:=
ev67
mcpu_done
:=
y
mcpu_done
:=
y
endif
endif
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV6),ny)
ifeq
($(mcpu_done)$(CONFIG_ALPHA_EV6),ny)
ifeq
($(have_mcpu_ev6),y)
ifeq
($(have_mcpu_ev6),y)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
ev6
mcpu
:=
ev6
else
else
ifeq
($(have_mcpu_pca56),y)
ifeq
($(have_mcpu_pca56),y)
CFLAGS
:=
$(CFLAGS)
-mcpu
=
pca56
mcpu
:=
pca56
else
else
CFLAGS
:=
$(CFLAGS)
-
mcpu
=
ev56
mcpu
=
ev56
endif
endif
endif
endif
mcpu_done
:=
y
mcpu_done
:=
y
endif
endif
cflags-$(mcpu_done)
+=
-mcpu
=
$(mcpu)
endif
endif
# For TSUNAMI, we must have the assembler not emulate our instructions.
# For TSUNAMI, we must have the assembler not emulate our instructions.
# The same is true for IRONGATE, POLARIS, PYXIS.
# The same is true for IRONGATE, POLARIS, PYXIS.
# BWX is most important, but we don't really want any emulation ever.
# BWX is most important, but we don't really want any emulation ever.
CFLAGS
+=
$
(
cflags-y
)
-Wa
,-mev6
ifeq
($(old_gas),y)
# How do we do #error in make?
CFLAGS
:=
--error-please-upgrade-your-assembler
endif
CFLAGS
:=
$(CFLAGS)
-Wa
,-mev6
HEAD
:=
arch
/alpha/kernel/head.o
HEAD
:=
arch
/alpha/kernel/head.o
...
@@ -96,37 +96,16 @@ core-y += arch/alpha/kernel/ arch/alpha/mm/
...
@@ -96,37 +96,16 @@ core-y += arch/alpha/kernel/ arch/alpha/mm/
core-$(CONFIG_MATHEMU)
+=
arch
/alpha/math-emu/
core-$(CONFIG_MATHEMU)
+=
arch
/alpha/math-emu/
libs-y
+=
arch
/alpha/lib/
libs-y
+=
arch
/alpha/lib/
export
libs-y
boot
:=
arch
/alpha/boot
MAKEBOOT
=
$(MAKE)
-C
arch
/alpha/boot
rawboot
:
vmlinux
#Default target when executing make with no arguments
@
$(MAKEBOOT)
rawboot
all boot
:
$(boot)/vmlinux.gz
boot
:
vmlinux
$(boot)/vmlinux.gz
:
vmlinux
@
$(MAKEBOOT)
$(Q)$(MAKE)
-f
scripts/Makefile.build
obj
=
$(boot)
$@
#
bootimage bootpfile
:
vmlinux
# My boot writes directly to a specific disk partition, I doubt most
$(Q)$(MAKE)
-f
scripts/Makefile.build
obj
=
$(boot)
$(boot)
/
$@
# people will want to do that without changes..
#
msb my-special-boot
:
vmlinux
@
$(MAKEBOOT)
msb
bootimage
:
vmlinux
@
$(MAKEBOOT)
bootimage
srmboot
:
vmlinux
@
$(MAKEBOOT)
srmboot
archclean
:
@
$(MAKEBOOT)
clean
archmrproper
:
rm
-f
include/asm-alpha/asm_offsets.h
bootpfile
:
vmlinux
@
$(MAKEBOOT)
bootpfile
prepare
:
include/asm-$(ARCH)/asm_offsets.h
prepare
:
include/asm-$(ARCH)/asm_offsets.h
...
@@ -134,12 +113,19 @@ prepare: include/asm-$(ARCH)/asm_offsets.h
...
@@ -134,12 +113,19 @@ prepare: include/asm-$(ARCH)/asm_offsets.h
arch/$(ARCH)/kernel/asm-offsets.s
:
include/asm include/linux/version.h
\
arch/$(ARCH)/kernel/asm-offsets.s
:
include/asm include/linux/version.h
\
include/config/MARKER
include/config/MARKER
include/asm-$(ARCH)/asm_offsets.h.tmp
:
arch/$(ARCH)/kernel/asm-offsets.s
include/asm-$(ARCH)/asm_offsets.h
:
arch/$(ARCH)/kernel/asm-offsets.s
@
$
(
generate-asm-offsets.h
)
<
$<
>
$@
include/asm-$(ARCH)/asm_offsets.h
:
include/asm-$(ARCH)/asm_offsets.h.tmp
@
echo
-n
' Generating $@'
@
echo
-n
' Generating $@'
@
$
(
generate-asm-offsets.h
)
<
$<
>
$@
.tmp
@
$
(
update-if-changed
)
@
$
(
update-if-changed
)
archclean
:
$(Q)$(MAKE)
-f
scripts/Makefile.clean
obj
=
$(boot)
CLEAN_FILES
+=
include/asm-
$(ARCH)
/offset.h.tmp
\
CLEAN_FILES
+=
include/asm-
$(ARCH)
/offset.h.tmp
\
include/asm-
$(ARCH)
/offset.h
include/asm-
$(ARCH)
/offset.h
define
archhelp
echo
'* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)'
echo
' bootimage - SRM bootable image (arch/alpha/boot/bootimage)'
echo
' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)'
endef
arch/alpha/boot/Makefile
View file @
37055f70
...
@@ -8,58 +8,35 @@
...
@@ -8,58 +8,35 @@
# Copyright (C) 1994 by Linus Torvalds
# Copyright (C) 1994 by Linus Torvalds
#
#
LINKFLAGS
=
-static
-T
bootloader.lds
-uvsprintf
#-N -relax
host-progs
:=
tools/mkbb tools/objstrip
EXTRA_TARGETS
:=
vmlinux.gz vmlinux
\
CFLAGS
:=
$(CFLAGS)
-I
$(TOPDIR)
/include
vmlinux.nh tools/lxboot tools/bootlx tools/bootph
\
bootloader bootpheader
.S.s
:
OBJSTRIP
:=
$(obj)
/tools/objstrip
$(CPP)
$(AFLAGS)
-traditional
-o
$*
.o
$<
.S.o
:
# SRM bootable image. Copy to offset 512 of a partition.
$(CC)
$(AFLAGS)
-traditional
-c
-o
$*
.o
$<
$(obj)/bootimage
:
$(addprefix $(obj)/tools/
,
mkbb lxboot bootlx) $(obj)/vmlinux.nh
(
cat
$(obj)
/tools/lxboot
$(obj)
/tools/bootlx
$(obj)
/vmlinux.nh
)
>
$@
OBJECTS
=
head.o main.o
$(obj)
/tools/mkbb
$@
$(obj)
/tools/lxboot
BPOBJECTS
=
head.o bootp.o
@
echo
' Bootimage $@ is ready'
TARGETS
=
vmlinux.gz tools/objstrip
# also needed by aboot & milo
VMLINUX
=
$(TOPDIR)
/vmlinux
# BOOTP bootable image. Define INITRD during make to append initrd image.
OBJSTRIP
=
tools/objstrip
$(obj)/bootpfile
:
$(obj)/tools/bootph $(obj)/vmlinux.nh
LIBS
:=
$(
addprefix
$(TOPDIR)
/,
$
(
libs-y
))
cat
$(obj)
/tools/bootph
$(obj)
/vmlinux.nh
>
$@
all
:
$(TARGETS)
@
echo
Ready to
install
kernel
in
$(
shell
pwd
)
/vmlinux.gz
# normally no need to build these:
rawboot
:
vmlinux.nh tools/lxboot tools/bootlx
msb
:
tools/lxboot tools/bootlx vmlinux.nh
(
cat
tools/lxboot tools/bootlx vmlinux.nh
)
>
/dev/rz0a
disklabel
-rw
rz0
'linux'
tools/lxboot tools/bootlx
bootimage
:
tools/mkbb tools/lxboot tools/bootlx vmlinux.nh
(
cat
tools/lxboot tools/bootlx vmlinux.nh
)
>
bootimage
tools/mkbb bootimage tools/lxboot
bootpfile
:
tools/bootph vmlinux.nh
cat
tools/bootph vmlinux.nh
>
bootpfile
ifdef
INITRD
ifdef
INITRD
cat
$(INITRD)
>>
bootpfile
cat
$(INITRD)
>>
$@
endif
endif
srmboot
:
bootdevice bootimage
# Compressed kernel image
dd
if
=
bootimage
of
=
$(BOOTDEV)
bs
=
512
seek
=
1
skip
=
1
$(obj)/vmlinux.gz
:
$(obj)/vmlinux FORCE
tools/mkbb
$(BOOTDEV)
tools/lxboot
$(
call
if_changed,gzip
)
@
echo
' Kernel $@ is ready'
bootdevice
:
@
test
"
$(BOOTDEV)
"
!=
""
||
(
echo
You must specify BOOTDEV
;
exit
-1
)
vmlinux.gz
:
vmlinux
gzip
-fv9
vmlinux
main.o
:
ksize.h
$(obj)/main.o
:
$(obj)/ksize.h
$(obj)/bootp.o
:
$(obj)/ksize.h
bootp.o
:
ksize.h
$(obj)/ksize.h
:
$(obj)/vmlinux.nh FORCE
echo
"#define KERNEL_SIZE
`
ls
-l
$(obj)
/vmlinux.nh |
awk
'{print $$5}'
`
"
>
$@
T
ksize.h
:
vmlinux.nh FORCE
echo
"#define KERNEL_SIZE
`
ls
-l
vmlinux.nh |
awk
'{print $$5}'
`
"
>
$@
T
ifdef
INITRD
ifdef
INITRD
[
-f
$(INITRD)
]
||
exit
1
[
-f
$(INITRD)
]
||
exit
1
echo
"#define INITRD_IMAGE_SIZE
`
ls
-l
$(INITRD)
|
awk
'{print $$5}'
`
"
>>
$@
T
echo
"#define INITRD_IMAGE_SIZE
`
ls
-l
$(INITRD)
|
awk
'{print $$5}'
`
"
>>
$@
T
...
@@ -67,36 +44,36 @@ endif
...
@@ -67,36 +44,36 @@ endif
cmp
-s
$@
T
$@
||
mv
-f
$@
T
$@
cmp
-s
$@
T
$@
||
mv
-f
$@
T
$@
rm
-f
$@
T
rm
-f
$@
T
vmlinux.nh
:
$(VMLINUX) $(OBJSTRIP)
quiet_cmd_strip
=
STRIP
$@
$(OBJSTRIP)
-v
$(VMLINUX)
vmlinux.nh
cmd_strip
=
$(STRIP)
-o
$@
$<
$(obj)/vmlinux
:
vmlinux FORCE
vmlinux
:
$(TOPDIR)/vmlinux
$(
call
if_changed,strip
)
$(STRIP)
-o
vmlinux
$(VMLINUX)
tools/lxboot
:
$(OBJSTRIP) bootloader
$(OBJSTRIP)
-p
bootloader tools/lxboot
tools/bootlx
:
bootloader $(OBJSTRIP)
quiet_cmd_objstrip
=
OBJSTRIP
$@
$(OBJSTRIP)
-vb
bootloader tools/bootlx
cmd_objstrip
=
$(OBJSTRIP)
$
(
OSFLAGS_
$
(
@F
))
$<
$@
tools/bootph
:
bootpheader $(OBJSTRIP)
OSFLAGS_vmlinux.nh
:=
-v
$(OBJSTRIP)
-vb
bootpheader tools/bootph
OSFLAGS_lxboot
:=
-p
OSFLAGS_bootlx
:=
-vb
OSFLAGS_bootph
:=
-vb
$(OBJSTRIP)
:
$(OBJSTRIP).c
$(obj)/vmlinux.nh
:
vmlinux $(OBJSTRIP) FORCE
$(HOSTCC)
$(HOSTCFLAGS)
$<
-o
$@
$(
call
if_changed,objstrip
)
$(obj)/tools/lxboot
:
$(obj)/bootloader $(OBJSTRIP) FORCE
$(
call
if_changed,objstrip
)
tools/mkbb
:
tools/mkbb.c
$(obj)/tools/bootlx
:
$(obj)/bootloader $(OBJSTRIP) FORCE
$(
HOSTCC)
tools/mkbb.c
-o
tools/mkbb
$(
call
if_changed,objstrip
)
bootloader
:
$(OBJECTS)
$(obj)/tools/bootph
:
$(obj)/bootpheader $(OBJSTRIP) FORCE
$(
LD)
$(LINKFLAGS)
$(OBJECTS)
$(LIBS)
-o
bootloader
$(
call
if_changed,objstrip
)
bootpheader
:
$(BPOBJECTS)
LDFLAGS_bootloader
:=
-static
-uvsprintf
-T
#-N -relax
$(LD)
$(LINKFLAGS)
$(BPOBJECTS)
$(LIBS)
-o
bootpheader
LDFLAGS_bootpheader
:=
-static
-uvsprintf
-T
#-N -relax
clean
:
$(obj)/bootloader
:
$(obj)/bootloader.lds $(obj)/head.o $(obj)/main.o FORCE
rm
-f
$(TARGETS)
bootloader bootimage bootpfile bootpheader
$(
call
if_changed,ld
)
rm
-f
tools/mkbb tools/bootlx tools/lxboot tools/bootph
rm
-f
vmlinux.nh ksize.h
FORCE
:
$(obj)/bootpheader
:
$(obj)/bootloader.lds $(obj)/head.o $(obj)/bootp.o FORCE
$(
call
if_changed,ld
)
arch/alpha/kernel/Makefile
View file @
37055f70
...
@@ -12,83 +12,77 @@ obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \
...
@@ -12,83 +12,77 @@ obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \
irq_alpha.o signal.o setup.o ptrace.o time.o semaphore.o
\
irq_alpha.o signal.o setup.o ptrace.o time.o semaphore.o
\
alpha_ksyms.o systbls.o err_common.o
alpha_ksyms.o systbls.o err_common.o
#
obj-$(CONFIG_VGA_HOSE)
+=
console.o
# FIXME!
obj-$(CONFIG_SMP)
+=
smp.o
# These should be made conditional on the stuff that needs them!
obj-$(CONFIG_PCI)
+=
pci.o pci_iommu.o
#
obj-y
+=
irq_i8259.o irq_srm.o
\
es1888.o smc37c669.o smc37c93x.o ns87312.o
ifdef
CONFIG_VGA_HOSE
obj-y
+=
console.o
endif
obj-$(CONFIG_SMP)
+=
smp.o
obj-$(CONFIG_PCI)
+=
pci.o pci_iommu.o
obj-$(CONFIG_SRM_ENV)
+=
srm_env.o
obj-$(CONFIG_SRM_ENV)
+=
srm_env.o
ifdef
CONFIG_ALPHA_GENERIC
ifdef
CONFIG_ALPHA_GENERIC
obj-y
+=
core_apecs.o core_cia.o core_irongate.o core_lca.o core_mcpcia.o
\
obj-y
+=
core_apecs.o core_cia.o core_irongate.o core_lca.o
\
core_polaris.o core_t2.o core_tsunami.o core_titan.o
\
core_mcpcia.o core_polaris.o core_t2.o core_tsunami.o
\
sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eb64p.o sys_eiger.o
\
core_titan.o core_wildfire.o
obj-y
+=
sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eb64p.o sys_eiger.o
\
sys_jensen.o sys_miata.o sys_mikasa.o sys_nautilus.o sys_titan.o
\
sys_jensen.o sys_miata.o sys_mikasa.o sys_nautilus.o sys_titan.o
\
sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o
\
sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o
\
sys_sable.o sys_sio.o sys_sx164.o sys_takara.o
\
sys_sable.o sys_sio.o sys_sx164.o sys_takara.o
\
sys_wildfire.o core_wildfire.o irq_pyxis.o
sys_wildfire.o
obj-y
+=
irq_pyxis.o irq_i8259.o irq_srm.o
obj-y
+=
es1888.o smc37c669.o smc37c93x.o ns87312.o
else
else
# Core logic support
# Core logic support
obj-$(CONFIG_ALPHA_APECS)
+=
core_apecs.o
obj-$(CONFIG_ALPHA_APECS)
+=
core_apecs.o
obj-$(CONFIG_ALPHA_CIA)
+=
core_cia.o
obj-$(CONFIG_ALPHA_CIA)
+=
core_cia.o
obj-$(CONFIG_ALPHA_IRONGATE)
+=
core_irongate.o
obj-$(CONFIG_ALPHA_IRONGATE)
+=
core_irongate.o
obj-$(CONFIG_ALPHA_LCA)
+=
core_lca.o
obj-$(CONFIG_ALPHA_LCA)
+=
core_lca.o
obj-$(CONFIG_ALPHA_MCPCIA)
+=
core_mcpcia.o
obj-$(CONFIG_ALPHA_MCPCIA)
+=
core_mcpcia.o
obj-$(CONFIG_ALPHA_POLARIS)
+=
core_polaris.o
obj-$(CONFIG_ALPHA_T2)
+=
core_t2.o
obj-$(CONFIG_ALPHA_T2)
+=
core_t2.o
obj-$(CONFIG_ALPHA_TSUNAMI)
+=
core_tsunami.o
obj-$(CONFIG_ALPHA_TSUNAMI)
+=
core_tsunami.o
obj-$(CONFIG_ALPHA_TITAN)
+=
core_titan.o
obj-$(CONFIG_ALPHA_TITAN)
+=
core_titan.o
obj-$(CONFIG_ALPHA_POLARIS)
+=
core_polaris.o
obj-$(CONFIG_ALPHA_WILDFIRE)
+=
core_wildfire.o
obj-$(CONFIG_ALPHA_WILDFIRE)
+=
core_wildfire.o
# Board support
# Board support
ifneq
($(CONFIG_ALPHA_ALCOR)$(CONFIG_ALPHA_XLT),)
obj-$(CONFIG_ALPHA_ALCOR)
+=
sys_alcor.o irq_i8259.o irq_srm.o
obj-y
+=
sys_alcor.o
obj-$(CONFIG_ALPHA_CABRIOLET)
+=
sys_cabriolet.o irq_i8259.o irq_srm.o
\
endif
ns87312.o
ifneq
($(CONFIG_ALPHA_CABRIOLET)$(CONFIG_ALPHA_EB164)$(CONFIG_ALPHA_EB66P)$(CONFIG_ALPHA_LX164)$(CONFIG_ALPHA_PC164),)
obj-$(CONFIG_ALPHA_EB164)
+=
sys_cabriolet.o irq_i8259.o irq_srm.o
\
obj-y
+=
sys_cabriolet.o
ns87312.o
endif
obj-$(CONFIG_ALPHA_EB66P)
+=
sys_cabriolet.o irq_i8259.o irq_srm.o
\
ns87312.o
obj-$(CONFIG_ALPHA_DP264)
+=
sys_dp264.o
obj-$(CONFIG_ALPHA_LX164)
+=
sys_cabriolet.o irq_i8259.o irq_srm.o
\
obj-$(CONFIG_ALPHA_SHARK)
+=
sys_dp264.o
smc37c93x.o
obj-$(CONFIG_ALPHA_TITAN)
+=
sys_titan.o
obj-$(CONFIG_ALPHA_PC164)
+=
sys_cabriolet.o irq_i8259.o irq_srm.o
\
smc37c93x.o
ifneq
($(CONFIG_ALPHA_EB64P)$(CONFIG_ALPHA_EB66),)
obj-$(CONFIG_ALPHA_DP264)
+=
sys_dp264.o irq_i8259.o es1888.o smc37c669.o
obj-y
+=
sys_eb64p.o
obj-$(CONFIG_ALPHA_SHARK)
+=
sys_dp264.o irq_i8259.o es1888.o smc37c669.o
endif
obj-$(CONFIG_ALPHA_TITAN)
+=
sys_titan.o irq_i8259.o smc37c669.o
obj-$(CONFIG_ALPHA_EB64P)
+=
sys_eb64p.o irq_i8259.o
obj-$(CONFIG_ALPHA_EIGER)
+=
sys_eiger.o
obj-$(CONFIG_ALPHA_EB66)
+=
sys_eb64p.o irq_i8259.o
obj-$(CONFIG_ALPHA_JENSEN)
+=
sys_jensen.o pci-noop.o
obj-$(CONFIG_ALPHA_EIGER)
+=
sys_eiger.o irq_i8259.o
obj-$(CONFIG_ALPHA_MIATA)
+=
sys_miata.o
obj-$(CONFIG_ALPHA_JENSEN)
+=
sys_jensen.o pci-noop.o irq_i8259.o
obj-$(CONFIG_ALPHA_MIKASA)
+=
sys_mikasa.o
obj-$(CONFIG_ALPHA_MIATA)
+=
sys_miata.o irq_pyxis.o irq_i8259.o
\
obj-$(CONFIG_ALPHA_NAUTILUS)
+=
sys_nautilus.o
es1888.o smc37c669.o
obj-$(CONFIG_ALPHA_NORITAKE)
+=
sys_noritake.o
obj-$(CONFIG_ALPHA_MIKASA)
+=
sys_mikasa.o irq_i8259.o irq_srm.o
obj-$(CONFIG_ALPHA_RAWHIDE)
+=
sys_rawhide.o
obj-$(CONFIG_ALPHA_NAUTILUS)
+=
sys_nautilus.o irq_i8259.o irq_srm.o
obj-$(CONFIG_ALPHA_RUFFIAN)
+=
sys_ruffian.o
obj-$(CONFIG_ALPHA_NORITAKE)
+=
sys_noritake.o irq_i8259.o
obj-$(CONFIG_ALPHA_RX164)
+=
sys_rx164.o
obj-$(CONFIG_ALPHA_RAWHIDE)
+=
sys_rawhide.o irq_i8259.o
obj-$(CONFIG_ALPHA_SABLE)
+=
sys_sable.o
obj-$(CONFIG_ALPHA_RUFFIAN)
+=
sys_ruffian.o irq_pyxis.o irq_i8259.o
obj-$(CONFIG_ALPHA_RX164)
+=
sys_rx164.o irq_i8259.o
ifneq
($(CONFIG_ALPHA_BOOK1)$(CONFIG_ALPHA_AVANTI)$(CONFIG_ALPHA_NONAME)$(CONFIG_ALPHA_P2K)$(CONFIG_ALPHA_XL),)
obj-$(CONFIG_ALPHA_SABLE)
+=
sys_sable.o
obj-y
+=
sys_sio.o
obj-$(CONFIG_ALPHA_BOOK1)
+=
sys_sio.o irq_i8259.o irq_srm.o ns87312.o
endif
obj-$(CONFIG_ALPHA_AVANTI)
+=
sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_NONAME)
+=
sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_SX164)
+=
sys_sx164.o
obj-$(CONFIG_ALPHA_P2K)
+=
sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_TAKARA)
+=
sys_takara.o
obj-$(CONFIG_ALPHA_XL)
+=
sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_WILDFIRE)
+=
sys_wildfire.o
obj-$(CONFIG_ALPHA_SX164)
+=
sys_sx164.o irq_pyxis.o irq_i8259.o
\
irq_srm.o smc37c669.o
ifneq
($(CONFIG_ALPHA_MIATA)$(CONFIG_ALPHA_RUFFIAN)$(CONFIG_ALPHA_SX164),)
obj-$(CONFIG_ALPHA_TAKARA)
+=
sys_takara.o irq_i8259.o ns87312.o
obj-y
+=
irq_pyxis.o
obj-$(CONFIG_ALPHA_WILDFIRE)
+=
sys_wildfire.o irq_i8259.o
endif
endif
# GENERIC
endif
# GENERIC
arch/alpha/kernel/alpha_ksyms.c
View file @
37055f70
...
@@ -33,6 +33,7 @@
...
@@ -33,6 +33,7 @@
#include <asm/semaphore.h>
#include <asm/semaphore.h>
#include <asm/tlbflush.h>
#include <asm/tlbflush.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/vga.h>
#define __KERNEL_SYSCALLS__
#define __KERNEL_SYSCALLS__
#include <asm/unistd.h>
#include <asm/unistd.h>
...
@@ -90,6 +91,7 @@ EXPORT_SYMBOL(___raw_writeq);
...
@@ -90,6 +91,7 @@ EXPORT_SYMBOL(___raw_writeq);
EXPORT_SYMBOL
(
_memcpy_fromio
);
EXPORT_SYMBOL
(
_memcpy_fromio
);
EXPORT_SYMBOL
(
_memcpy_toio
);
EXPORT_SYMBOL
(
_memcpy_toio
);
EXPORT_SYMBOL
(
_memset_c_io
);
EXPORT_SYMBOL
(
_memset_c_io
);
EXPORT_SYMBOL
(
scr_memcpyw
);
EXPORT_SYMBOL
(
insb
);
EXPORT_SYMBOL
(
insb
);
EXPORT_SYMBOL
(
insw
);
EXPORT_SYMBOL
(
insw
);
EXPORT_SYMBOL
(
insl
);
EXPORT_SYMBOL
(
insl
);
...
...
arch/alpha/kernel/irq_i8259.c
View file @
37055f70
...
@@ -130,11 +130,11 @@ init_i8259a_irqs(void)
...
@@ -130,11 +130,11 @@ init_i8259a_irqs(void)
# define IACK_SC TITAN_IACK_SC
# define IACK_SC TITAN_IACK_SC
#elif defined(CONFIG_ALPHA_TSUNAMI)
#elif defined(CONFIG_ALPHA_TSUNAMI)
# define IACK_SC TSUNAMI_IACK_SC
# define IACK_SC TSUNAMI_IACK_SC
#elif defined(CONFIG_ALPHA_POLARIS)
# define IACK_SC POLARIS_IACK_SC
#elif defined(CONFIG_ALPHA_IRONGATE)
#elif defined(CONFIG_ALPHA_IRONGATE)
# define IACK_SC IRONGATE_IACK_SC
# define IACK_SC IRONGATE_IACK_SC
#endif
#endif
/* Note that CONFIG_ALPHA_POLARIS is intentionally left out here, since
sys_rx164 wants to use isa_no_iack_sc_device_interrupt for some reason. */
#if defined(IACK_SC)
#if defined(IACK_SC)
void
void
...
...
arch/alpha/kernel/sys_alcor.c
View file @
37055f70
...
@@ -245,7 +245,6 @@ alcor_kill_arch(int mode)
...
@@ -245,7 +245,6 @@ alcor_kill_arch(int mode)
* The System Vectors
* The System Vectors
*/
*/
#if defined(CONFIG_ALPHA_GENERIC) || defined(CONFIG_ALPHA_ALCOR)
struct
alpha_machine_vector
alcor_mv
__initmv
=
{
struct
alpha_machine_vector
alcor_mv
__initmv
=
{
.
vector_name
=
"Alcor"
,
.
vector_name
=
"Alcor"
,
DO_EV5_MMU
,
DO_EV5_MMU
,
...
@@ -273,9 +272,7 @@ struct alpha_machine_vector alcor_mv __initmv = {
...
@@ -273,9 +272,7 @@ struct alpha_machine_vector alcor_mv __initmv = {
}}
}}
};
};
ALIAS_MV
(
alcor
)
ALIAS_MV
(
alcor
)
#endif
#if defined(CONFIG_ALPHA_GENERIC) || defined(CONFIG_ALPHA_XLT)
struct
alpha_machine_vector
xlt_mv
__initmv
=
{
struct
alpha_machine_vector
xlt_mv
__initmv
=
{
.
vector_name
=
"XLT"
,
.
vector_name
=
"XLT"
,
DO_EV5_MMU
,
DO_EV5_MMU
,
...
@@ -302,5 +299,6 @@ struct alpha_machine_vector xlt_mv __initmv = {
...
@@ -302,5 +299,6 @@ struct alpha_machine_vector xlt_mv __initmv = {
.
gru_int_req_bits
=
XLT_GRU_INT_REQ_BITS
.
gru_int_req_bits
=
XLT_GRU_INT_REQ_BITS
}}
}}
};
};
ALIAS_MV
(
xlt
)
#endif
/* No alpha_mv alias for XLT, since we compile it in unconditionally
with ALCOR; setup_arch knows how to cope. */
arch/alpha/lib/Makefile
View file @
37055f70
...
@@ -7,58 +7,53 @@ L_TARGET := lib.a
...
@@ -7,58 +7,53 @@ L_TARGET := lib.a
# Many of these routines have implementations tuned for ev6.
# Many of these routines have implementations tuned for ev6.
# Choose them iff we're targeting ev6 specifically.
# Choose them iff we're targeting ev6 specifically.
ev6
:=
ev6-$(CONFIG_ALPHA_EV6)
:=
ev6-
ifeq
($(CONFIG_ALPHA_EV6),y)
ev6
:=
ev6-
endif
# Several make use of the cttz instruction introduced in ev67.
# Several make use of the cttz instruction introduced in ev67.
ev67
:=
ev67-$(CONFIG_ALPHA_EV67)
:=
ev67-
ifeq
($(CONFIG_ALPHA_EV67),y)
ev67
:=
ev67-
endif
obj-y
=
__divqu.o __remqu.o __divlu.o __remlu.o
\
obj-y
=
__divqu.o __remqu.o __divlu.o __remlu.o
\
udelay.o
\
udelay.o
\
$(ev6)
memset.o
\
$
(
ev6
-y
)
memset.o
\
$(ev6)
memcpy.o
\
$
(
ev6
-y
)
memcpy.o
\
memmove.o
\
memmove.o
\
io.o
\
io.o
\
checksum.o
\
checksum.o
\
csum_partial_copy.o
\
csum_partial_copy.o
\
$(ev67)
strlen.o
\
$
(
ev67
-y
)
strlen.o
\
$(ev67)
strcat.o
\
$
(
ev67
-y
)
strcat.o
\
strcpy.o
\
strcpy.o
\
$(ev67)
strncat.o
\
$
(
ev67
-y
)
strncat.o
\
strncpy.o
\
strncpy.o
\
$(ev6)
stxcpy.o
\
$
(
ev6
-y
)
stxcpy.o
\
$(ev6)
stxncpy.o
\
$
(
ev6
-y
)
stxncpy.o
\
$(ev67)
strchr.o
\
$
(
ev67
-y
)
strchr.o
\
$(ev67)
strrchr.o
\
$
(
ev67
-y
)
strrchr.o
\
$(ev6)
memchr.o
\
$
(
ev6
-y
)
memchr.o
\
$(ev6)
copy_user.o
\
$
(
ev6
-y
)
copy_user.o
\
$(ev6)
clear_user.o
\
$
(
ev6
-y
)
clear_user.o
\
$(ev6)
strncpy_from_user.o
\
$
(
ev6
-y
)
strncpy_from_user.o
\
$(ev67)
strlen_user.o
\
$
(
ev67
-y
)
strlen_user.o
\
$(ev6)
csum_ipv6_magic.o
\
$
(
ev6
-y
)
csum_ipv6_magic.o
\
$(ev6)
clear_page.o
\
$
(
ev6
-y
)
clear_page.o
\
$(ev6)
copy_page.o
\
$
(
ev6
-y
)
copy_page.o
\
strcasecmp.o
\
strcasecmp.o
\
fpreg.o
\
fpreg.o
\
callback_srm.o srm_puts.o srm_printk.o
callback_srm.o srm_puts.o srm_printk.o
obj-$(CONFIG_SMP)
+=
dec_and_lock.o
obj-$(CONFIG_SMP)
+=
dec_and_lock.o
$(obj)/__divqu.o
:
$(obj)/$(ev6)divide.S
# The division routines are built from single source, with different defines.
$(CC)
$(AFLAGS)
-DDIV
-c
-o
$(obj)
/__divqu.o
$(obj)
/
$(ev6)
divide.S
AFLAGS___divqu.o
=
-DDIV
AFLAGS___remqu.o
=
-DREM
$(obj)/__remqu.o
:
$(obj)/$(ev6)divide.S
AFLAGS___divlu.o
=
-DDIV
-DINTSIZE
$(CC)
$(AFLAGS)
-DREM
-c
-o
$(obj)
/__remqu.o
$(obj)
/
$(ev6)
divide.S
AFLAGS___remlu.o
=
-DREM
-DINTSIZE
$(obj)/__divlu.o
:
$(obj)/$(ev6)divide.S
$(obj)/__divqu.o
:
$(obj)/$(ev6-y)divide.S
$(CC)
$(AFLAGS)
-DDIV
-DINTSIZE
\
$(cmd_as_o_S)
-c
-o
$(obj)
/__divlu.o
$(obj)
/
$(ev6)
divide.S
$(obj)/__remqu.o
:
$(obj)/$(ev6-y)divide.S
$(cmd_as_o_S)
$(obj)/__remlu.o
:
$(obj)/$(ev6)divide.S
$(obj)/__divlu.o
:
$(obj)/$(ev6-y)divide.S
$(CC)
$(AFLAGS)
-DREM
-DINTSIZE
\
$(cmd_as_o_S)
-c
-o
$(obj)
/__remlu.o
$(obj)
/
$(ev6)
divide.S
$(obj)/__remlu.o
:
$(obj)/$(ev6-y)divide.S
$(cmd_as_o_S)
arch/alpha/math-emu/Makefile
View file @
37055f70
...
@@ -2,6 +2,6 @@
...
@@ -2,6 +2,6 @@
# Makefile for the FPU instruction emulation.
# Makefile for the FPU instruction emulation.
#
#
CFLAGS
+=
-I
.
-I
$(TOPDIR)
/
include/math-emu
-w
CFLAGS
+=
-Iinclude
/math-emu
-w
obj-$(CONFIG_MATHEMU)
+=
math.o qrnnd.o
obj-$(CONFIG_MATHEMU)
+=
math.o qrnnd.o
drivers/char/agp/Kconfig
View file @
37055f70
...
@@ -61,6 +61,16 @@ config AGP_VIA
...
@@ -61,6 +61,16 @@ config AGP_VIA
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
use GLX or DRI. If unsure, say N.
config AGP_VIA_KT400
tristate "VIA KT400 chipset support"
depends on AGP3
help
This option gives you AGP support for the GLX component of the
XFree86 4.x on VIA KT400 AGP 3.0 chipsets.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
config AGP_AMD
config AGP_AMD
tristate "AMD Irongate, 761, and 762 support"
tristate "AMD Irongate, 761, and 762 support"
depends on AGP
depends on AGP
...
...
drivers/char/agp/Makefile
View file @
37055f70
...
@@ -12,6 +12,7 @@ obj-$(CONFIG_AGP) += agpgart.o
...
@@ -12,6 +12,7 @@ obj-$(CONFIG_AGP) += agpgart.o
obj-$(CONFIG_AGP_INTEL)
+=
intel-agp.o
obj-$(CONFIG_AGP_INTEL)
+=
intel-agp.o
obj-$(CONFIG_AGP_VIA)
+=
via-agp.o
obj-$(CONFIG_AGP_VIA)
+=
via-agp.o
obj-$(CONFIG_AGP_VIA_KT400)
+=
via-kt400.o
obj-$(CONFIG_AGP_AMD)
+=
amd-k7-agp.o
obj-$(CONFIG_AGP_AMD)
+=
amd-k7-agp.o
obj-$(CONFIG_AGP_SIS)
+=
sis-agp.o
obj-$(CONFIG_AGP_SIS)
+=
sis-agp.o
obj-$(CONFIG_AGP_ALI)
+=
ali-agp.o
obj-$(CONFIG_AGP_ALI)
+=
ali-agp.o
...
...
drivers/char/agp/agp.h
View file @
37055f70
/*
/*
* AGPGART module version 0.99
* AGPGART module
* Copyright (C) 2002 Dave Jones
* Copyright (C) 1999 Jeff Hartmann
* Copyright (C) 1999 Jeff Hartmann
* Copyright (C) 1999 Precision Insight, Inc.
* Copyright (C) 1999 Precision Insight, Inc.
* Copyright (C) 1999 Xi Graphics, Inc.
* Copyright (C) 1999 Xi Graphics, Inc.
...
@@ -46,6 +47,7 @@ void agp_generic_destroy_page(void *addr);
...
@@ -46,6 +47,7 @@ void agp_generic_destroy_page(void *addr);
int
agp_generic_suspend
(
void
);
int
agp_generic_suspend
(
void
);
void
agp_generic_resume
(
void
);
void
agp_generic_resume
(
void
);
void
agp_free_key
(
int
key
);
void
agp_free_key
(
int
key
);
int
agp_num_entries
(
void
);
#define PFX "agpgart: "
#define PFX "agpgart: "
...
@@ -292,6 +294,9 @@ struct agp_bridge_data {
...
@@ -292,6 +294,9 @@ struct agp_bridge_data {
#define VIA_ATTBASE 0x88
#define VIA_ATTBASE 0x88
/* VIA KT400 */
/* VIA KT400 */
#define VIA_AGP3_GARTCTRL 0x90
#define VIA_AGP3_APSIZE 0x94
#define VIA_AGP3_ATTBASE 0x98
#define VIA_AGPSEL 0xfd
#define VIA_AGPSEL 0xfd
/* SiS registers */
/* SiS registers */
...
...
drivers/char/agp/amd-k8-agp.c
View file @
37055f70
...
@@ -14,8 +14,6 @@
...
@@ -14,8 +14,6 @@
#include <linux/agp_backend.h>
#include <linux/agp_backend.h>
#include "agp.h"
#include "agp.h"
extern
int
agp_memory_reserved
;
static
u_int64_t
pci_read64
(
struct
pci_dev
*
dev
,
int
reg
)
static
u_int64_t
pci_read64
(
struct
pci_dev
*
dev
,
int
reg
)
{
{
union
{
union
{
...
@@ -48,16 +46,11 @@ static void pci_write64 (struct pci_dev *dev, int reg, u64 value)
...
@@ -48,16 +46,11 @@ static void pci_write64 (struct pci_dev *dev, int reg, u64 value)
static
int
x86_64_insert_memory
(
agp_memory
*
mem
,
off_t
pg_start
,
int
type
)
static
int
x86_64_insert_memory
(
agp_memory
*
mem
,
off_t
pg_start
,
int
type
)
{
{
int
i
,
j
,
num_entries
;
int
i
,
j
,
num_entries
;
void
*
temp
;
long
tmp
;
long
tmp
;
u32
pte
;
u32
pte
;
u64
addr
;
u64
addr
;
temp
=
agp_bridge
.
current_size
;
num_entries
=
agp_num_entries
();
num_entries
=
A_SIZE_32
(
temp
)
->
num_entries
;
num_entries
-=
agp_memory_reserved
>>
PAGE_SHIFT
;
if
(
type
!=
0
||
mem
->
type
!=
0
)
if
(
type
!=
0
||
mem
->
type
!=
0
)
return
-
EINVAL
;
return
-
EINVAL
;
...
...
drivers/char/agp/backend.c
View file @
37055f70
/*
/*
* AGPGART
module version 1.0
* AGPGART
driver backend routines.
* Copyright (C) 2002 Dave Jones.
* Copyright (C) 2002 Dave Jones.
* Copyright (C) 1999 Jeff Hartmann.
* Copyright (C) 1999 Jeff Hartmann.
* Copyright (C) 1999 Precision Insight, Inc.
* Copyright (C) 1999 Precision Insight, Inc.
...
...
drivers/char/agp/frontend.c
View file @
37055f70
/*
/*
* AGPGART module frontend version 0.99
* AGPGART driver frontend
* Copyright (C) 2002 Dave Jones
* Copyright (C) 1999 Jeff Hartmann
* Copyright (C) 1999 Jeff Hartmann
* Copyright (C) 1999 Precision Insight, Inc.
* Copyright (C) 1999 Precision Insight, Inc.
* Copyright (C) 1999 Xi Graphics, Inc.
* Copyright (C) 1999 Xi Graphics, Inc.
...
...
drivers/char/agp/generic-3.0.c
View file @
37055f70
/*
* Generic routines for AGP 3.0 compliant bridges.
*/
#include <linux/list.h>
#include <linux/list.h>
#include <linux/pci.h>
#include <linux/pci.h>
#include <linux/agp_backend.h>
#include <linux/agp_backend.h>
...
@@ -393,8 +397,7 @@ static int agp_3_0_node_enable(u32 mode, u32 minor)
...
@@ -393,8 +397,7 @@ static int agp_3_0_node_enable(u32 mode, u32 minor)
if
(
mcapndx
==
0
)
{
if
(
mcapndx
==
0
)
{
printk
(
KERN_ERR
PFX
"woah! Non-AGP device "
printk
(
KERN_ERR
PFX
"woah! Non-AGP device "
"found on the secondary bus of an AGP 3.0 "
"found on the secondary bus of an AGP 3.0 bridge!
\n
"
);
"bridge!
\n
"
);
ret
=
-
ENODEV
;
ret
=
-
ENODEV
;
goto
free_and_exit
;
goto
free_and_exit
;
}
}
...
@@ -442,9 +445,8 @@ static int agp_3_0_node_enable(u32 mode, u32 minor)
...
@@ -442,9 +445,8 @@ static int agp_3_0_node_enable(u32 mode, u32 minor)
rate
=
0x2
;
rate
=
0x2
;
break
;
break
;
default:
default:
printk
(
KERN_ERR
PFX
"woah! Bogus AGP rate "
printk
(
KERN_ERR
PFX
"woah! Bogus AGP rate (%d) "
"value found advertised behind an AGP 3.0 "
"value found advertised behind an AGP 3.0 bridge!
\n
"
,
rate
);
"bridge!
\n
"
);
ret
=
-
ENODEV
;
ret
=
-
ENODEV
;
goto
free_and_exit
;
goto
free_and_exit
;
}
}
...
@@ -455,12 +457,10 @@ static int agp_3_0_node_enable(u32 mode, u32 minor)
...
@@ -455,12 +457,10 @@ static int agp_3_0_node_enable(u32 mode, u32 minor)
* whether isochronous transfers are supported.
* whether isochronous transfers are supported.
*/
*/
if
(
isoch
!=
0
)
{
if
(
isoch
!=
0
)
{
if
((
ret
=
agp_3_0_isochronous_node_enable
(
dev_list
,
if
((
ret
=
agp_3_0_isochronous_node_enable
(
dev_list
,
ndevs
))
!=
0
)
ndevs
))
!=
0
)
goto
free_and_exit
;
goto
free_and_exit
;
}
else
{
}
else
{
if
((
ret
=
agp_3_0_nonisochronous_node_enable
(
dev_list
,
if
((
ret
=
agp_3_0_nonisochronous_node_enable
(
dev_list
,
ndevs
))
!=
0
)
ndevs
))
!=
0
)
goto
free_and_exit
;
goto
free_and_exit
;
}
}
...
@@ -534,8 +534,7 @@ int agp_generic_agp_3_0_enable(u32 mode)
...
@@ -534,8 +534,7 @@ int agp_generic_agp_3_0_enable(u32 mode)
major
=
(
ncapid
>>
20
)
&
0xf
;
major
=
(
ncapid
>>
20
)
&
0xf
;
minor
=
(
ncapid
>>
16
)
&
0xf
;
minor
=
(
ncapid
>>
16
)
&
0xf
;
printk
(
KERN_INFO
PFX
"Found an AGP %d.%d compliant device.
\n
"
,
printk
(
KERN_INFO
PFX
"Found an AGP %d.%d compliant device.
\n
"
,
major
,
minor
);
major
,
minor
);
if
(
major
>=
3
)
{
if
(
major
>=
3
)
{
pci_read_config_dword
(
agp_bridge
.
dev
,
agp_bridge
.
capndx
+
0x4
,
&
agp_3_0
);
pci_read_config_dword
(
agp_bridge
.
dev
,
agp_bridge
.
capndx
+
0x4
,
&
agp_3_0
);
...
...
drivers/char/agp/generic.c
View file @
37055f70
/*
/*
* AGPGART
module version 1.0
* AGPGART
driver.
* Copyright (C) 2002 Dave Jones.
* Copyright (C) 2002 Dave Jones.
* Copyright (C) 1999 Jeff Hartmann.
* Copyright (C) 1999 Jeff Hartmann.
* Copyright (C) 1999 Precision Insight, Inc.
* Copyright (C) 1999 Precision Insight, Inc.
...
@@ -203,6 +203,40 @@ static int agp_return_size(void)
...
@@ -203,6 +203,40 @@ static int agp_return_size(void)
return
current_size
;
return
current_size
;
}
}
int
agp_num_entries
(
void
)
{
int
num_entries
;
void
*
temp
;
temp
=
agp_bridge
.
current_size
;
switch
(
agp_bridge
.
size_type
)
{
case
U8_APER_SIZE
:
num_entries
=
A_SIZE_8
(
temp
)
->
num_entries
;
break
;
case
U16_APER_SIZE
:
num_entries
=
A_SIZE_16
(
temp
)
->
num_entries
;
break
;
case
U32_APER_SIZE
:
num_entries
=
A_SIZE_32
(
temp
)
->
num_entries
;
break
;
case
LVL2_APER_SIZE
:
num_entries
=
A_SIZE_LVL2
(
temp
)
->
num_entries
;
break
;
case
FIXED_APER_SIZE
:
num_entries
=
A_SIZE_FIX
(
temp
)
->
num_entries
;
break
;
default:
num_entries
=
0
;
break
;
}
num_entries
-=
agp_memory_reserved
>>
PAGE_SHIFT
;
if
(
num_entries
<
0
)
num_entries
=
0
;
return
num_entries
;
}
/* Routine to copy over information structure */
/* Routine to copy over information structure */
int
agp_copy_info
(
agp_kern_info
*
info
)
int
agp_copy_info
(
agp_kern_info
*
info
)
...
@@ -713,3 +747,5 @@ EXPORT_SYMBOL(agp_generic_alloc_by_type);
...
@@ -713,3 +747,5 @@ EXPORT_SYMBOL(agp_generic_alloc_by_type);
EXPORT_SYMBOL
(
agp_generic_free_by_type
);
EXPORT_SYMBOL
(
agp_generic_free_by_type
);
EXPORT_SYMBOL
(
global_cache_flush
);
EXPORT_SYMBOL
(
global_cache_flush
);
EXPORT_SYMBOL_GPL
(
agp_num_entries
);
drivers/char/agp/intel-agp.c
View file @
37055f70
...
@@ -1467,7 +1467,9 @@ static struct __initdata pci_driver agp_intel_pci_driver = {
...
@@ -1467,7 +1467,9 @@ static struct __initdata pci_driver agp_intel_pci_driver = {
.
probe
=
agp_intel_probe
,
.
probe
=
agp_intel_probe
,
};
};
static
int
__init
agp_intel_init
(
void
)
/* intel_agp_init() must not be declared static for explicit
early initialization to work (ie i810fb) */
int
__init
agp_intel_init
(
void
)
{
{
int
ret_val
;
int
ret_val
;
static
int
agp_initialised
=
0
;
static
int
agp_initialised
=
0
;
...
...
drivers/char/agp/via-agp.c
View file @
37055f70
...
@@ -124,65 +124,23 @@ static int __init via_generic_setup (struct pci_dev *pdev)
...
@@ -124,65 +124,23 @@ static int __init via_generic_setup (struct pci_dev *pdev)
return
0
;
return
0
;
}
}
#ifdef CONFIG_AGP3
/*
/*
* The KT400 does magick to put the AGP bridge compliant with the same
* The KT400 does magick to put the AGP bridge compliant with the same
* standards version as the graphics card. If we haven't fallen into
* standards version as the graphics card. If we haven't fallen into
* 2.0 compatability mode, we
run the normal 3.0 code, and fall back
* 2.0 compatability mode, we
abort, as this gets picked up by
*
if something nasty happens.
*
via-agp3.o
*/
*/
static
void
__init
via_kt400_enable
(
u32
mode
)
{
if
((
agp_generic_agp_3_0_enable
(
mode
))
==
FALSE
)
/* Something weird happened, fall back to 2.0 */
agp_generic_agp_enable
(
mode
);
}
#endif
static
int
__init
via_kt400_setup
(
struct
pci_dev
*
pdev
)
static
int
__init
via_kt400_setup
(
struct
pci_dev
*
pdev
)
{
{
u8
reg
;
u8
reg
;
agp_bridge
.
masks
=
via_generic_masks
;
agp_bridge
.
num_of_masks
=
1
;
agp_bridge
.
aperture_sizes
=
(
void
*
)
via_generic_sizes
;
agp_bridge
.
size_type
=
U8_APER_SIZE
;
agp_bridge
.
num_aperture_sizes
=
7
;
agp_bridge
.
dev_private_data
=
NULL
;
agp_bridge
.
needs_scratch_page
=
FALSE
;
agp_bridge
.
configure
=
via_configure
;
agp_bridge
.
fetch_size
=
via_fetch_size
;
agp_bridge
.
cleanup
=
via_cleanup
;
agp_bridge
.
tlb_flush
=
via_tlbflush
;
agp_bridge
.
mask_memory
=
via_mask_memory
;
agp_bridge
.
cache_flush
=
global_cache_flush
;
agp_bridge
.
create_gatt_table
=
agp_generic_create_gatt_table
;
agp_bridge
.
free_gatt_table
=
agp_generic_free_gatt_table
;
agp_bridge
.
insert_memory
=
agp_generic_insert_memory
;
agp_bridge
.
remove_memory
=
agp_generic_remove_memory
;
agp_bridge
.
alloc_by_type
=
agp_generic_alloc_by_type
;
agp_bridge
.
free_by_type
=
agp_generic_free_by_type
;
agp_bridge
.
agp_alloc_page
=
agp_generic_alloc_page
;
agp_bridge
.
agp_destroy_page
=
agp_generic_destroy_page
;
agp_bridge
.
suspend
=
agp_generic_suspend
;
agp_bridge
.
resume
=
agp_generic_resume
;
agp_bridge
.
cant_use_aperture
=
0
;
pci_read_config_byte
(
pdev
,
VIA_AGPSEL
,
&
reg
);
pci_read_config_byte
(
pdev
,
VIA_AGPSEL
,
&
reg
);
/* Check AGP 2.0 compatability mode. */
if
((
reg
&
(
1
<<
1
))
==
1
)
{
if
((
reg
&
(
1
<<
1
))
==
1
)
{
/* AGP 2.0 compatability mode. */
via_generic_setup
(
pdev
);
agp_bridge
.
agp_enable
=
agp_generic_agp_enable
;
return
0
;
}
else
{
#ifdef CONFIG_AGP3
/* AGP 3.0 mode */
agp_bridge
.
agp_enable
=
via_kt400_enable
;
#else
printk
(
"AGP: VIA KT400 in AGP3.0 mode support not compiled in.
\n
"
);
return
-
ENODEV
;
#endif
}
}
return
0
;
return
-
ENODEV
;
}
}
static
struct
agp_device_ids
via_agp_device_ids
[]
__initdata
=
static
struct
agp_device_ids
via_agp_device_ids
[]
__initdata
=
...
@@ -244,6 +202,11 @@ static struct agp_device_ids via_agp_device_ids[] __initdata =
...
@@ -244,6 +202,11 @@ static struct agp_device_ids via_agp_device_ids[] __initdata =
.
chipset
=
VIA_VT8605
,
.
chipset
=
VIA_VT8605
,
.
chipset_name
=
"Apollo ProSavage PM133"
.
chipset_name
=
"Apollo ProSavage PM133"
},
},
{
.
device_id
=
PCI_DEVICE_ID_VIA_8235_0
,
.
chipset
=
VIA_P4X400
,
.
chipset_name
=
"P4X400"
},
{
},
/* dummy final entry, always present */
{
},
/* dummy final entry, always present */
};
};
...
...
drivers/char/agp/via-kt400.c
0 → 100644
View file @
37055f70
/*
* VIA KT400 AGPGART routines.
*
* The KT400 does magick to put the AGP bridge compliant with the same
* standards version as the graphics card. If we haven't fallen into
* 2.0 compatability mode, we run this code. Otherwise, we run the
* code in via-agp.c
*/
#include <linux/types.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/init.h>
#include <linux/agp_backend.h>
#include "agp.h"
static
int
via_fetch_size
(
void
)
{
int
i
;
u8
temp
;
struct
aper_size_info_16
*
values
;
values
=
A_SIZE_16
(
agp_bridge
.
aperture_sizes
);
pci_read_config_byte
(
agp_bridge
.
dev
,
VIA_AGP3_APSIZE
,
&
temp
);
for
(
i
=
0
;
i
<
agp_bridge
.
num_aperture_sizes
;
i
++
)
{
if
(
temp
==
values
[
i
].
size_value
)
{
agp_bridge
.
previous_size
=
agp_bridge
.
current_size
=
(
void
*
)
(
values
+
i
);
agp_bridge
.
aperture_size_idx
=
i
;
return
values
[
i
].
size
;
}
}
return
0
;
}
static
int
via_configure
(
void
)
{
u32
temp
;
struct
aper_size_info_16
*
current_size
;
current_size
=
A_SIZE_16
(
agp_bridge
.
current_size
);
/* address to map too */
pci_read_config_dword
(
agp_bridge
.
dev
,
VIA_APBASE
,
&
temp
);
agp_bridge
.
gart_bus_addr
=
(
temp
&
PCI_BASE_ADDRESS_MEM_MASK
);
/* attbase - aperture GATT base */
pci_write_config_dword
(
agp_bridge
.
dev
,
VIA_AGP3_ATTBASE
,
agp_bridge
.
gatt_bus_addr
&
0xfffff000
);
return
0
;
}
static
void
via_cleanup
(
void
)
{
struct
aper_size_info_16
*
previous_size
;
previous_size
=
A_SIZE_16
(
agp_bridge
.
previous_size
);
pci_write_config_byte
(
agp_bridge
.
dev
,
VIA_APSIZE
,
previous_size
->
size_value
);
}
static
void
via_tlbflush
(
agp_memory
*
mem
)
{
u32
temp
;
pci_read_config_dword
(
agp_bridge
.
dev
,
VIA_AGP3_GARTCTRL
,
&
temp
);
pci_write_config_dword
(
agp_bridge
.
dev
,
VIA_AGP3_GARTCTRL
,
temp
&
~
(
1
<<
7
));
pci_write_config_dword
(
agp_bridge
.
dev
,
VIA_AGP3_GARTCTRL
,
temp
);
}
static
unsigned
long
via_mask_memory
(
unsigned
long
addr
,
int
type
)
{
/* Memory type is ignored */
return
addr
|
agp_bridge
.
masks
[
0
].
mask
;
}
static
struct
aper_size_info_16
via_generic_sizes
[
11
]
=
{
{
4
,
1024
,
0
,
1
<<
11
|
1
<<
10
|
1
<<
9
|
1
<<
8
|
1
<<
5
|
1
<<
4
|
1
<<
3
|
1
<<
2
|
1
<<
1
|
1
<<
0
},
{
8
,
2048
,
1
,
1
<<
11
|
1
<<
10
|
1
<<
9
|
1
<<
8
|
1
<<
5
|
1
<<
4
|
1
<<
3
|
1
<<
2
|
1
<<
1
},
{
16
,
4096
,
2
,
1
<<
11
|
1
<<
10
|
1
<<
9
|
1
<<
8
|
1
<<
5
|
1
<<
4
|
1
<<
3
|
1
<<
2
},
{
32
,
8192
,
3
,
1
<<
11
|
1
<<
10
|
1
<<
9
|
1
<<
8
|
1
<<
5
|
1
<<
4
|
1
<<
3
},
{
64
,
16384
,
4
,
1
<<
11
|
1
<<
10
|
1
<<
9
|
1
<<
8
|
1
<<
5
|
1
<<
4
},
{
128
,
32768
,
5
,
1
<<
11
|
1
<<
10
|
1
<<
9
|
1
<<
8
|
1
<<
5
},
{
256
,
65536
,
6
,
1
<<
11
|
1
<<
10
|
1
<<
9
|
1
<<
8
},
{
512
,
131072
,
7
,
1
<<
11
|
1
<<
10
|
1
<<
9
},
{
1024
,
262144
,
8
,
1
<<
11
|
1
<<
10
},
{
2048
,
524288
,
9
,
1
<<
11
}
/* 2GB <- Max supported */
};
static
struct
gatt_mask
via_generic_masks
[]
=
{
{.
mask
=
0x00000000
,
.
type
=
0
}
};
static
void
__init
via_kt400_enable
(
u32
mode
)
{
if
((
agp_generic_agp_3_0_enable
(
mode
))
==
FALSE
)
printk
(
KERN_INFO
PFX
"agp_generic_agp_3_0_enable() failed
\n
"
);
}
static
int
__init
agp_via_probe
(
struct
pci_dev
*
dev
,
const
struct
pci_device_id
*
ent
)
{
u8
reg
;
u8
cap_ptr
=
0
;
cap_ptr
=
pci_find_capability
(
dev
,
PCI_CAP_ID_AGP
);
if
(
cap_ptr
==
0
)
return
-
ENODEV
;
pci_read_config_byte
(
dev
,
VIA_AGPSEL
,
&
reg
);
/* Check if we are in AGP 2.0 compatability mode, if so it
* will be picked up by via-agp.o */
if
((
reg
&
(
1
<<
1
))
==
1
)
return
-
ENODEV
;
printk
(
KERN_INFO
PFX
"Detected VIA KT400 AGP3 chipset
\n
"
);
agp_bridge
.
dev
=
dev
;
agp_bridge
.
type
=
VIA_APOLLO_KT400_3
;
agp_bridge
.
capndx
=
cap_ptr
;
agp_bridge
.
masks
=
via_generic_masks
;
agp_bridge
.
num_of_masks
=
1
;
agp_bridge
.
aperture_sizes
=
(
void
*
)
via_generic_sizes
;
agp_bridge
.
size_type
=
U8_APER_SIZE
;
agp_bridge
.
num_aperture_sizes
=
7
;
agp_bridge
.
dev_private_data
=
NULL
;
agp_bridge
.
needs_scratch_page
=
FALSE
;
agp_bridge
.
agp_enable
=
via_kt400_enable
;
agp_bridge
.
configure
=
via_configure
;
agp_bridge
.
fetch_size
=
via_fetch_size
;
agp_bridge
.
cleanup
=
via_cleanup
;
agp_bridge
.
tlb_flush
=
via_tlbflush
;
agp_bridge
.
mask_memory
=
via_mask_memory
;
agp_bridge
.
cache_flush
=
global_cache_flush
;
agp_bridge
.
create_gatt_table
=
agp_generic_create_gatt_table
;
agp_bridge
.
free_gatt_table
=
agp_generic_free_gatt_table
;
agp_bridge
.
insert_memory
=
agp_generic_insert_memory
;
agp_bridge
.
remove_memory
=
agp_generic_remove_memory
;
agp_bridge
.
alloc_by_type
=
agp_generic_alloc_by_type
;
agp_bridge
.
free_by_type
=
agp_generic_free_by_type
;
agp_bridge
.
agp_alloc_page
=
agp_generic_alloc_page
;
agp_bridge
.
agp_destroy_page
=
agp_generic_destroy_page
;
agp_bridge
.
suspend
=
agp_generic_suspend
;
agp_bridge
.
resume
=
agp_generic_resume
;
agp_bridge
.
cant_use_aperture
=
0
;
/* Fill in the mode register */
pci_read_config_dword
(
agp_bridge
.
dev
,
agp_bridge
.
capndx
+
4
,
&
agp_bridge
.
mode
);
agp_register_driver
(
dev
);
return
0
;
}
static
struct
pci_device_id
agp_via_pci_table
[]
__initdata
=
{
{
.
class
=
(
PCI_CLASS_BRIDGE_HOST
<<
8
),
.
class_mask
=
~
0
,
.
vendor
=
PCI_VENDOR_ID_VIA
,
.
device
=
PCI_DEVICE_ID_VIA_8377_0
,
.
subvendor
=
PCI_ANY_ID
,
.
subdevice
=
PCI_ANY_ID
,
},
{
}
};
MODULE_DEVICE_TABLE
(
pci
,
agp_via_pci_table
);
static
struct
__initdata
pci_driver
agp_via_pci_driver
=
{
.
name
=
"agpgart-via"
,
.
id_table
=
agp_via_pci_table
,
.
probe
=
agp_via_probe
,
};
static
int
__init
agp_via_init
(
void
)
{
int
ret_val
;
ret_val
=
pci_module_init
(
&
agp_via_pci_driver
);
if
(
ret_val
)
agp_bridge
.
type
=
NOT_SUPPORTED
;
return
ret_val
;
}
static
void
__exit
agp_via_cleanup
(
void
)
{
agp_unregister_driver
();
pci_unregister_driver
(
&
agp_via_pci_driver
);
}
module_init
(
agp_via_init
);
module_exit
(
agp_via_cleanup
);
MODULE_AUTHOR
(
"Dave Jones <davej@codemonkey.org.uk>"
);
MODULE_LICENSE
(
"GPL and additional rights"
);
include/asm-alpha/irq.h
View file @
37055f70
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
# define NR_IRQS 32
# define NR_IRQS 32
#elif defined(CONFIG_ALPHA_ALCOR) || \
#elif defined(CONFIG_ALPHA_ALCOR) || \
defined(CONFIG_ALPHA_XLT) || \
defined(CONFIG_ALPHA_MIATA) || \
defined(CONFIG_ALPHA_MIATA) || \
defined(CONFIG_ALPHA_RUFFIAN) || \
defined(CONFIG_ALPHA_RUFFIAN) || \
defined(CONFIG_ALPHA_RX164) || \
defined(CONFIG_ALPHA_RX164) || \
...
...
include/linux/agp_backend.h
View file @
37055f70
...
@@ -60,8 +60,10 @@ enum chipset_type {
...
@@ -60,8 +60,10 @@ enum chipset_type {
VIA_APOLLO_KX133
,
VIA_APOLLO_KX133
,
VIA_APOLLO_KT133
,
VIA_APOLLO_KT133
,
VIA_APOLLO_KT400
,
VIA_APOLLO_KT400
,
VIA_APOLLO_KT400_3
,
VIA_APOLLO_PRO_266
,
VIA_APOLLO_PRO_266
,
VIA_VT8605
,
VIA_VT8605
,
VIA_P4X400
,
SIS_GENERIC
,
SIS_GENERIC
,
AMD_GENERIC
,
AMD_GENERIC
,
AMD_IRONGATE
,
AMD_IRONGATE
,
...
...
include/linux/compat.h
View file @
37055f70
...
@@ -9,9 +9,11 @@
...
@@ -9,9 +9,11 @@
#ifdef CONFIG_COMPAT
#ifdef CONFIG_COMPAT
#include <linux/stat.h>
#include <linux/stat.h>
#include <linux/param.h>
/* for HZ */
#include <asm/compat.h>
#include <asm/compat.h>
#define compat_jiffies_to_clock_t(x) ((x) / (HZ / COMPAT_USER_HZ))
#define compat_jiffies_to_clock_t(x) \
(((unsigned long)(x) * COMPAT_USER_HZ) / HZ)
struct
compat_utimbuf
{
struct
compat_utimbuf
{
compat_time_t
actime
;
compat_time_t
actime
;
...
...
include/linux/pci_ids.h
View file @
37055f70
...
@@ -1092,6 +1092,7 @@
...
@@ -1092,6 +1092,7 @@
#define PCI_DEVICE_ID_VIA_8233C_0 0x3109
#define PCI_DEVICE_ID_VIA_8233C_0 0x3109
#define PCI_DEVICE_ID_VIA_8361 0x3112
#define PCI_DEVICE_ID_VIA_8361 0x3112
#define PCI_DEVICE_ID_VIA_8233A 0x3147
#define PCI_DEVICE_ID_VIA_8233A 0x3147
#define PCI_DEVICE_ID_VIA_8235_0 0x3168
#define PCI_DEVICE_ID_VIA_8235 0x3177
#define PCI_DEVICE_ID_VIA_8235 0x3177
#define PCI_DEVICE_ID_VIA_8377_0 0x3189
#define PCI_DEVICE_ID_VIA_8377_0 0x3189
#define PCI_DEVICE_ID_VIA_86C100A 0x6100
#define PCI_DEVICE_ID_VIA_86C100A 0x6100
...
...
kernel/module.c
View file @
37055f70
...
@@ -880,7 +880,7 @@ static long get_offset(unsigned long *size, Elf_Shdr *sechdr)
...
@@ -880,7 +880,7 @@ static long get_offset(unsigned long *size, Elf_Shdr *sechdr)
/* Lay out the SHF_ALLOC sections in a way not dissimilar to how ld
/* Lay out the SHF_ALLOC sections in a way not dissimilar to how ld
might -- code, read-only data, read-write data, small data. Tally
might -- code, read-only data, read-write data, small data. Tally
sizes, and place the offsets into sh_
link
fields: high bit means it
sizes, and place the offsets into sh_
entsize
fields: high bit means it
belongs in init. */
belongs in init. */
static
void
layout_sections
(
struct
module
*
mod
,
static
void
layout_sections
(
struct
module
*
mod
,
const
Elf_Ehdr
*
hdr
,
const
Elf_Ehdr
*
hdr
,
...
@@ -896,7 +896,7 @@ static void layout_sections(struct module *mod,
...
@@ -896,7 +896,7 @@ static void layout_sections(struct module *mod,
unsigned
int
m
,
i
;
unsigned
int
m
,
i
;
for
(
i
=
0
;
i
<
hdr
->
e_shnum
;
i
++
)
for
(
i
=
0
;
i
<
hdr
->
e_shnum
;
i
++
)
sechdrs
[
i
].
sh_
link
=
~
0UL
;
sechdrs
[
i
].
sh_
entsize
=
~
0UL
;
DEBUGP
(
"Core section allocation order:
\n
"
);
DEBUGP
(
"Core section allocation order:
\n
"
);
for
(
m
=
0
;
m
<
ARRAY_SIZE
(
masks
);
++
m
)
{
for
(
m
=
0
;
m
<
ARRAY_SIZE
(
masks
);
++
m
)
{
...
@@ -905,10 +905,10 @@ static void layout_sections(struct module *mod,
...
@@ -905,10 +905,10 @@ static void layout_sections(struct module *mod,
if
((
s
->
sh_flags
&
masks
[
m
][
0
])
!=
masks
[
m
][
0
]
if
((
s
->
sh_flags
&
masks
[
m
][
0
])
!=
masks
[
m
][
0
]
||
(
s
->
sh_flags
&
masks
[
m
][
1
])
||
(
s
->
sh_flags
&
masks
[
m
][
1
])
||
s
->
sh_
link
!=
~
0UL
||
s
->
sh_
entsize
!=
~
0UL
||
strstr
(
secstrings
+
s
->
sh_name
,
".init"
))
||
strstr
(
secstrings
+
s
->
sh_name
,
".init"
))
continue
;
continue
;
s
->
sh_
link
=
get_offset
(
&
mod
->
core_size
,
s
);
s
->
sh_
entsize
=
get_offset
(
&
mod
->
core_size
,
s
);
DEBUGP
(
"
\t
%s
\n
"
,
name
);
DEBUGP
(
"
\t
%s
\n
"
,
name
);
}
}
}
}
...
@@ -920,11 +920,11 @@ static void layout_sections(struct module *mod,
...
@@ -920,11 +920,11 @@ static void layout_sections(struct module *mod,
if
((
s
->
sh_flags
&
masks
[
m
][
0
])
!=
masks
[
m
][
0
]
if
((
s
->
sh_flags
&
masks
[
m
][
0
])
!=
masks
[
m
][
0
]
||
(
s
->
sh_flags
&
masks
[
m
][
1
])
||
(
s
->
sh_flags
&
masks
[
m
][
1
])
||
s
->
sh_
link
!=
~
0UL
||
s
->
sh_
entsize
!=
~
0UL
||
!
strstr
(
secstrings
+
s
->
sh_name
,
".init"
))
||
!
strstr
(
secstrings
+
s
->
sh_name
,
".init"
))
continue
;
continue
;
s
->
sh_
link
=
(
get_offset
(
&
mod
->
init_size
,
s
)
s
->
sh_
entsize
=
(
get_offset
(
&
mod
->
init_size
,
s
)
|
INIT_OFFSET_MASK
);
|
INIT_OFFSET_MASK
);
DEBUGP
(
"
\t
%s
\n
"
,
name
);
DEBUGP
(
"
\t
%s
\n
"
,
name
);
}
}
}
}
...
@@ -1066,7 +1066,7 @@ static struct module *load_module(void *umod,
...
@@ -1066,7 +1066,7 @@ static struct module *load_module(void *umod,
if
(
err
<
0
)
if
(
err
<
0
)
goto
free_mod
;
goto
free_mod
;
/* Determine total sizes, and put offsets in sh_
link
. For now
/* Determine total sizes, and put offsets in sh_
entsize
. For now
this is done generically; there doesn't appear to be any
this is done generically; there doesn't appear to be any
special cases for the architectures. */
special cases for the architectures. */
layout_sections
(
mod
,
hdr
,
sechdrs
,
secstrings
);
layout_sections
(
mod
,
hdr
,
sechdrs
,
secstrings
);
...
@@ -1095,11 +1095,11 @@ static struct module *load_module(void *umod,
...
@@ -1095,11 +1095,11 @@ static struct module *load_module(void *umod,
if
(
!
(
sechdrs
[
i
].
sh_flags
&
SHF_ALLOC
))
if
(
!
(
sechdrs
[
i
].
sh_flags
&
SHF_ALLOC
))
continue
;
continue
;
if
(
sechdrs
[
i
].
sh_
link
&
INIT_OFFSET_MASK
)
if
(
sechdrs
[
i
].
sh_
entsize
&
INIT_OFFSET_MASK
)
dest
=
mod
->
module_init
dest
=
mod
->
module_init
+
(
sechdrs
[
i
].
sh_
link
&
~
INIT_OFFSET_MASK
);
+
(
sechdrs
[
i
].
sh_
entsize
&
~
INIT_OFFSET_MASK
);
else
else
dest
=
mod
->
module_core
+
sechdrs
[
i
].
sh_
link
;
dest
=
mod
->
module_core
+
sechdrs
[
i
].
sh_
entsize
;
if
(
sechdrs
[
i
].
sh_type
!=
SHT_NOBITS
)
if
(
sechdrs
[
i
].
sh_type
!=
SHT_NOBITS
)
memcpy
(
dest
,
(
void
*
)
sechdrs
[
i
].
sh_addr
,
memcpy
(
dest
,
(
void
*
)
sechdrs
[
i
].
sh_addr
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment