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
8c6ca755
Commit
8c6ca755
authored
Jan 23, 2004
by
Ben Collins
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://linux.bkbits.net/linux-2.5
into debian.org:/usr/src/kernel/sparc-2.6
parents
672ab41e
18aa7699
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
7 deletions
+40
-7
arch/sparc64/Kconfig
arch/sparc64/Kconfig
+4
-0
arch/sparc64/kernel/head.S
arch/sparc64/kernel/head.S
+10
-2
arch/sparc64/kernel/smp.c
arch/sparc64/kernel/smp.c
+1
-0
arch/sparc64/kernel/traps.c
arch/sparc64/kernel/traps.c
+0
-4
arch/sparc64/mm/init.c
arch/sparc64/mm/init.c
+25
-1
No files found.
arch/sparc64/Kconfig
View file @
8c6ca755
...
@@ -727,6 +727,10 @@ config STACK_DEBUG
...
@@ -727,6 +727,10 @@ config STACK_DEBUG
depends on DEBUG_KERNEL
depends on DEBUG_KERNEL
bool "Stack Overflow Detection Support"
bool "Stack Overflow Detection Support"
config DEBUG_BOOTMEM
depends on DEBUG_KERNEL
bool "Debug BOOTMEM initialization"
# We have a custom atomic_dec_and_lock() implementation but it's not
# We have a custom atomic_dec_and_lock() implementation but it's not
# compatible with spinlock debugging so we need to fall back on
# compatible with spinlock debugging so we need to fall back on
# the generic version in that case.
# the generic version in that case.
...
...
arch/sparc64/kernel/head.S
View file @
8c6ca755
...
@@ -54,7 +54,14 @@ bootup_user_stack:
...
@@ -54,7 +54,14 @@ bootup_user_stack:
.
ascii
"HdrS"
.
ascii
"HdrS"
.
word
LINUX_VERSION_CODE
.
word
LINUX_VERSION_CODE
.
half
0x0203
/*
HdrS
version
*/
/
*
History
:
*
*
0x0202
:
Supports
kernel
params
string
*
0x0300
:
Supports
being
located
at
other
than
0x4000
*/
.
half
0x0300
/*
HdrS
version
*/
root_flags
:
root_flags
:
.
half
1
.
half
1
root_dev
:
root_dev
:
...
@@ -345,7 +352,8 @@ spitfire_got_tlbentry:
...
@@ -345,7 +352,8 @@ spitfire_got_tlbentry:
nop
nop
nop
nop
and
%
g1
,
%
g3
,
%
g1
/*
Mask
to
just
get
paddr
bits
.
*/
and
%
g1
,
%
g3
,
%
g1
/*
Mask
to
just
get
paddr
bits
.
*/
sub
%
g1
,
%
g2
,
%
g1
/*
Get
rid
of
%
pc
offset
to
get
base
.
*/
set
0x5fff
,
%
l3
/*
Mask
offset
to
get
phys
base
.
*/
andn
%
g1
,
%
l3
,
%
g1
/
*
NOTE
:
We
hold
on
to
%
g1
paddr
base
as
we
need
it
below
to
lock
/
*
NOTE
:
We
hold
on
to
%
g1
paddr
base
as
we
need
it
below
to
lock
*
NOTE
:
the
PROM
cif
code
into
the
TLB
.
*
NOTE
:
the
PROM
cif
code
into
the
TLB
.
...
...
arch/sparc64/kernel/smp.c
View file @
8c6ca755
...
@@ -1261,6 +1261,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
...
@@ -1261,6 +1261,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
void
__devinit
smp_prepare_boot_cpu
(
void
)
void
__devinit
smp_prepare_boot_cpu
(
void
)
{
{
current_thread_info
()
->
cpu
=
hard_smp_processor_id
();
cpu_set
(
smp_processor_id
(),
cpu_online_map
);
cpu_set
(
smp_processor_id
(),
cpu_online_map
);
cpu_set
(
smp_processor_id
(),
phys_cpu_present_map
);
cpu_set
(
smp_processor_id
(),
phys_cpu_present_map
);
}
}
...
...
arch/sparc64/kernel/traps.c
View file @
8c6ca755
...
@@ -2043,8 +2043,4 @@ void __init trap_init(void)
...
@@ -2043,8 +2043,4 @@ void __init trap_init(void)
*/
*/
atomic_inc
(
&
init_mm
.
mm_count
);
atomic_inc
(
&
init_mm
.
mm_count
);
current
->
active_mm
=
&
init_mm
;
current
->
active_mm
=
&
init_mm
;
#ifdef CONFIG_SMP
current_thread_info
()
->
cpu
=
hard_smp_processor_id
();
#endif
}
}
arch/sparc64/mm/init.c
View file @
8c6ca755
...
@@ -1293,6 +1293,10 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
...
@@ -1293,6 +1293,10 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
unsigned
long
bootmap_pfn
,
bytes_avail
,
size
;
unsigned
long
bootmap_pfn
,
bytes_avail
,
size
;
int
i
;
int
i
;
#ifdef CONFIG_DEBUG_BOOTMEM
prom_printf
(
"bootmem_init: Scan sp_banks, "
);
#endif
bytes_avail
=
0UL
;
bytes_avail
=
0UL
;
for
(
i
=
0
;
sp_banks
[
i
].
num_bytes
!=
0
;
i
++
)
{
for
(
i
=
0
;
sp_banks
[
i
].
num_bytes
!=
0
;
i
++
)
{
end_of_phys_memory
=
sp_banks
[
i
].
base_addr
+
end_of_phys_memory
=
sp_banks
[
i
].
base_addr
+
...
@@ -1359,14 +1363,24 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
...
@@ -1359,14 +1363,24 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
/* Initialize the boot-time allocator. */
/* Initialize the boot-time allocator. */
max_pfn
=
max_low_pfn
=
end_pfn
;
max_pfn
=
max_low_pfn
=
end_pfn
;
min_low_pfn
=
pfn_base
;
min_low_pfn
=
pfn_base
;
#ifdef CONFIG_DEBUG_BOOTMEM
prom_printf
(
"init_bootmem(spfn[%lx], bpfn[%lx], mlpfn[%lx])
\n
"
,
start_pfn
,
bootmap_pfn
,
max_low_pfn
);
#endif
bootmap_size
=
init_bootmem_node
(
NODE_DATA
(
0
),
bootmap_pfn
,
pfn_base
,
end_pfn
);
bootmap_size
=
init_bootmem_node
(
NODE_DATA
(
0
),
bootmap_pfn
,
pfn_base
,
end_pfn
);
/* Now register the available physical memory with the
/* Now register the available physical memory with the
* allocator.
* allocator.
*/
*/
for
(
i
=
0
;
sp_banks
[
i
].
num_bytes
!=
0
;
i
++
)
for
(
i
=
0
;
sp_banks
[
i
].
num_bytes
!=
0
;
i
++
)
{
#ifdef CONFIG_DEBUG_BOOTMEM
prom_printf
(
"free_bootmem(sp_banks:%d): base[%lx] size[%lx]
\n
"
,
i
,
sp_banks
[
i
].
base_addr
,
sp_banks
[
i
].
num_bytes
);
#endif
free_bootmem
(
sp_banks
[
i
].
base_addr
,
free_bootmem
(
sp_banks
[
i
].
base_addr
,
sp_banks
[
i
].
num_bytes
);
sp_banks
[
i
].
num_bytes
);
}
#ifdef CONFIG_BLK_DEV_INITRD
#ifdef CONFIG_BLK_DEV_INITRD
if
(
initrd_start
)
{
if
(
initrd_start
)
{
...
@@ -1382,6 +1396,9 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
...
@@ -1382,6 +1396,9 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
#endif
#endif
/* Reserve the kernel text/data/bss. */
/* Reserve the kernel text/data/bss. */
size
=
(
start_pfn
<<
PAGE_SHIFT
)
-
phys_base
;
size
=
(
start_pfn
<<
PAGE_SHIFT
)
-
phys_base
;
#ifdef CONFIG_DEBUG_BOOTMEM
prom_printf
(
"reserve_bootmem(kernel): base[%lx] size[%lx]
\n
"
,
phys_base
,
size
);
#endif
reserve_bootmem
(
phys_base
,
size
);
reserve_bootmem
(
phys_base
,
size
);
*
pages_avail
-=
PAGE_ALIGN
(
size
)
>>
PAGE_SHIFT
;
*
pages_avail
-=
PAGE_ALIGN
(
size
)
>>
PAGE_SHIFT
;
...
@@ -1390,6 +1407,10 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
...
@@ -1390,6 +1407,10 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
* in free_all_bootmem.
* in free_all_bootmem.
*/
*/
size
=
bootmap_size
;
size
=
bootmap_size
;
#ifdef CONFIG_DEBUG_BOOTMEM
prom_printf
(
"reserve_bootmem(bootmap): base[%lx] size[%lx]
\n
"
,
(
bootmap_pfn
<<
PAGE_SHIFT
),
size
);
#endif
reserve_bootmem
((
bootmap_pfn
<<
PAGE_SHIFT
),
size
);
reserve_bootmem
((
bootmap_pfn
<<
PAGE_SHIFT
),
size
);
*
pages_avail
-=
PAGE_ALIGN
(
size
)
>>
PAGE_SHIFT
;
*
pages_avail
-=
PAGE_ALIGN
(
size
)
>>
PAGE_SHIFT
;
...
@@ -1714,6 +1735,9 @@ void __init mem_init(void)
...
@@ -1714,6 +1735,9 @@ void __init mem_init(void)
max_mapnr
=
last_valid_pfn
-
pfn_base
;
max_mapnr
=
last_valid_pfn
-
pfn_base
;
high_memory
=
__va
(
last_valid_pfn
<<
PAGE_SHIFT
);
high_memory
=
__va
(
last_valid_pfn
<<
PAGE_SHIFT
);
#ifdef CONFIG_DEBUG_BOOTMEM
prom_printf
(
"mem_init: Calling free_all_bootmem().
\n
"
);
#endif
totalram_pages
=
num_physpages
=
free_all_bootmem
()
-
1
;
totalram_pages
=
num_physpages
=
free_all_bootmem
()
-
1
;
/*
/*
...
...
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