Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
b696fdc2
Commit
b696fdc2
authored
May 26, 2009
by
David S. Miller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sparc64: Defer cpu_data() setup until end of per-cpu data initialization.
Signed-off-by:
David S. Miller
<
davem@davemloft.net
>
parent
a2094502
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
9 additions
and
10 deletions
+9
-10
arch/sparc/kernel/ds.c
arch/sparc/kernel/ds.c
+1
-0
arch/sparc/kernel/mdesc.c
arch/sparc/kernel/mdesc.c
+0
-1
arch/sparc/kernel/prom_64.c
arch/sparc/kernel/prom_64.c
+0
-1
arch/sparc/kernel/smp_64.c
arch/sparc/kernel/smp_64.c
+4
-0
arch/sparc/mm/init_64.c
arch/sparc/mm/init_64.c
+4
-8
No files found.
arch/sparc/kernel/ds.c
View file @
b696fdc2
...
@@ -544,6 +544,7 @@ static int __cpuinit dr_cpu_configure(struct ds_info *dp,
...
@@ -544,6 +544,7 @@ static int __cpuinit dr_cpu_configure(struct ds_info *dp,
resp_len
,
ncpus
,
mask
,
resp_len
,
ncpus
,
mask
,
DR_CPU_STAT_CONFIGURED
);
DR_CPU_STAT_CONFIGURED
);
mdesc_populate_present_mask
(
mask
);
mdesc_fill_in_cpu_data
(
mask
);
mdesc_fill_in_cpu_data
(
mask
);
for_each_cpu_mask
(
cpu
,
*
mask
)
{
for_each_cpu_mask
(
cpu
,
*
mask
)
{
...
...
arch/sparc/kernel/mdesc.c
View file @
b696fdc2
...
@@ -861,7 +861,6 @@ void __cpuinit mdesc_fill_in_cpu_data(cpumask_t *mask)
...
@@ -861,7 +861,6 @@ void __cpuinit mdesc_fill_in_cpu_data(cpumask_t *mask)
{
{
struct
mdesc_handle
*
hp
;
struct
mdesc_handle
*
hp
;
mdesc_populate_present_mask
(
mask
);
mdesc_iterate_over_cpus
(
fill_in_one_cpu
,
NULL
,
mask
);
mdesc_iterate_over_cpus
(
fill_in_one_cpu
,
NULL
,
mask
);
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
...
...
arch/sparc/kernel/prom_64.c
View file @
b696fdc2
...
@@ -535,7 +535,6 @@ void __init of_fill_in_cpu_data(void)
...
@@ -535,7 +535,6 @@ void __init of_fill_in_cpu_data(void)
if
(
tlb_type
==
hypervisor
)
if
(
tlb_type
==
hypervisor
)
return
;
return
;
of_populate_present_mask
();
of_iterate_over_cpus
(
fill_in_one_cpu
,
0
);
of_iterate_over_cpus
(
fill_in_one_cpu
,
0
);
smp_fill_in_sib_core_maps
();
smp_fill_in_sib_core_maps
();
...
...
arch/sparc/kernel/smp_64.c
View file @
b696fdc2
...
@@ -1399,4 +1399,8 @@ void __init real_setup_per_cpu_areas(void)
...
@@ -1399,4 +1399,8 @@ void __init real_setup_per_cpu_areas(void)
/* Setup %g5 for the boot cpu. */
/* Setup %g5 for the boot cpu. */
__local_per_cpu_offset
=
__per_cpu_offset
(
smp_processor_id
());
__local_per_cpu_offset
=
__per_cpu_offset
(
smp_processor_id
());
of_fill_in_cpu_data
();
if
(
tlb_type
==
hypervisor
)
mdesc_fill_in_cpu_data
(
CPU_MASK_ALL_PTR
);
}
}
arch/sparc/mm/init_64.c
View file @
b696fdc2
...
@@ -1799,20 +1799,16 @@ void __init paging_init(void)
...
@@ -1799,20 +1799,16 @@ void __init paging_init(void)
if
(
tlb_type
==
hypervisor
)
if
(
tlb_type
==
hypervisor
)
sun4v_ktsb_register
();
sun4v_ktsb_register
();
/* We must setup the per-cpu areas before we pull in the
* PROM and the MDESC. The code there fills in cpu and
* other information into per-cpu data structures.
*/
real_setup_per_cpu_areas
();
prom_build_devicetree
();
prom_build_devicetree
();
of_
fill_in_cpu_data
();
of_
populate_present_mask
();
if
(
tlb_type
==
hypervisor
)
{
if
(
tlb_type
==
hypervisor
)
{
sun4v_mdesc_init
();
sun4v_mdesc_init
();
mdesc_
fill_in_cpu_data
(
CPU_MASK_ALL_PTR
);
mdesc_
populate_present_mask
(
CPU_MASK_ALL_PTR
);
}
}
real_setup_per_cpu_areas
();
/* Once the OF device tree and MDESC have been setup, we know
/* Once the OF device tree and MDESC have been setup, we know
* the list of possible cpus. Therefore we can allocate the
* the list of possible cpus. Therefore we can allocate the
* IRQ stacks.
* IRQ stacks.
...
...
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