| .. | .. |
|---|
| 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 */ |
|---|