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
Kirill Smelkov
linux
Commits
541aaffb
Commit
541aaffb
authored
Aug 30, 2003
by
Wim Van Sebroeck
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://linux.bkbits.net/linux-2.5
into hostme.bitkeeper.com:/repos/l/linux-watchdog/linux-2.5-watchdog
parents
5cb1fc6d
0708e1f7
Changes
58
Hide whitespace changes
Inline
Side-by-side
Showing
58 changed files
with
205 additions
and
284 deletions
+205
-284
arch/x86_64/defconfig
arch/x86_64/defconfig
+8
-51
arch/x86_64/ia32/sys_ia32.c
arch/x86_64/ia32/sys_ia32.c
+0
-2
arch/x86_64/kernel/apic.c
arch/x86_64/kernel/apic.c
+2
-2
arch/x86_64/kernel/io_apic.c
arch/x86_64/kernel/io_apic.c
+10
-10
arch/x86_64/kernel/ioport.c
arch/x86_64/kernel/ioport.c
+3
-9
arch/x86_64/kernel/mpparse.c
arch/x86_64/kernel/mpparse.c
+2
-2
arch/x86_64/kernel/setup.c
arch/x86_64/kernel/setup.c
+9
-1
arch/x86_64/kernel/smpboot.c
arch/x86_64/kernel/smpboot.c
+8
-8
arch/x86_64/kernel/time.c
arch/x86_64/kernel/time.c
+1
-0
arch/x86_64/kernel/vsyscall.c
arch/x86_64/kernel/vsyscall.c
+1
-0
drivers/acpi/Kconfig
drivers/acpi/Kconfig
+1
-0
drivers/ide/ide-io.c
drivers/ide/ide-io.c
+0
-2
drivers/ide/ide-lib.c
drivers/ide/ide-lib.c
+14
-3
drivers/ide/ide-probe.c
drivers/ide/ide-probe.c
+15
-45
drivers/ide/ide.c
drivers/ide/ide.c
+9
-24
drivers/ide/ide_modes.h
drivers/ide/ide_modes.h
+0
-41
drivers/ide/legacy/ali14xx.c
drivers/ide/legacy/ali14xx.c
+0
-2
drivers/ide/legacy/dtc2278.c
drivers/ide/legacy/dtc2278.c
+0
-2
drivers/ide/legacy/ht6560b.c
drivers/ide/legacy/ht6560b.c
+0
-2
drivers/ide/legacy/qd65xx.c
drivers/ide/legacy/qd65xx.c
+0
-1
drivers/ide/legacy/umc8672.c
drivers/ide/legacy/umc8672.c
+0
-2
drivers/ide/pci/aec62xx.c
drivers/ide/pci/aec62xx.c
+0
-1
drivers/ide/pci/alim15x3.c
drivers/ide/pci/alim15x3.c
+0
-1
drivers/ide/pci/cmd640.c
drivers/ide/pci/cmd640.c
+0
-2
drivers/ide/pci/cmd64x.c
drivers/ide/pci/cmd64x.c
+0
-1
drivers/ide/pci/cs5520.c
drivers/ide/pci/cs5520.c
+0
-1
drivers/ide/pci/cs5530.c
drivers/ide/pci/cs5530.c
+0
-1
drivers/ide/pci/cy82c693.c
drivers/ide/pci/cy82c693.c
+1
-2
drivers/ide/pci/hpt34x.c
drivers/ide/pci/hpt34x.c
+0
-1
drivers/ide/pci/hpt366.c
drivers/ide/pci/hpt366.c
+34
-2
drivers/ide/pci/it8172.c
drivers/ide/pci/it8172.c
+0
-1
drivers/ide/pci/opti621.c
drivers/ide/pci/opti621.c
+0
-1
drivers/ide/pci/pdc202xx_new.c
drivers/ide/pci/pdc202xx_new.c
+0
-1
drivers/ide/pci/pdc202xx_old.c
drivers/ide/pci/pdc202xx_old.c
+0
-1
drivers/ide/pci/pdcadma.c
drivers/ide/pci/pdcadma.c
+0
-1
drivers/ide/pci/piix.c
drivers/ide/pci/piix.c
+0
-1
drivers/ide/pci/sc1200.c
drivers/ide/pci/sc1200.c
+0
-1
drivers/ide/pci/serverworks.c
drivers/ide/pci/serverworks.c
+0
-1
drivers/ide/pci/siimage.c
drivers/ide/pci/siimage.c
+0
-1
drivers/ide/pci/sis5513.c
drivers/ide/pci/sis5513.c
+0
-1
drivers/ide/pci/sl82c105.c
drivers/ide/pci/sl82c105.c
+0
-1
drivers/ide/pci/slc90e66.c
drivers/ide/pci/slc90e66.c
+0
-1
drivers/ide/pci/triflex.c
drivers/ide/pci/triflex.c
+0
-1
drivers/ide/ppc/mpc8xx.c
drivers/ide/ppc/mpc8xx.c
+0
-1
drivers/ide/ppc/pmac.c
drivers/ide/ppc/pmac.c
+1
-2
drivers/net/sis190.c
drivers/net/sis190.c
+1
-1
fs/proc/task_mmu.c
fs/proc/task_mmu.c
+4
-4
include/asm-x86_64/bitops.h
include/asm-x86_64/bitops.h
+1
-1
include/asm-x86_64/mpspec.h
include/asm-x86_64/mpspec.h
+44
-1
include/asm-x86_64/percpu.h
include/asm-x86_64/percpu.h
+3
-2
include/asm-x86_64/processor.h
include/asm-x86_64/processor.h
+0
-1
include/asm-x86_64/smp.h
include/asm-x86_64/smp.h
+0
-1
include/asm-x86_64/suspend.h
include/asm-x86_64/suspend.h
+1
-1
include/asm-x86_64/topology.h
include/asm-x86_64/topology.h
+4
-7
include/linux/ide.h
include/linux/ide.h
+19
-19
ipc/msg.c
ipc/msg.c
+2
-2
ipc/sem.c
ipc/sem.c
+4
-4
ipc/shm.c
ipc/shm.c
+3
-3
No files found.
arch/x86_64/defconfig
View file @
541aaffb
...
...
@@ -14,6 +14,7 @@ CONFIG_GENERIC_ISA_DMA=y
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN is not set
#
# General setup
...
...
@@ -23,10 +24,12 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=18
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
...
...
@@ -72,10 +75,10 @@ CONFIG_PM=y
CONFIG_SOFTWARE_SUSPEND=y
#
# ACPI Support
# ACPI
(Advanced Configuration and Power Interface)
Support
#
# CONFIG_ACPI_HT is not set
CONFIG_ACPI=y
# CONFIG_ACPI_HT_ONLY is not set
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
...
...
@@ -117,7 +120,6 @@ CONFIG_UID16=y
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
...
...
@@ -159,6 +161,7 @@ CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
...
...
@@ -318,7 +321,6 @@ CONFIG_IP_MULTICAST=y
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_NETFILTER is not set
# CONFIG_XFRM_USER is not set
#
# SCTP Configuration (EXPERIMENTAL)
...
...
@@ -405,6 +407,7 @@ CONFIG_E1000=m
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set
CONFIG_TIGON3=y
...
...
@@ -595,10 +598,7 @@ CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
...
...
@@ -674,49 +674,6 @@ CONFIG_SUNRPC=y
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Graphics support
...
...
arch/x86_64/ia32/sys_ia32.c
View file @
541aaffb
...
...
@@ -1170,8 +1170,6 @@ sys32_rt_sigqueueinfo(int pid, int sig, siginfo_t32 *uinfo)
return
ret
;
}
extern
void
check_pending
(
int
signum
);
asmlinkage
long
sys_utimes
(
char
*
,
struct
timeval
*
);
asmlinkage
long
...
...
arch/x86_64/kernel/apic.c
View file @
541aaffb
...
...
@@ -299,7 +299,7 @@ void __init setup_local_APIC (void)
* This is meaningless in clustered apic mode, so we skip it.
*/
if
(
!
clustered_apic_mode
&&
!
cpu
_isset
(
GET_APIC_ID
(
apic_read
(
APIC_ID
)),
phys_cpu_present_map
))
!
physid
_isset
(
GET_APIC_ID
(
apic_read
(
APIC_ID
)),
phys_cpu_present_map
))
BUG
();
/*
...
...
@@ -993,7 +993,7 @@ int __init APIC_init_uniprocessor (void)
connect_bsp_APIC
();
phys_cpu_present_map
=
cpumask_of_cpu
(
0
);
phys_cpu_present_map
=
physid_mask_of_physid
(
0
);
apic_write_around
(
APIC_ID
,
boot_cpu_id
);
setup_local_APIC
();
...
...
arch/x86_64/kernel/io_apic.c
View file @
541aaffb
...
...
@@ -1014,7 +1014,7 @@ void disable_IO_APIC(void)
static
void
__init
setup_ioapic_ids_from_mpc
(
void
)
{
union
IO_APIC_reg_00
reg_00
;
cpu
mask_t
phys_id_present_map
=
phys_cpu_present_map
;
physid_
mask_t
phys_id_present_map
=
phys_cpu_present_map
;
int
apic
;
int
i
;
unsigned
char
old_id
;
...
...
@@ -1047,22 +1047,22 @@ static void __init setup_ioapic_ids_from_mpc (void)
* system must have a unique ID or we get lots of nice
* 'stuck on smp_invalidate_needed IPI wait' messages.
*/
if
(
cpu
_isset
(
mp_ioapics
[
apic
].
mpc_apicid
,
phys_id_present_map
))
{
if
(
physid
_isset
(
mp_ioapics
[
apic
].
mpc_apicid
,
phys_id_present_map
))
{
printk
(
KERN_ERR
"BIOS bug, IO-APIC#%d ID %d is already used!...
\n
"
,
apic
,
mp_ioapics
[
apic
].
mpc_apicid
);
for
(
i
=
0
;
i
<
0xf
;
i
++
)
if
(
!
cpu
_isset
(
i
,
phys_id_present_map
))
if
(
!
physid
_isset
(
i
,
phys_id_present_map
))
break
;
if
(
i
>=
0xf
)
panic
(
"Max APIC ID exceeded!
\n
"
);
printk
(
KERN_ERR
"... fixing up to %d. (tell your hw vendor)
\n
"
,
i
);
cpu
_set
(
i
,
phys_id_present_map
);
physid
_set
(
i
,
phys_id_present_map
);
mp_ioapics
[
apic
].
mpc_apicid
=
i
;
}
else
{
printk
(
KERN_INFO
"Using IO-APIC %d
\n
"
,
mp_ioapics
[
apic
].
mpc_apicid
);
cpu
_set
(
mp_ioapics
[
apic
].
mpc_apicid
,
phys_id_present_map
);
physid
_set
(
mp_ioapics
[
apic
].
mpc_apicid
,
phys_id_present_map
);
}
...
...
@@ -1642,7 +1642,7 @@ void __init mp_config_ioapic_for_sci(int irq)
int
__init
io_apic_get_unique_id
(
int
ioapic
,
int
apic_id
)
{
union
IO_APIC_reg_00
reg_00
;
static
cpu
mask_t
apic_id_map
;
static
physid_
mask_t
apic_id_map
;
unsigned
long
flags
;
int
i
=
0
;
...
...
@@ -1655,7 +1655,7 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id)
* advantage of new APIC bus architecture.
*/
if
(
!
cpu
s_empty
(
apic_id_map
))
if
(
!
physid
s_empty
(
apic_id_map
))
apic_id_map
=
phys_cpu_present_map
;
spin_lock_irqsave
(
&
ioapic_lock
,
flags
);
...
...
@@ -1672,10 +1672,10 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id)
* Every APIC in a system must have a unique ID or we get lots of nice
* 'stuck on smp_invalidate_needed IPI wait' messages.
*/
if
(
cpu
_isset
(
apic_id
,
apic_id_map
))
{
if
(
physid
_isset
(
apic_id
,
apic_id_map
))
{
for
(
i
=
0
;
i
<
IO_APIC_MAX_ID
;
i
++
)
{
if
(
!
cpu
_isset
(
i
,
apic_id_map
))
if
(
!
physid
_isset
(
i
,
apic_id_map
))
break
;
}
...
...
@@ -1688,7 +1688,7 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id)
apic_id
=
i
;
}
cpu
_set
(
apic_id
,
apic_id_map
);
physid
_set
(
apic_id
,
apic_id_map
);
if
(
reg_00
.
bits
.
ID
!=
apic_id
)
{
reg_00
.
bits
.
ID
=
apic_id
;
...
...
arch/x86_64/kernel/ioport.c
View file @
541aaffb
...
...
@@ -10,12 +10,11 @@
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/ioport.h>
#include <linux/mm.h>
#include <linux/smp.h>
#include <linux/smp_lock.h>
#include <linux/stddef.h>
#include <linux/slab.h>
#include <
asm/i
o.h>
#include <
linux/thread_inf
o.h>
/* Set EXTENT bits starting at BASE in BITMAP to value TURN_ON. */
static
void
set_bitmap
(
unsigned
long
*
bitmap
,
unsigned
int
base
,
unsigned
int
extent
,
int
new_value
)
...
...
@@ -118,12 +117,7 @@ asmlinkage long sys_iopl(unsigned int level, struct pt_regs regs)
return
-
EPERM
;
}
regs
.
eflags
=
(
regs
.
eflags
&~
0x3000UL
)
|
(
level
<<
12
);
/* Make sure we return the long way (not sysenter) */
set_thread_flag
(
TIF_IRET
);
return
0
;
}
void
eat_key
(
void
)
{
if
(
inb
(
0x60
)
&
1
)
inb
(
0x64
);
}
arch/x86_64/kernel/mpparse.c
View file @
541aaffb
...
...
@@ -67,7 +67,7 @@ unsigned int boot_cpu_id = -1U;
static
unsigned
int
num_processors
=
0
;
/* Bitmask of physically existing CPUs */
cpumask_t
phys_cpu_present_map
=
CPU
_MASK_NONE
;
physid_mask_t
phys_cpu_present_map
=
PHYSID
_MASK_NONE
;
/* ACPI MADT entry parsing functions */
#ifdef CONFIG_ACPI_BOOT
...
...
@@ -126,7 +126,7 @@ static void __init MP_processor_info (struct mpc_config_processor *m)
}
ver
=
m
->
mpc_apicver
;
cpu
_set
(
m
->
mpc_apicid
,
phys_cpu_present_map
);
physid
_set
(
m
->
mpc_apicid
,
phys_cpu_present_map
);
/*
* Validate version
*/
...
...
arch/x86_64/kernel/setup.c
View file @
541aaffb
...
...
@@ -243,6 +243,8 @@ static void __init contig_initmem_init(void)
void
__init
setup_arch
(
char
**
cmdline_p
)
{
unsigned
long
low_mem_size
;
ROOT_DEV
=
ORIG_ROOT_DEV
;
drive_info
=
DRIVE_INFO
;
screen_info
=
SCREEN_INFO
;
...
...
@@ -378,7 +380,13 @@ void __init setup_arch(char **cmdline_p)
request_resource
(
&
ioport_resource
,
standard_io_resources
+
i
);
}
pci_mem_start
=
IOMAP_START
;
/* Will likely break when you have unassigned resources with more
than 4GB memory and bridges that don't support more than 4GB.
Doing it properly would require to allocate GFP_DMA memory
in this case. */
low_mem_size
=
((
end_pfn
<<
PAGE_SHIFT
)
+
0xfffff
)
&
~
0xfffff
;
if
(
low_mem_size
>
pci_mem_start
)
pci_mem_start
=
low_mem_size
;
#ifdef CONFIG_GART_IOMMU
iommu_hole_init
();
...
...
arch/x86_64/kernel/smpboot.c
View file @
541aaffb
...
...
@@ -734,10 +734,10 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
current_thread_info
()
->
cpu
=
0
;
smp_tune_scheduling
();
if
(
!
cpu
_isset
(
hard_smp_processor_id
(),
phys_cpu_present_map
))
{
if
(
!
physid
_isset
(
hard_smp_processor_id
(),
phys_cpu_present_map
))
{
printk
(
"weird, boot CPU (#%d) not listed by the BIOS.
\n
"
,
hard_smp_processor_id
());
cpu
_set
(
hard_smp_processor_id
(),
phys_cpu_present_map
);
physid
_set
(
hard_smp_processor_id
(),
phys_cpu_present_map
);
}
/*
...
...
@@ -748,7 +748,7 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
printk
(
KERN_NOTICE
"SMP motherboard not detected.
\n
"
);
io_apic_irqs
=
0
;
cpu_online_map
=
cpumask_of_cpu
(
0
);
phys_cpu_present_map
=
cpumask_of_cpu
(
0
);
phys_cpu_present_map
=
physid_mask_of_physid
(
0
);
if
(
APIC_init_uniprocessor
())
printk
(
KERN_NOTICE
"Local APIC not detected."
" Using dummy APIC emulation.
\n
"
);
...
...
@@ -759,10 +759,10 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
* Should not be necessary because the MP table should list the boot
* CPU too, but we do it for the sake of robustness anyway.
*/
if
(
!
cpu
_isset
(
boot_cpu_id
,
phys_cpu_present_map
))
{
if
(
!
physid
_isset
(
boot_cpu_id
,
phys_cpu_present_map
))
{
printk
(
KERN_NOTICE
"weird, boot CPU (#%d) not listed by the BIOS.
\n
"
,
boot_cpu_id
);
cpu
_set
(
hard_smp_processor_id
(),
phys_cpu_present_map
);
physid
_set
(
hard_smp_processor_id
(),
phys_cpu_present_map
);
}
/*
...
...
@@ -774,7 +774,7 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
printk
(
KERN_ERR
"... forcing use of dummy APIC emulation. (tell your hw vendor)
\n
"
);
io_apic_irqs
=
0
;
cpu_online_map
=
cpumask_of_cpu
(
0
);
phys_cpu_present_map
=
cpumask_of_cpu
(
0
);
phys_cpu_present_map
=
physid_mask_of_physid
(
0
);
disable_apic
=
1
;
goto
smp_done
;
}
...
...
@@ -789,7 +789,7 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
printk
(
KERN_INFO
"SMP mode deactivated, forcing use of dummy APIC emulation.
\n
"
);
io_apic_irqs
=
0
;
cpu_online_map
=
cpumask_of_cpu
(
0
);
phys_cpu_present_map
=
cpumask_of_cpu
(
0
);
phys_cpu_present_map
=
physid_mask_of_physid
(
0
);
disable_apic
=
1
;
goto
smp_done
;
}
...
...
@@ -803,7 +803,7 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
/*
* Now scan the CPU present map and fire up the other CPUs.
*/
Dprintk
(
"CPU present map: %lx
\n
"
,
phys
_cpu_present_map
);
Dprintk
(
"CPU present map: %lx
\n
"
,
phys
ids_coerce
(
phys_cpu_present_map
)
);
for
(
apicid
=
0
;
apicid
<
NR_CPUS
;
apicid
++
)
{
/*
...
...
arch/x86_64/kernel/time.c
View file @
541aaffb
...
...
@@ -79,6 +79,7 @@ static inline unsigned int do_gettimeoffset_tsc(void)
unsigned
long
t
;
unsigned
long
x
;
rdtscll_sync
(
&
t
);
if
(
t
<
vxtime
.
last_tsc
)
t
=
vxtime
.
last_tsc
;
/* hack */
x
=
((
t
-
vxtime
.
last_tsc
)
*
vxtime
.
tsc_quot
)
>>
32
;
return
x
;
}
...
...
arch/x86_64/kernel/vsyscall.c
View file @
541aaffb
...
...
@@ -85,6 +85,7 @@ static force_inline void do_vgettimeofday(struct timeval * tv)
if
(
__vxtime
.
mode
==
VXTIME_TSC
)
{
sync_core
();
rdtscll
(
t
);
if
(
t
<
__vxtime
.
last_tsc
)
t
=
__vxtime
.
last_tsc
;
usec
+=
((
t
-
__vxtime
.
last_tsc
)
*
__vxtime
.
tsc_quot
)
>>
32
;
}
else
{
...
...
drivers/acpi/Kconfig
View file @
541aaffb
...
...
@@ -69,6 +69,7 @@ config ACPI_SLEEP
bool "Sleep States (EXPERIMENTAL)"
depends on X86 && ACPI
depends on EXPERIMENTAL && PM
select SOFTWARE_SUSPEND
default y
---help---
This option adds support for ACPI suspend states.
...
...
drivers/ide/ide-io.c
View file @
541aaffb
...
...
@@ -54,8 +54,6 @@
#include <asm/io.h>
#include <asm/bitops.h>
#include "ide_modes.h"
#if (DISK_RECOVERY_TIME > 0)
#error So the User Has To Fix the Compilation And Stop Hacking Port 0x43. Does anyone ever use this anyway ??
...
...
drivers/ide/ide-lib.c
View file @
541aaffb
...
...
@@ -22,8 +22,6 @@
#include <asm/io.h>
#include <asm/bitops.h>
#include "ide_modes.h"
/*
* IDE library routines. These are plug in code that most
* drivers can use but occasionally may be weird enough
...
...
@@ -170,7 +168,7 @@ u8 ide_rate_filter (u8 mode, u8 speed)
BUG
();
return
min
(
speed
,
speed_max
[
mode
]);
#else
/* !CONFIG_BLK_DEV_IDEDMA */
return
min
(
speed
,
XFER_PIO_4
);
return
min
(
speed
,
(
u8
)
XFER_PIO_4
);
#endif
/* CONFIG_BLK_DEV_IDEDMA */
}
...
...
@@ -188,6 +186,12 @@ int ide_dma_enable (ide_drive_t *drive)
EXPORT_SYMBOL
(
ide_dma_enable
);
/*
* Standard (generic) timings for PIO modes, from ATA2 specification.
* These timings are for access to the IDE data port register *only*.
* Some drives may specify a mode, while also specifying a different
* value for cycle_time (from drive identification data).
*/
const
ide_pio_timings_t
ide_pio_timings
[
6
]
=
{
{
70
,
165
,
600
},
/* PIO Mode 0 */
{
50
,
125
,
383
},
/* PIO Mode 1 */
...
...
@@ -199,6 +203,13 @@ const ide_pio_timings_t ide_pio_timings[6] = {
EXPORT_SYMBOL_GPL
(
ide_pio_timings
);
/*
* Shared data/functions for determining best PIO mode for an IDE drive.
* Most of this stuff originally lived in cmd640.c, and changes to the
* ide_pio_blacklist[] table should be made with EXTREME CAUTION to avoid
* breaking the fragile cmd640.c support.
*/
/*
* Black list. Some drives incorrectly report their maximal PIO mode,
* at least in respect to CMD640. Here we keep info on some known drives.
...
...
drivers/ide/ide-probe.c
View file @
541aaffb
...
...
@@ -649,10 +649,13 @@ static void hwif_register (ide_hwif_t *hwif)
/* register with global device tree */
strlcpy
(
hwif
->
gendev
.
bus_id
,
hwif
->
name
,
BUS_ID_SIZE
);
hwif
->
gendev
.
driver_data
=
hwif
;
if
(
hwif
->
pci_dev
)
hwif
->
gendev
.
parent
=
&
hwif
->
pci_dev
->
dev
;
else
hwif
->
gendev
.
parent
=
NULL
;
/* Would like to do = &device_legacy */
if
(
hwif
->
gendev
.
parent
==
NULL
)
{
if
(
hwif
->
pci_dev
)
hwif
->
gendev
.
parent
=
&
hwif
->
pci_dev
->
dev
;
else
/* Would like to do = &device_legacy */
hwif
->
gendev
.
parent
=
NULL
;
}
device_register
(
&
hwif
->
gendev
);
}
...
...
@@ -770,8 +773,7 @@ void probe_hwif (ide_hwif_t *hwif)
*/
for
(
unit
=
0
;
unit
<
MAX_DRIVES
;
++
unit
)
{
ide_drive_t
*
drive
=
&
hwif
->
drives
[
unit
];
drive
->
dn
=
((
hwif
->
channel
?
2
:
0
)
+
unit
);
hwif
->
drives
[
unit
].
dn
=
((
hwif
->
channel
?
2
:
0
)
+
unit
);
drive
->
dn
=
(
hwif
->
channel
?
2
:
0
)
+
unit
;
(
void
)
probe_for_drive
(
drive
);
if
(
drive
->
present
&&
!
hwif
->
present
)
{
hwif
->
present
=
1
;
...
...
@@ -945,15 +947,10 @@ static int ide_init_queue(ide_drive_t *drive)
if
(
drive
->
disk
)
drive
->
disk
->
queue
=
drive
->
queue
;
return
0
;
}
/*
* Setup the drive for request handling.
*/
static
void
ide_init_drive
(
ide_drive_t
*
drive
)
{
/* needs drive->queue to be set */
ide_toggle_bounce
(
drive
,
1
);
return
0
;
}
/*
...
...
@@ -1068,10 +1065,9 @@ static int init_irq (ide_hwif_t *hwif)
}
/*
* Link any new drives into the hwgroup, allocate
* the block device queue and initialize the drive.
* Note that ide_init_drive sends commands to the new
* drive.
* For any present drive:
* - allocate the block device queue
* - link drive into the hwgroup
*/
for
(
index
=
0
;
index
<
MAX_DRIVES
;
++
index
)
{
ide_drive_t
*
drive
=
&
hwif
->
drives
[
index
];
...
...
@@ -1092,7 +1088,6 @@ static int init_irq (ide_hwif_t *hwif)
hwgroup
->
drive
->
next
=
drive
;
}
spin_unlock_irq
(
&
ide_lock
);
ide_init_drive
(
drive
);
}
#if !defined(__mc68000__) && !defined(CONFIG_APUS) && !defined(__sparc__)
...
...
@@ -1303,31 +1298,6 @@ int hwif_init (ide_hwif_t *hwif)
EXPORT_SYMBOL
(
hwif_init
);
int
export_ide_init_queue
(
ide_drive_t
*
drive
)
{
if
(
ide_init_queue
(
drive
))
return
1
;
ide_init_drive
(
drive
);
return
0
;
}
EXPORT_SYMBOL
(
export_ide_init_queue
);
u8
export_probe_for_drive
(
ide_drive_t
*
drive
)
{
return
probe_for_drive
(
drive
);
}
EXPORT_SYMBOL
(
export_probe_for_drive
);
int
ideprobe_init
(
void
);
static
ide_module_t
ideprobe_module
=
{
IDE_PROBE_MODULE
,
ideprobe_init
,
NULL
};
int
ideprobe_init
(
void
)
{
unsigned
int
index
;
...
...
@@ -1359,7 +1329,7 @@ int ideprobe_init (void)
}
}
if
(
!
ide_probe
)
ide_probe
=
&
ideprobe_
module
;
ide_probe
=
&
ideprobe_
init
;
MOD_DEC_USE_COUNT
;
return
0
;
}
...
...
drivers/ide/ide.c
View file @
541aaffb
...
...
@@ -161,8 +161,6 @@
#include <asm/io.h>
#include <asm/bitops.h>
#include "ide_modes.h"
/* default maximum number of failures */
#define IDE_DEFAULT_MAX_FAILURES 1
...
...
@@ -180,7 +178,9 @@ static int initializing; /* set while initializing built-in drivers */
DECLARE_MUTEX
(
ide_cfg_sem
);
spinlock_t
ide_lock
__cacheline_aligned_in_smp
=
SPIN_LOCK_UNLOCKED
;
#ifdef CONFIG_BLK_DEV_IDEPCI
static
int
ide_scan_direction
;
/* THIS was formerly 2.2.x pci=reverse */
#endif
#ifdef CONFIG_IDEDMA_AUTO
int
noautodma
=
0
;
...
...
@@ -190,11 +190,7 @@ int noautodma = 1;
EXPORT_SYMBOL
(
noautodma
);
/*
* ide_modules keeps track of the available IDE chipset/probe/driver modules.
*/
ide_module_t
*
ide_chipsets
;
ide_module_t
*
ide_probe
;
int
(
*
ide_probe
)(
void
);
/*
* This is declared extern in ide.h, for access by other IDE modules:
...
...
@@ -452,7 +448,7 @@ void ide_probe_module (void)
(
void
)
request_module
(
"ide-probe-mod"
);
#endif
/* (CONFIG_KMOD) && (CONFIG_BLK_DEV_IDE_MODULE) */
}
else
{
(
void
)
ide_probe
->
init
();
(
void
)
ide_probe
();
}
}
...
...
@@ -1045,21 +1041,6 @@ int ide_register_hw (hw_regs_t *hw, ide_hwif_t **hwifp)
EXPORT_SYMBOL
(
ide_register_hw
);
/*
* Compatibility function with existing drivers. If you want
* something different, use the function above.
*/
int
ide_register
(
int
arg1
,
int
arg2
,
int
irq
)
{
hw_regs_t
hw
;
ide_init_hwif_ports
(
&
hw
,
(
unsigned
long
)
arg1
,
(
unsigned
long
)
arg2
,
NULL
);
hw
.
irq
=
irq
;
return
ide_register_hw
(
&
hw
,
NULL
);
}
EXPORT_SYMBOL
(
ide_register
);
/*
* Locks for IDE setting functionality
*/
...
...
@@ -1658,11 +1639,15 @@ int generic_ide_ioctl(struct block_device *bdev, unsigned int cmd,
case
HDIO_SCAN_HWIF
:
{
hw_regs_t
hw
;
int
args
[
3
];
if
(
!
capable
(
CAP_SYS_RAWIO
))
return
-
EACCES
;
if
(
copy_from_user
(
args
,
(
void
*
)
arg
,
3
*
sizeof
(
int
)))
return
-
EFAULT
;
if
(
ide_register
(
args
[
0
],
args
[
1
],
args
[
2
])
==
-
1
)
ide_init_hwif_ports
(
&
hw
,
(
unsigned
long
)
args
[
0
],
(
unsigned
long
)
args
[
1
],
NULL
);
hw
.
irq
=
args
[
2
];
if
(
ide_register_hw
(
&
hw
,
NULL
)
==
-
1
)
return
-
EIO
;
return
0
;
}
...
...
drivers/ide/ide_modes.h
deleted
100644 → 0
View file @
5cb1fc6d
/*
* linux/drivers/ide/ide_modes.h
*
* Copyright (C) 1996 Linus Torvalds, Igor Abramov, and Mark Lord
*/
#ifndef _IDE_MODES_H
#define _IDE_MODES_H
#include <linux/config.h>
/*
* Shared data/functions for determining best PIO mode for an IDE drive.
* Most of this stuff originally lived in cmd640.c, and changes to the
* ide_pio_blacklist[] table should be made with EXTREME CAUTION to avoid
* breaking the fragile cmd640.c support.
*/
/*
* Standard (generic) timings for PIO modes, from ATA2 specification.
* These timings are for access to the IDE data port register *only*.
* Some drives may specify a mode, while also specifying a different
* value for cycle_time (from drive identification data).
*/
typedef
struct
ide_pio_timings_s
{
int
setup_time
;
/* Address setup (ns) minimum */
int
active_time
;
/* Active pulse (ns) minimum */
int
cycle_time
;
/* Cycle time (ns) minimum = (setup + active + recovery) */
}
ide_pio_timings_t
;
typedef
struct
ide_pio_data_s
{
u8
pio_mode
;
u8
use_iordy
;
u8
overridden
;
u8
blacklisted
;
unsigned
int
cycle_time
;
}
ide_pio_data_t
;
u8
ide_get_best_pio_mode
(
ide_drive_t
*
drive
,
u8
mode_wanted
,
u8
max_mode
,
ide_pio_data_t
*
d
);
extern
const
ide_pio_timings_t
ide_pio_timings
[
6
];
#endif
/* _IDE_MODES_H */
drivers/ide/legacy/ali14xx.c
View file @
541aaffb
...
...
@@ -54,8 +54,6 @@
#include <asm/io.h>
#include "ide_modes.h"
/* port addresses for auto-detection */
#define ALI_NUM_PORTS 4
static
int
ports
[
ALI_NUM_PORTS
]
__initdata
=
{
0x074
,
0x0f4
,
0x034
,
0x0e4
};
...
...
drivers/ide/legacy/dtc2278.c
View file @
541aaffb
...
...
@@ -21,8 +21,6 @@
#include <asm/io.h>
#include "ide_modes.h"
/*
* Changing this #undef to #define may solve start up problems in some systems.
*/
...
...
drivers/ide/legacy/ht6560b.c
View file @
541aaffb
...
...
@@ -53,8 +53,6 @@
#include <asm/io.h>
#include "ide_modes.h"
/* #define DEBUG */
/* remove comments for DEBUG messages */
/*
...
...
drivers/ide/legacy/qd65xx.c
View file @
541aaffb
...
...
@@ -42,7 +42,6 @@
#include <asm/system.h>
#include <asm/io.h>
#include "ide_modes.h"
#include "qd65xx.h"
/*
...
...
drivers/ide/legacy/umc8672.c
View file @
541aaffb
...
...
@@ -54,8 +54,6 @@
#include <asm/io.h>
#include "ide_modes.h"
/*
* Default speeds. These can be changed with "auto-tune" and/or hdparm.
*/
...
...
drivers/ide/pci/aec62xx.c
View file @
541aaffb
...
...
@@ -16,7 +16,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "aec62xx.h"
#if defined(DISPLAY_AEC62XX_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
drivers/ide/pci/alim15x3.c
View file @
541aaffb
...
...
@@ -37,7 +37,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "alim15x3.h"
/*
...
...
drivers/ide/pci/cmd640.c
View file @
541aaffb
...
...
@@ -115,8 +115,6 @@
#include <asm/io.h>
#include "ide_modes.h"
/*
* This flag is set in ide.c by the parameter: ide0=cmd640_vlb
*/
...
...
drivers/ide/pci/cmd64x.c
View file @
541aaffb
...
...
@@ -25,7 +25,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "cmd64x.h"
#if defined(DISPLAY_CMD64X_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
drivers/ide/pci/cs5520.c
View file @
541aaffb
...
...
@@ -51,7 +51,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include "ide_modes.h"
#include "cs5520.h"
#if defined(DISPLAY_CS5520_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
drivers/ide/pci/cs5530.c
View file @
541aaffb
...
...
@@ -31,7 +31,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include "ide_modes.h"
#include "cs5530.h"
#if defined(DISPLAY_CS5530_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
drivers/ide/pci/cy82c693.c
View file @
541aaffb
...
...
@@ -54,7 +54,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "cy82c693.h"
/*
...
...
@@ -113,7 +112,7 @@ static void compute_clocks (u8 pio, pio_clocks_t *p_pclk)
/* note: we use the same values for 16bit IOR and IOW
* those are all the same, since I don't have other
* timings than those from ide
_modes.h
* timings than those from ide
-lib.c
*/
p_pclk
->
time_16r
=
(
u8
)
clk1
;
...
...
drivers/ide/pci/hpt34x.c
View file @
541aaffb
...
...
@@ -42,7 +42,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include "ide_modes.h"
#include "hpt34x.h"
#if defined(DISPLAY_HPT34X_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
drivers/ide/pci/hpt366.c
View file @
541aaffb
...
...
@@ -62,7 +62,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include "ide_modes.h"
#include "hpt366.h"
#if defined(DISPLAY_HPT366_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
@@ -989,7 +988,40 @@ static void __init init_hwif_hpt366 (ide_hwif_t *hwif)
hwif
->
intrproc
=
&
hpt3xx_intrproc
;
hwif
->
maskproc
=
&
hpt3xx_maskproc
;
pci_read_config_byte
(
hwif
->
pci_dev
,
0x5a
,
&
ata66
);
/*
* The HPT37x uses the CBLID pins as outputs for MA15/MA16
* address lines to access an external eeprom. To read valid
* cable detect state the pins must be enabled as inputs.
*/
if
(
hpt_minimum_revision
(
dev
,
8
)
&&
PCI_FUNC
(
dev
->
devfn
)
&
1
)
{
/*
* HPT374 PCI function 1
* - set bit 15 of reg 0x52 to enable TCBLID as input
* - set bit 15 of reg 0x56 to enable FCBLID as input
*/
u16
mcr3
,
mcr6
;
pci_read_config_word
(
dev
,
0x52
,
&
mcr3
);
pci_read_config_word
(
dev
,
0x56
,
&
mcr6
);
pci_write_config_word
(
dev
,
0x52
,
mcr3
|
0x8000
);
pci_write_config_word
(
dev
,
0x56
,
mcr6
|
0x8000
);
/* now read cable id register */
pci_read_config_byte
(
dev
,
0x5a
,
&
ata66
);
pci_write_config_word
(
dev
,
0x52
,
mcr3
);
pci_write_config_word
(
dev
,
0x56
,
mcr6
);
}
else
if
(
hpt_minimum_revision
(
dev
,
3
))
{
/*
* HPT370/372 and 374 pcifn 0
* - clear bit 0 of 0x5b to enable P/SCBLID as inputs
*/
u8
scr2
;
pci_read_config_byte
(
dev
,
0x5b
,
&
scr2
);
pci_write_config_byte
(
dev
,
0x5b
,
scr2
&
~
1
);
/* now read cable id register */
pci_read_config_byte
(
dev
,
0x5a
,
&
ata66
);
pci_write_config_byte
(
dev
,
0x5b
,
scr2
);
}
else
{
pci_read_config_byte
(
dev
,
0x5a
,
&
ata66
);
}
#ifdef DEBUG
printk
(
"HPT366: reg5ah=0x%02x ATA-%s Cable Port%d
\n
"
,
...
...
drivers/ide/pci/it8172.c
View file @
541aaffb
...
...
@@ -42,7 +42,6 @@
#include <asm/io.h>
#include <asm/it8172/it8172_int.h>
#include "ide_modes.h"
#include "it8172.h"
/*
...
...
drivers/ide/pci/opti621.c
View file @
541aaffb
...
...
@@ -104,7 +104,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "opti621.h"
#define OPTI621_MAX_PIO 3
...
...
drivers/ide/pci/pdc202xx_new.c
View file @
541aaffb
...
...
@@ -32,7 +32,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include "ide_modes.h"
#include "pdc202xx_new.h"
#define PDC202_DEBUG_CABLE 0
...
...
drivers/ide/pci/pdc202xx_old.c
View file @
541aaffb
...
...
@@ -46,7 +46,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include "ide_modes.h"
#include "pdc202xx_old.h"
#define PDC202_DEBUG_CABLE 0
...
...
drivers/ide/pci/pdcadma.c
View file @
541aaffb
...
...
@@ -24,7 +24,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include "ide_modes.h"
#include "pdcadma.h"
#if defined(DISPLAY_PDCADMA_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
drivers/ide/pci/piix.c
View file @
541aaffb
...
...
@@ -103,7 +103,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "piix.h"
static
int
no_piix_dma
;
...
...
drivers/ide/pci/sc1200.c
View file @
541aaffb
...
...
@@ -29,7 +29,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include "ide_modes.h"
#include "sc1200.h"
#define SC1200_REV_A 0x00
...
...
drivers/ide/pci/serverworks.c
View file @
541aaffb
...
...
@@ -39,7 +39,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "serverworks.h"
static
u8
svwks_revision
=
0
;
...
...
drivers/ide/pci/siimage.c
View file @
541aaffb
...
...
@@ -15,7 +15,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "siimage.h"
#if defined(DISPLAY_SIIMAGE_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
drivers/ide/pci/sis5513.c
View file @
541aaffb
...
...
@@ -63,7 +63,6 @@
#include <asm/irq.h>
#include "ide-timing.h"
#include "ide_modes.h"
#include "sis5513.h"
/* registers layout and init values are chipset family dependant */
...
...
drivers/ide/pci/sl82c105.c
View file @
541aaffb
...
...
@@ -29,7 +29,6 @@
#include <asm/io.h>
#include <asm/dma.h>
#include "ide_modes.h"
#include "sl82c105.h"
#undef DEBUG
...
...
drivers/ide/pci/slc90e66.c
View file @
541aaffb
...
...
@@ -21,7 +21,6 @@
#include <asm/io.h>
#include "ide_modes.h"
#include "slc90e66.h"
#if defined(DISPLAY_SLC90E66_TIMINGS) && defined(CONFIG_PROC_FS)
...
...
drivers/ide/pci/triflex.c
View file @
541aaffb
...
...
@@ -41,7 +41,6 @@
#include <linux/ide.h>
#include <linux/init.h>
#include "ide_modes.h"
#include "triflex.h"
static
struct
pci_dev
*
triflex_dev
;
...
...
drivers/ide/ppc/mpc8xx.c
View file @
541aaffb
...
...
@@ -42,7 +42,6 @@
#include <asm/machdep.h>
#include <asm/irq.h>
#include "ide_modes.h"
static
int
identify
(
volatile
u8
*
p
);
static
void
print_fixed
(
volatile
u8
*
p
);
static
void
print_funcid
(
int
func
);
...
...
drivers/ide/ppc/pmac.c
View file @
541aaffb
...
...
@@ -42,7 +42,6 @@
#include <linux/adb.h>
#include <linux/pmu.h>
#endif
#include "ide_modes.h"
extern
void
ide_do_request
(
ide_hwgroup_t
*
hwgroup
,
int
masked_irq
);
...
...
@@ -942,7 +941,7 @@ pmac_ide_build_sglist(ide_drive_t *drive, struct request *rq)
if
(
hwif
->
sg_dma_active
)
BUG
();
nents
=
blk_rq_map_sg
(
&
drive
->
queue
,
rq
,
sg
);
nents
=
blk_rq_map_sg
(
drive
->
queue
,
rq
,
sg
);
if
(
rq_data_dir
(
rq
)
==
READ
)
pmif
->
sg_dma_direction
=
PCI_DMA_FROMDEVICE
;
...
...
drivers/net/sis190.c
View file @
541aaffb
...
...
@@ -1111,7 +1111,7 @@ SiS190_close(struct net_device *dev)
spin_unlock_irq
(
&
tp
->
lock
);
synchronize_irq
();
synchronize_irq
(
dev
->
irq
);
free_irq
(
dev
->
irq
,
dev
);
SiS190_tx_clear
(
tp
);
...
...
fs/proc/task_mmu.c
View file @
541aaffb
...
...
@@ -90,14 +90,14 @@ static int show_map(struct seq_file *m, void *v)
ino
=
inode
->
i_ino
;
}
seq_printf
(
m
,
"%0
*lx-%0*lx %c%c%c%c %0*
lx %02x:%02x %lu %n"
,
(
int
)
(
2
*
sizeof
(
void
*
)),
map
->
vm_start
,
(
int
)
(
2
*
sizeof
(
void
*
)),
map
->
vm_end
,
seq_printf
(
m
,
"%0
8lx-%08lx %c%c%c%c %08
lx %02x:%02x %lu %n"
,
map
->
vm_start
,
map
->
vm_end
,
flags
&
VM_READ
?
'r'
:
'-'
,
flags
&
VM_WRITE
?
'w'
:
'-'
,
flags
&
VM_EXEC
?
'x'
:
'-'
,
flags
&
VM_MAYSHARE
?
's'
:
'p'
,
(
int
)
(
2
*
sizeof
(
void
*
)),
map
->
vm_pgoff
<<
PAGE_SHIFT
,
map
->
vm_pgoff
<<
PAGE_SHIFT
,
MAJOR
(
dev
),
MINOR
(
dev
),
ino
,
&
len
);
if
(
map
->
vm_file
)
{
...
...
include/asm-x86_64/bitops.h
View file @
541aaffb
...
...
@@ -466,7 +466,7 @@ static __inline__ int ffs(int x)
__asm__
(
"bsfl %1,%0
\n\t
"
"cmovzl %2,%0"
:
"=r"
(
r
)
:
"g"
(
x
),
"r"
(
32
));
:
"=r"
(
r
)
:
"g"
(
x
),
"r"
(
-
1
));
return
r
+
1
;
}
...
...
include/asm-x86_64/mpspec.h
View file @
541aaffb
...
...
@@ -169,7 +169,6 @@ extern int mp_bus_id_to_pci_bus [MAX_MP_BUSSES];
extern
cpumask_t
mp_bus_to_cpumask
[
MAX_MP_BUSSES
];
extern
unsigned
int
boot_cpu_physical_apicid
;
extern
cpumask_t
phys_cpu_present_map
;
extern
int
smp_found_config
;
extern
void
find_smp_config
(
void
);
extern
void
get_smp_config
(
void
);
...
...
@@ -198,5 +197,49 @@ extern void mp_config_ioapic_for_sci(int irq);
extern
int
using_apic_timer
;
#define PHYSID_ARRAY_SIZE BITS_TO_LONGS(MAX_APICS)
struct
physid_mask
{
unsigned
long
mask
[
PHYSID_ARRAY_SIZE
];
};
typedef
struct
physid_mask
physid_mask_t
;
#define physid_set(physid, map) set_bit(physid, (map).mask)
#define physid_clear(physid, map) clear_bit(physid, (map).mask)
#define physid_isset(physid, map) test_bit(physid, (map).mask)
#define physid_test_and_set(physid, map) test_and_set_bit(physid, (map).mask)
#define physids_and(dst, src1, src2) bitmap_and((dst).mask, (src1).mask, (src2).mask, MAX_APICS)
#define physids_or(dst, src1, src2) bitmap_or((dst).mask, (src1).mask, (src2).mask, MAX_APICS)
#define physids_clear(map) bitmap_clear((map).mask, MAX_APICS)
#define physids_complement(map) bitmap_complement((map).mask, MAX_APICS)
#define physids_empty(map) bitmap_empty((map).mask, MAX_APICS)
#define physids_equal(map1, map2) bitmap_equal((map1).mask, (map2).mask, MAX_APICS)
#define physids_weight(map) bitmap_weight((map).mask, MAX_APICS)
#define physids_shift_right(d, s, n) bitmap_shift_right((d).mask, (s).mask, n, MAX_APICS)
#define physids_shift_left(d, s, n) bitmap_shift_left((d).mask, (s).mask, n, MAX_APICS)
#define physids_coerce(map) ((map).mask[0])
#define physids_promote(physids) \
({ \
physid_mask_t __physid_mask = PHYSID_MASK_NONE; \
__physid_mask.mask[0] = physids; \
__physid_mask; \
})
#define physid_mask_of_physid(physid) \
({ \
physid_mask_t __physid_mask = PHYSID_MASK_NONE; \
physid_set(physid, __physid_mask); \
__physid_mask; \
})
#define PHYSID_MASK_ALL { {[0 ... PHYSID_ARRAY_SIZE-1] = ~0UL} }
#define PHYSID_MASK_NONE { {[0 ... PHYSID_ARRAY_SIZE-1] = 0UL} }
extern
physid_mask_t
phys_cpu_present_map
;
#endif
include/asm-x86_64/percpu.h
View file @
541aaffb
...
...
@@ -31,6 +31,9 @@ do { \
memcpy((pcpudst)+__per_cpu_offset(__i), \
(src), (size)); \
} while (0)
extern
void
setup_per_cpu_areas
(
void
);
#else
/* ! SMP */
#define DEFINE_PER_CPU(type, name) \
...
...
@@ -46,6 +49,4 @@ do { \
#define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
#define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
extern
void
setup_per_cpu_areas
(
void
);
#endif
/* _ASM_X8664_PERCPU_H_ */
include/asm-x86_64/processor.h
View file @
541aaffb
...
...
@@ -225,7 +225,6 @@ struct tss_struct {
* 8 bytes, for an extra "long" of ~0UL
*/
unsigned
long
io_bitmap
[
IO_BITMAP_LONGS
+
1
];
u32
__cacheline_filler
[
4
];
/* size is 0x100 */
}
__attribute__
((
packed
))
____cacheline_aligned
;
struct
thread_struct
{
...
...
include/asm-x86_64/smp.h
View file @
541aaffb
...
...
@@ -36,7 +36,6 @@ struct pt_regs;
*/
extern
void
smp_alloc_memory
(
void
);
extern
cpumask_t
phys_cpu_present_map
;
extern
cpumask_t
cpu_online_map
;
extern
volatile
unsigned
long
smp_invalidate_needed
;
extern
int
pic_mode
;
...
...
include/asm-x86_64/suspend.h
View file @
541aaffb
...
...
@@ -44,7 +44,7 @@ extern unsigned long saved_context_eflags;
:"r" ((thread)->debugreg##register))
extern
void
fix_processor_context
(
void
);
extern
void
do_magic
(
int
resume
);
extern
int
do_magic
(
int
resume
);
#ifdef CONFIG_ACPI_SLEEP
extern
unsigned
long
saved_eip
;
...
...
include/asm-x86_64/topology.h
View file @
541aaffb
...
...
@@ -10,21 +10,18 @@
/* Map the K8 CPU local memory controllers to a simple 1:1 CPU:NODE topology */
extern
int
fake_node
;
extern
cpumask_t
cpu_online_map
;
extern
unsigned
long
cpu_online_map
;
#define cpu_to_node(cpu) (fake_node ? 0 : (cpu))
#define memblk_to_node(memblk) (fake_node ? 0 : (memblk))
#define parent_node(node) (node)
#define node_to_first_cpu(node) (fake_node ? 0 : (node))
#define node_to_cpu_mask(node) (fake_node ? cpu_online_map :
cpumask_of_cpu(node
))
#define node_to_cpu_mask(node) (fake_node ? cpu_online_map :
(1UL << (node)
))
#define node_to_memblk(node) (node)
static
inline
cpumask_t
pcibus_to_cpumask
(
int
bus
)
static
inline
unsigned
long
pcibus_to_cpumask
(
int
bus
)
{
cpumask_t
ret
;
cpus_and
(
ret
,
mp_bus_to_cpumask
[
bus
],
cpu_online_map
);
return
ret
;
return
mp_bus_to_cpumask
[
bus
]
&
cpu_online_map
;
}
#define NODE_BALANCE_RATE 30
/* CHECKME */
...
...
include/linux/ide.h
View file @
541aaffb
...
...
@@ -1242,21 +1242,6 @@ typedef struct ide_driver_s {
extern
int
generic_ide_ioctl
(
struct
block_device
*
,
unsigned
,
unsigned
long
);
/*
* IDE modules.
*/
#define IDE_CHIPSET_MODULE 0
/* not supported yet */
#define IDE_PROBE_MODULE 1
typedef
int
(
ide_module_init_proc
)(
void
);
typedef
struct
ide_module_s
{
int
type
;
ide_module_init_proc
*
init
;
void
*
info
;
struct
ide_module_s
*
next
;
}
ide_module_t
;
typedef
struct
ide_devices_s
{
char
name
[
4
];
/* hdX */
unsigned
attached
:
1
;
/* native */
...
...
@@ -1274,8 +1259,7 @@ typedef struct ide_devices_s {
*/
#ifndef _IDE_C
extern
ide_hwif_t
ide_hwifs
[];
/* master data repository */
extern
ide_module_t
*
ide_chipsets
;
extern
ide_module_t
*
ide_probe
;
extern
int
(
*
ide_probe
)(
void
);
extern
ide_devices_t
*
idedisk
;
extern
ide_devices_t
*
idecd
;
...
...
@@ -1772,8 +1756,6 @@ extern int ide_hwif_request_regions(ide_hwif_t *hwif);
extern
void
ide_hwif_release_regions
(
ide_hwif_t
*
hwif
);
extern
void
ide_unregister
(
unsigned
int
index
);
extern
int
export_ide_init_queue
(
ide_drive_t
*
);
extern
u8
export_probe_for_drive
(
ide_drive_t
*
);
extern
int
probe_hwif_init
(
ide_hwif_t
*
);
static
inline
void
*
ide_get_hwifdata
(
ide_hwif_t
*
hwif
)
...
...
@@ -1794,6 +1776,24 @@ extern char *ide_xfer_verbose(u8 xfer_rate);
extern
void
ide_toggle_bounce
(
ide_drive_t
*
drive
,
int
on
);
extern
int
ide_set_xfer_rate
(
ide_drive_t
*
drive
,
u8
rate
);
typedef
struct
ide_pio_timings_s
{
int
setup_time
;
/* Address setup (ns) minimum */
int
active_time
;
/* Active pulse (ns) minimum */
int
cycle_time
;
/* Cycle time (ns) minimum = (setup + active + recovery) */
}
ide_pio_timings_t
;
typedef
struct
ide_pio_data_s
{
u8
pio_mode
;
u8
use_iordy
;
u8
overridden
;
u8
blacklisted
;
unsigned
int
cycle_time
;
}
ide_pio_data_t
;
extern
u8
ide_get_best_pio_mode
(
ide_drive_t
*
drive
,
u8
mode_wanted
,
u8
max_mode
,
ide_pio_data_t
*
d
);
extern
const
ide_pio_timings_t
ide_pio_timings
[
6
];
extern
spinlock_t
ide_lock
;
extern
struct
semaphore
ide_cfg_sem
;
/*
...
...
ipc/msg.c
View file @
541aaffb
...
...
@@ -707,7 +707,7 @@ asmlinkage long sys_msgsnd (int msqid, struct msgbuf *msgp, size_t msgsz, int ms
goto
retry
;
}
msq
->
q_lspid
=
current
->
p
id
;
msq
->
q_lspid
=
current
->
tg
id
;
msq
->
q_stime
=
get_seconds
();
if
(
!
pipelined_send
(
msq
,
msg
))
{
...
...
@@ -801,7 +801,7 @@ asmlinkage long sys_msgrcv (int msqid, struct msgbuf *msgp, size_t msgsz,
list_del
(
&
msg
->
m_list
);
msq
->
q_qnum
--
;
msq
->
q_rtime
=
get_seconds
();
msq
->
q_lrpid
=
current
->
p
id
;
msq
->
q_lrpid
=
current
->
tg
id
;
msq
->
q_cbytes
-=
msg
->
m_ts
;
atomic_sub
(
msg
->
m_ts
,
&
msg_bytes
);
atomic_dec
(
&
msg_hdrs
);
...
...
ipc/sem.c
View file @
541aaffb
...
...
@@ -664,7 +664,7 @@ static int semctl_main(int semid, int semnum, int cmd, int version, union semun
for
(
un
=
sma
->
undo
;
un
;
un
=
un
->
id_next
)
un
->
semadj
[
semnum
]
=
0
;
curr
->
semval
=
val
;
curr
->
sempid
=
current
->
p
id
;
curr
->
sempid
=
current
->
tg
id
;
sma
->
sem_ctime
=
get_seconds
();
/* maybe some queued-up processes were waiting for this */
update_queue
(
sma
);
...
...
@@ -1052,7 +1052,7 @@ asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops,
if
(
error
)
goto
out_unlock_free
;
error
=
try_atomic_semop
(
sma
,
sops
,
nsops
,
un
,
current
->
p
id
);
error
=
try_atomic_semop
(
sma
,
sops
,
nsops
,
un
,
current
->
tg
id
);
if
(
error
<=
0
)
goto
update
;
...
...
@@ -1064,7 +1064,7 @@ asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops,
queue
.
sops
=
sops
;
queue
.
nsops
=
nsops
;
queue
.
undo
=
un
;
queue
.
pid
=
current
->
p
id
;
queue
.
pid
=
current
->
tg
id
;
queue
.
id
=
semid
;
if
(
alter
)
append_to_queue
(
sma
,
&
queue
);
...
...
@@ -1206,7 +1206,7 @@ void exit_sem(struct task_struct *tsk)
sem
->
semval
+=
u
->
semadj
[
i
];
if
(
sem
->
semval
<
0
)
sem
->
semval
=
0
;
/* shouldn't happen */
sem
->
sempid
=
current
->
p
id
;
sem
->
sempid
=
current
->
tg
id
;
}
}
sma
->
sem_otime
=
get_seconds
();
...
...
ipc/shm.c
View file @
541aaffb
...
...
@@ -89,7 +89,7 @@ static inline void shm_inc (int id) {
if
(
!
(
shp
=
shm_lock
(
id
)))
BUG
();
shp
->
shm_atim
=
get_seconds
();
shp
->
shm_lprid
=
current
->
p
id
;
shp
->
shm_lprid
=
current
->
tg
id
;
shp
->
shm_nattch
++
;
shm_unlock
(
shp
);
}
...
...
@@ -136,7 +136,7 @@ static void shm_close (struct vm_area_struct *shmd)
/* remove from the list of attaches of the shm segment */
if
(
!
(
shp
=
shm_lock
(
id
)))
BUG
();
shp
->
shm_lprid
=
current
->
p
id
;
shp
->
shm_lprid
=
current
->
tg
id
;
shp
->
shm_dtim
=
get_seconds
();
shp
->
shm_nattch
--
;
if
(
shp
->
shm_nattch
==
0
&&
...
...
@@ -209,7 +209,7 @@ static int newseg (key_t key, int shmflg, size_t size)
if
(
id
==
-
1
)
goto
no_id
;
shp
->
shm_cprid
=
current
->
p
id
;
shp
->
shm_cprid
=
current
->
tg
id
;
shp
->
shm_lprid
=
0
;
shp
->
shm_atim
=
shp
->
shm_dtim
=
0
;
shp
->
shm_ctim
=
get_seconds
();
...
...
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