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 
12 extern 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  */
18 extern unsigned char boot_cpu_id;
19 
20 extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
21 
22 extern int serial_console;
con_is_present(void)23 static inline int con_is_present(void)
24 {
25 	return serial_console ? 0 : 1;
26 }
27 
28 /* from irq_32.c */
29 extern volatile unsigned char *fdc_status;
30 extern char *pdma_vaddr;
31 extern unsigned long pdma_size;
32 extern volatile int doing_pdma;
33 
34 /* This is software state */
35 extern char *pdma_base;
36 extern unsigned long pdma_areasize;
37 
38 int sparc_floppy_request_irq(unsigned int irq, irq_handler_t irq_handler);
39 
40 /* setup_32.c */
41 extern unsigned long cmdline_memory_size;
42 
43 /* devices.c */
44 void __init device_scan(void);
45 
46 /* unaligned_32.c */
47 unsigned long safe_compute_effective_address(struct pt_regs *, unsigned int);
48 
49 #endif
50 
51 #ifdef CONFIG_SPARC64
52 void __init start_early_boot(void);
53 
54 /* unaligned_64.c */
55 int handle_ldf_stq(u32 insn, struct pt_regs *regs);
56 void handle_ld_nf(u32 insn, struct pt_regs *regs);
57 
58 /* init_64.c */
59 extern atomic_t dcpage_flushes;
60 extern atomic_t dcpage_flushes_xcall;
61 
62 extern int sysctl_tsb_ratio;
63 
64 #ifdef CONFIG_SERIAL_SUNHV
65 void sunhv_migrate_hvcons_irq(int cpu);
66 #endif
67 #endif
68 void sun_do_break(void);
69 extern int stop_a_enabled;
70 extern int scons_pwroff;
71 
72 #endif /* _SPARC_SETUP_H */
73