1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 *	Just a place holder.
4 */
5#ifndef _SPARC_SETUP_H
6#define _SPARC_SETUP_H
7
8#include <linux/interrupt.h>
9
10#include <uapi/asm/setup.h>
11
12extern char reboot_command[];
13
14#ifdef CONFIG_SPARC32
15/* The CPU that was used for booting
16 * Only sun4d + leon may have boot_cpu_id != 0
17 */
18extern unsigned char boot_cpu_id;
19
20extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
21
22extern int serial_console;
23static inline int con_is_present(void)
24{
25	return serial_console ? 0 : 1;
26}
27
28/* from irq_32.c */
29extern volatile unsigned char *fdc_status;
30extern char *pdma_vaddr;
31extern unsigned long pdma_size;
32extern volatile int doing_pdma;
33
34/* This is software state */
35extern char *pdma_base;
36extern unsigned long pdma_areasize;
37
38int sparc_floppy_request_irq(unsigned int irq, irq_handler_t irq_handler);
39
40/* setup_32.c */
41extern unsigned long cmdline_memory_size;
42
43/* devices.c */
44void __init device_scan(void);
45
46/* unaligned_32.c */
47unsigned long safe_compute_effective_address(struct pt_regs *, unsigned int);
48
49#endif
50
51#ifdef CONFIG_SPARC64
52void __init start_early_boot(void);
53
54/* unaligned_64.c */
55int handle_ldf_stq(u32 insn, struct pt_regs *regs);
56void handle_ld_nf(u32 insn, struct pt_regs *regs);
57
58/* init_64.c */
59extern atomic_t dcpage_flushes;
60extern atomic_t dcpage_flushes_xcall;
61
62extern int sysctl_tsb_ratio;
63
64#ifdef CONFIG_SERIAL_SUNHV
65void sunhv_migrate_hvcons_irq(int cpu);
66#endif
67#endif
68void sun_do_break(void);
69extern int stop_a_enabled;
70extern int scons_pwroff;
71
72#endif /* _SPARC_SETUP_H */
73