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
b48e213e
Commit
b48e213e
authored
Sep 12, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://lia64.bkbits.net/linux-ia64-release-2.6.9
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
0142b7ae
30851dc0
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
102 additions
and
102 deletions
+102
-102
arch/ia64/Makefile
arch/ia64/Makefile
+1
-1
arch/ia64/sn/io/machvec/pci_bus_cvlink.c
arch/ia64/sn/io/machvec/pci_bus_cvlink.c
+14
-1
arch/ia64/sn/kernel/sn2/sn_proc_fs.c
arch/ia64/sn/kernel/sn2/sn_proc_fs.c
+87
-100
No files found.
arch/ia64/Makefile
View file @
b48e213e
...
@@ -20,7 +20,7 @@ AFLAGS_KERNEL := -mconstant-gp
...
@@ -20,7 +20,7 @@ AFLAGS_KERNEL := -mconstant-gp
EXTRA
:=
EXTRA
:=
cflags-y
:=
-pipe
$(EXTRA)
-ffixed-r13
-mfixed-range
=
f12-f15,f32-f127
\
cflags-y
:=
-pipe
$(EXTRA)
-ffixed-r13
-mfixed-range
=
f12-f15,f32-f127
\
-falign-functions
=
32
-frename-registers
-falign-functions
=
32
-frename-registers
-fno-optimize-sibling-calls
CFLAGS_KERNEL
:=
-mconstant-gp
CFLAGS_KERNEL
:=
-mconstant-gp
GCC_VERSION
:=
$(
call
cc-version
)
GCC_VERSION
:=
$(
call
cc-version
)
...
...
arch/ia64/sn/io/machvec/pci_bus_cvlink.c
View file @
b48e213e
...
@@ -357,6 +357,19 @@ sn_pci_fixup_slot(struct pci_dev *dev)
...
@@ -357,6 +357,19 @@ sn_pci_fixup_slot(struct pci_dev *dev)
if
(
dev
->
resource
[
PCI_ROM_RESOURCE
].
flags
&
IORESOURCE_MEM
)
if
(
dev
->
resource
[
PCI_ROM_RESOURCE
].
flags
&
IORESOURCE_MEM
)
cmd
|=
PCI_COMMAND_MEMORY
;
cmd
|=
PCI_COMMAND_MEMORY
;
}
}
}
else
{
/*
* Remove other ROM resources since they don't have valid
* CPU addresses.
*/
size
=
dev
->
resource
[
PCI_ROM_RESOURCE
].
end
-
dev
->
resource
[
PCI_ROM_RESOURCE
].
start
;
if
(
size
)
{
dev
->
resource
[
PCI_ROM_RESOURCE
].
start
=
0
;
dev
->
resource
[
PCI_ROM_RESOURCE
].
end
=
0
;
dev
->
resource
[
PCI_ROM_RESOURCE
].
flags
=
0
;
}
}
}
/*
/*
...
...
arch/ia64/sn/kernel/sn2/sn_proc_fs.c
View file @
b48e213e
...
@@ -10,67 +10,41 @@
...
@@ -10,67 +10,41 @@
#ifdef CONFIG_PROC_FS
#ifdef CONFIG_PROC_FS
#include <linux/proc_fs.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <asm/sn/sgi.h>
#include <asm/sn/sgi.h>
#include <asm/sn/sn_sal.h>
#include <asm/sn/sn_sal.h>
static
int
partition_id_show
(
struct
seq_file
*
s
,
void
*
p
)
static
int
partition_id_read_proc
(
char
*
page
,
char
**
start
,
off_t
off
,
{
int
count
,
int
*
eof
,
void
*
data
)
{
seq_printf
(
s
,
"%d
\n
"
,
sn_local_partid
());
return
0
;
return
sprintf
(
page
,
"%d
\n
"
,
sn_local_partid
());
}
}
static
struct
proc_dir_entry
*
sgi_proc_dir
;
static
int
partition_id_open
(
struct
inode
*
inode
,
struct
file
*
file
)
{
void
return
single_open
(
file
,
partition_id_show
,
NULL
);
register_sn_partition_id
(
void
)
{
struct
proc_dir_entry
*
entry
;
if
(
!
sgi_proc_dir
)
{
sgi_proc_dir
=
proc_mkdir
(
"sgi_sn"
,
0
);
}
entry
=
create_proc_entry
(
"partition_id"
,
0444
,
sgi_proc_dir
);
if
(
entry
)
{
entry
->
nlink
=
1
;
entry
->
data
=
0
;
entry
->
read_proc
=
partition_id_read_proc
;
entry
->
write_proc
=
NULL
;
}
}
}
static
int
static
int
system_serial_number_show
(
struct
seq_file
*
s
,
void
*
p
)
system_serial_number_read_proc
(
char
*
page
,
char
**
start
,
off_t
off
,
{
int
count
,
int
*
eof
,
void
*
data
)
{
seq_printf
(
s
,
"%s
\n
"
,
sn_system_serial_number
());
return
sprintf
(
page
,
"%s
\n
"
,
sn_system_serial_number
())
;
return
0
;
}
}
static
int
static
int
system_serial_number_open
(
struct
inode
*
inode
,
struct
file
*
file
)
licenseID_read_proc
(
char
*
page
,
char
**
start
,
off_t
off
,
{
int
count
,
int
*
eof
,
void
*
data
)
{
return
single_open
(
file
,
system_serial_number_show
,
NULL
);
return
sprintf
(
page
,
"0x%lx
\n
"
,
sn_partition_serial_number_val
());
}
}
void
static
int
licenseID_show
(
struct
seq_file
*
s
,
void
*
p
)
register_sn_serial_numbers
(
void
)
{
{
struct
proc_dir_entry
*
entry
;
seq_printf
(
s
,
"0x%lx
\n
"
,
sn_partition_serial_number_val
());
return
0
;
}
if
(
!
sgi_proc_dir
)
{
static
int
licenseID_open
(
struct
inode
*
inode
,
struct
file
*
file
)
sgi_proc_dir
=
proc_mkdir
(
"sgi_sn"
,
0
);
{
}
return
single_open
(
file
,
licenseID_show
,
NULL
);
entry
=
create_proc_entry
(
"system_serial_number"
,
0444
,
sgi_proc_dir
);
if
(
entry
)
{
entry
->
nlink
=
1
;
entry
->
data
=
0
;
entry
->
read_proc
=
system_serial_number_read_proc
;
entry
->
write_proc
=
NULL
;
}
entry
=
create_proc_entry
(
"licenseID"
,
0444
,
sgi_proc_dir
);
if
(
entry
)
{
entry
->
nlink
=
1
;
entry
->
data
=
0
;
entry
->
read_proc
=
licenseID_read_proc
;
entry
->
write_proc
=
NULL
;
}
}
}
/*
/*
...
@@ -81,70 +55,83 @@ register_sn_serial_numbers(void) {
...
@@ -81,70 +55,83 @@ register_sn_serial_numbers(void) {
*/
*/
int
sn_force_interrupt_flag
=
1
;
int
sn_force_interrupt_flag
=
1
;
static
int
static
int
sn_force_interrupt_show
(
struct
seq_file
*
s
,
void
*
p
)
sn_force_interrupt_read_proc
(
char
*
page
,
char
**
start
,
off_t
off
,
{
int
count
,
int
*
eof
,
void
*
data
)
{
seq_printf
(
s
,
"Force interrupt is %s
\n
"
,
if
(
sn_force_interrupt_flag
)
{
sn_force_interrupt_flag
?
"enabled"
:
"disabled"
);
return
sprintf
(
page
,
"Force interrupt is enabled
\n
"
);
return
0
;
}
return
sprintf
(
page
,
"Force interrupt is disabled
\n
"
);
}
}
static
int
static
ssize_t
sn_force_interrupt_write_proc
(
struct
file
*
file
,
sn_force_interrupt_write_proc
(
struct
file
*
file
,
const
char
*
buffer
,
const
__user
char
*
buffer
,
size_t
count
,
loff_t
*
data
)
unsigned
long
count
,
void
*
data
)
{
{
if
(
*
buffer
==
'0'
)
{
sn_force_interrupt_flag
=
(
*
buffer
==
'0'
)
?
0
:
1
;
sn_force_interrupt_flag
=
0
;
return
count
;
}
else
{
sn_force_interrupt_flag
=
1
;
}
return
1
;
}
}
void
static
int
sn_force_interrupt_open
(
struct
inode
*
inode
,
struct
file
*
file
)
register_sn_force_interrupt
(
void
)
{
{
struct
proc_dir_entry
*
entry
;
return
single_open
(
file
,
sn_force_interrupt_show
,
NULL
);
if
(
!
sgi_proc_dir
)
{
sgi_proc_dir
=
proc_mkdir
(
"sgi_sn"
,
0
);
}
entry
=
create_proc_entry
(
"sn_force_interrupt"
,
0444
,
sgi_proc_dir
);
if
(
entry
)
{
entry
->
nlink
=
1
;
entry
->
data
=
0
;
entry
->
read_proc
=
sn_force_interrupt_read_proc
;
entry
->
write_proc
=
sn_force_interrupt_write_proc
;
}
}
}
static
int
coherence_id_read_proc
(
char
*
page
,
char
**
start
,
off_t
off
,
static
int
coherence_id_show
(
struct
seq_file
*
s
,
void
*
p
)
int
count
,
int
*
eof
,
void
*
data
)
{
{
return
sprintf
(
page
,
"%d
\n
"
,
cpuid_to_coherence_id
(
smp_processor_id
()));
seq_printf
(
s
,
"%d
\n
"
,
cpuid_to_coherence_id
(
smp_processor_id
()));
return
0
;
}
}
void
static
int
coherence_id_open
(
struct
inode
*
inode
,
struct
file
*
file
)
register_sn_coherence_id
(
void
)
{
{
struct
proc_dir_entry
*
entry
;
return
single_open
(
file
,
coherence_id_show
,
NULL
);
}
if
(
!
sgi_proc_dir
)
{
static
struct
proc_dir_entry
*
sn_procfs_create_entry
(
sgi_proc_dir
=
proc_mkdir
(
"sgi_sn"
,
0
);
const
char
*
name
,
struct
proc_dir_entry
*
parent
,
int
(
*
openfunc
)(
struct
inode
*
,
struct
file
*
),
int
(
*
releasefunc
)(
struct
inode
*
,
struct
file
*
))
{
struct
proc_dir_entry
*
e
=
create_proc_entry
(
name
,
0444
,
parent
);
if
(
e
)
{
e
->
proc_fops
=
(
struct
file_operations
*
)
kmalloc
(
sizeof
(
struct
file_operations
),
GFP_KERNEL
);
if
(
e
->
proc_fops
)
{
memset
(
e
->
proc_fops
,
0
,
sizeof
(
struct
file_operations
));
e
->
proc_fops
->
open
=
openfunc
;
e
->
proc_fops
->
read
=
seq_read
;
e
->
proc_fops
->
llseek
=
seq_lseek
;
e
->
proc_fops
->
release
=
releasefunc
;
}
}
entry
=
create_proc_entry
(
"coherence_id"
,
0444
,
sgi_proc_dir
);
if
(
entry
)
{
entry
->
nlink
=
1
;
entry
->
data
=
0
;
entry
->
read_proc
=
coherence_id_read_proc
;
entry
->
write_proc
=
NULL
;
}
}
return
e
;
}
}
void
void
register_sn_procfs
(
void
)
register_sn_procfs
(
void
)
{
{
register_sn_partition_id
();
static
struct
proc_dir_entry
*
sgi_proc_dir
=
NULL
;
register_sn_serial_numbers
();
struct
proc_dir_entry
*
e
;
register_sn_force_interrupt
();
register_sn_coherence_id
();
BUG_ON
(
sgi_proc_dir
!=
NULL
);
if
(
!
(
sgi_proc_dir
=
proc_mkdir
(
"sgi_sn"
,
0
)))
return
;
sn_procfs_create_entry
(
"partition_id"
,
sgi_proc_dir
,
partition_id_open
,
single_release
);
sn_procfs_create_entry
(
"system_serial_number"
,
sgi_proc_dir
,
system_serial_number_open
,
single_release
);
sn_procfs_create_entry
(
"licenseID"
,
sgi_proc_dir
,
licenseID_open
,
single_release
);
e
=
sn_procfs_create_entry
(
"sn_force_interrupt"
,
sgi_proc_dir
,
sn_force_interrupt_open
,
single_release
);
if
(
e
)
e
->
proc_fops
->
write
=
sn_force_interrupt_write_proc
;
sn_procfs_create_entry
(
"coherence_id"
,
sgi_proc_dir
,
coherence_id_open
,
single_release
);
}
}
#endif
/* CONFIG_PROC_FS */
#endif
/* CONFIG_PROC_FS */
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