18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Just a place holder. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci#ifndef _SPARC_SETUP_H 68c2ecf20Sopenharmony_ci#define _SPARC_SETUP_H 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#include <linux/interrupt.h> 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include <uapi/asm/setup.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciextern char reboot_command[]; 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci#ifdef CONFIG_SPARC32 158c2ecf20Sopenharmony_ci/* The CPU that was used for booting 168c2ecf20Sopenharmony_ci * Only sun4d + leon may have boot_cpu_id != 0 178c2ecf20Sopenharmony_ci */ 188c2ecf20Sopenharmony_ciextern unsigned char boot_cpu_id; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciextern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)]; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciextern int serial_console; 238c2ecf20Sopenharmony_cistatic inline int con_is_present(void) 248c2ecf20Sopenharmony_ci{ 258c2ecf20Sopenharmony_ci return serial_console ? 0 : 1; 268c2ecf20Sopenharmony_ci} 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci/* from irq_32.c */ 298c2ecf20Sopenharmony_ciextern volatile unsigned char *fdc_status; 308c2ecf20Sopenharmony_ciextern char *pdma_vaddr; 318c2ecf20Sopenharmony_ciextern unsigned long pdma_size; 328c2ecf20Sopenharmony_ciextern volatile int doing_pdma; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci/* This is software state */ 358c2ecf20Sopenharmony_ciextern char *pdma_base; 368c2ecf20Sopenharmony_ciextern unsigned long pdma_areasize; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciint sparc_floppy_request_irq(unsigned int irq, irq_handler_t irq_handler); 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci/* setup_32.c */ 418c2ecf20Sopenharmony_ciextern unsigned long cmdline_memory_size; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci/* devices.c */ 448c2ecf20Sopenharmony_civoid __init device_scan(void); 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci/* unaligned_32.c */ 478c2ecf20Sopenharmony_ciunsigned long safe_compute_effective_address(struct pt_regs *, unsigned int); 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci#endif 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci#ifdef CONFIG_SPARC64 528c2ecf20Sopenharmony_civoid __init start_early_boot(void); 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci/* unaligned_64.c */ 558c2ecf20Sopenharmony_ciint handle_ldf_stq(u32 insn, struct pt_regs *regs); 568c2ecf20Sopenharmony_civoid handle_ld_nf(u32 insn, struct pt_regs *regs); 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci/* init_64.c */ 598c2ecf20Sopenharmony_ciextern atomic_t dcpage_flushes; 608c2ecf20Sopenharmony_ciextern atomic_t dcpage_flushes_xcall; 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciextern int sysctl_tsb_ratio; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci#ifdef CONFIG_SERIAL_SUNHV 658c2ecf20Sopenharmony_civoid sunhv_migrate_hvcons_irq(int cpu); 668c2ecf20Sopenharmony_ci#endif 678c2ecf20Sopenharmony_ci#endif 688c2ecf20Sopenharmony_civoid sun_do_break(void); 698c2ecf20Sopenharmony_ciextern int stop_a_enabled; 708c2ecf20Sopenharmony_ciextern int scons_pwroff; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci#endif /* _SPARC_SETUP_H */ 73