.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
---|
1 | 2 | /* |
---|
2 | 3 | * Initial setup-routines for HP 9000 based hardware. |
---|
3 | 4 | * |
---|
.. | .. |
---|
9 | 10 | * Modifications copyright 2001 Ryan Bradetich <rbradetich@uswest.net> |
---|
10 | 11 | * |
---|
11 | 12 | * Initial PA-RISC Version: 04-23-1999 by Helge Deller |
---|
12 | | - * |
---|
13 | | - * This program is free software; you can redistribute it and/or modify |
---|
14 | | - * it under the terms of the GNU General Public License as published by |
---|
15 | | - * the Free Software Foundation; either version 2, or (at your option) |
---|
16 | | - * any later version. |
---|
17 | | - * |
---|
18 | | - * This program is distributed in the hope that it will be useful, |
---|
19 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
20 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
21 | | - * GNU General Public License for more details. |
---|
22 | | - * |
---|
23 | | - * You should have received a copy of the GNU General Public License |
---|
24 | | - * along with this program; if not, write to the Free Software |
---|
25 | | - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
---|
26 | | - * |
---|
27 | 13 | */ |
---|
28 | 14 | |
---|
29 | 15 | #include <linux/kernel.h> |
---|
.. | .. |
---|
40 | 26 | #include <linux/sched/clock.h> |
---|
41 | 27 | #include <linux/start_kernel.h> |
---|
42 | 28 | |
---|
| 29 | +#include <asm/cacheflush.h> |
---|
43 | 30 | #include <asm/processor.h> |
---|
44 | 31 | #include <asm/sections.h> |
---|
45 | 32 | #include <asm/pdc.h> |
---|
.. | .. |
---|
99 | 86 | |
---|
100 | 87 | case pcxl2: |
---|
101 | 88 | pa7300lc_init(); |
---|
102 | | - case pcxl: /* falls through */ |
---|
103 | | - case pcxs: |
---|
104 | | - case pcxt: |
---|
105 | | - hppa_dma_ops = &dma_noncoherent_ops; |
---|
106 | 89 | break; |
---|
107 | 90 | default: |
---|
108 | 91 | break; |
---|
.. | .. |
---|
166 | 149 | |
---|
167 | 150 | #ifdef CONFIG_PA11 |
---|
168 | 151 | dma_ops_init(); |
---|
169 | | -#endif |
---|
170 | | - |
---|
171 | | -#if defined(CONFIG_VT) && defined(CONFIG_DUMMY_CONSOLE) |
---|
172 | | - conswitchp = &dummy_con; /* we use do_take_over_console() later ! */ |
---|
173 | 152 | #endif |
---|
174 | 153 | |
---|
175 | 154 | clear_sched_clock_stable(); |
---|
.. | .. |
---|
346 | 325 | boot_cpu_data.cpu_hz / 1000000, |
---|
347 | 326 | boot_cpu_data.cpu_hz % 1000000 ); |
---|
348 | 327 | |
---|
| 328 | +#if defined(CONFIG_64BIT) && defined(CONFIG_SMP) |
---|
| 329 | + /* Don't serialize TLB flushes if we run on one CPU only. */ |
---|
| 330 | + if (num_online_cpus() == 1) |
---|
| 331 | + pa_serialize_tlb_flushes = 0; |
---|
| 332 | +#endif |
---|
| 333 | + |
---|
| 334 | + apply_alternatives_all(); |
---|
349 | 335 | parisc_setup_cache_timing(); |
---|
350 | 336 | |
---|
351 | 337 | /* These are in a non-obvious order, will fix when we have an iotree */ |
---|