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