1c5f5d3e6SGreg Ungerer /* 2c5f5d3e6SGreg Ungerer ** asm/setup.h -- Definition of the Linux/m68k setup information 3c5f5d3e6SGreg Ungerer ** 4c5f5d3e6SGreg Ungerer ** Copyright 1992 by Greg Harp 5c5f5d3e6SGreg Ungerer ** 6c5f5d3e6SGreg Ungerer ** This file is subject to the terms and conditions of the GNU General Public 7c5f5d3e6SGreg Ungerer ** License. See the file COPYING in the main directory of this archive 8c5f5d3e6SGreg Ungerer ** for more details. 9c5f5d3e6SGreg Ungerer ** 10c5f5d3e6SGreg Ungerer ** Created 09/29/92 by Greg Harp 11c5f5d3e6SGreg Ungerer ** 12c5f5d3e6SGreg Ungerer ** 5/2/94 Roman Hodek: 13c5f5d3e6SGreg Ungerer ** Added bi_atari part of the machine dependent union bi_un; for now it 14c5f5d3e6SGreg Ungerer ** contains just a model field to distinguish between TT and Falcon. 15c5f5d3e6SGreg Ungerer ** 26/7/96 Roman Zippel: 16c5f5d3e6SGreg Ungerer ** Renamed to setup.h; added some useful macros to allow gcc some 17c5f5d3e6SGreg Ungerer ** optimizations if possible. 18c5f5d3e6SGreg Ungerer ** 5/10/96 Geert Uytterhoeven: 19c5f5d3e6SGreg Ungerer ** Redesign of the boot information structure; moved boot information 20c5f5d3e6SGreg Ungerer ** structure to bootinfo.h 21c5f5d3e6SGreg Ungerer */ 22c5f5d3e6SGreg Ungerer #ifndef _M68K_SETUP_H 23c5f5d3e6SGreg Ungerer #define _M68K_SETUP_H 24c5f5d3e6SGreg Ungerer 2579930084SGeert Uytterhoeven #include <uapi/asm/bootinfo.h> 2610b3a979SDavid Howells #include <uapi/asm/setup.h> 27c5f5d3e6SGreg Ungerer 28c5f5d3e6SGreg Ungerer 29c5f5d3e6SGreg Ungerer #define CL_SIZE COMMAND_LINE_SIZE 30c5f5d3e6SGreg Ungerer 31c5f5d3e6SGreg Ungerer #ifndef __ASSEMBLY__ 32c5f5d3e6SGreg Ungerer extern unsigned long m68k_machtype; 33c5f5d3e6SGreg Ungerer #endif /* !__ASSEMBLY__ */ 34c5f5d3e6SGreg Ungerer 35c5f5d3e6SGreg Ungerer #if !defined(CONFIG_AMIGA) 36c5f5d3e6SGreg Ungerer # define MACH_IS_AMIGA (0) 37c5f5d3e6SGreg Ungerer #elif defined(CONFIG_ATARI) || defined(CONFIG_MAC) || defined(CONFIG_APOLLO) \ 38c5f5d3e6SGreg Ungerer || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \ 39c5f5d3e6SGreg Ungerer || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ 40*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \ 41*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 42c5f5d3e6SGreg Ungerer # define MACH_IS_AMIGA (m68k_machtype == MACH_AMIGA) 4349148020SSam Ravnborg #else 44c5f5d3e6SGreg Ungerer # define MACH_AMIGA_ONLY 45c5f5d3e6SGreg Ungerer # define MACH_IS_AMIGA (1) 46c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_AMIGA) 4749148020SSam Ravnborg #endif 48c5f5d3e6SGreg Ungerer 49c5f5d3e6SGreg Ungerer #if !defined(CONFIG_ATARI) 50c5f5d3e6SGreg Ungerer # define MACH_IS_ATARI (0) 51c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_APOLLO) \ 52c5f5d3e6SGreg Ungerer || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \ 53c5f5d3e6SGreg Ungerer || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ 54*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \ 55*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 56c5f5d3e6SGreg Ungerer # define MACH_IS_ATARI (m68k_machtype == MACH_ATARI) 57c5f5d3e6SGreg Ungerer #else 58c5f5d3e6SGreg Ungerer # define MACH_ATARI_ONLY 59c5f5d3e6SGreg Ungerer # define MACH_IS_ATARI (1) 60c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_ATARI) 61c5f5d3e6SGreg Ungerer #endif 62c5f5d3e6SGreg Ungerer 63c5f5d3e6SGreg Ungerer #if !defined(CONFIG_MAC) 64c5f5d3e6SGreg Ungerer # define MACH_IS_MAC (0) 65c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_ATARI) || defined(CONFIG_APOLLO) \ 66c5f5d3e6SGreg Ungerer || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \ 67c5f5d3e6SGreg Ungerer || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ 68*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \ 69*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 70c5f5d3e6SGreg Ungerer # define MACH_IS_MAC (m68k_machtype == MACH_MAC) 71c5f5d3e6SGreg Ungerer #else 72c5f5d3e6SGreg Ungerer # define MACH_MAC_ONLY 73c5f5d3e6SGreg Ungerer # define MACH_IS_MAC (1) 74c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_MAC) 75c5f5d3e6SGreg Ungerer #endif 76c5f5d3e6SGreg Ungerer 77c5f5d3e6SGreg Ungerer #if defined(CONFIG_SUN3) 78c5f5d3e6SGreg Ungerer #define MACH_IS_SUN3 (1) 79c5f5d3e6SGreg Ungerer #define MACH_SUN3_ONLY (1) 80c5f5d3e6SGreg Ungerer #define MACH_TYPE (MACH_SUN3) 81c5f5d3e6SGreg Ungerer #else 82c5f5d3e6SGreg Ungerer #define MACH_IS_SUN3 (0) 83c5f5d3e6SGreg Ungerer #endif 84c5f5d3e6SGreg Ungerer 85c5f5d3e6SGreg Ungerer #if !defined (CONFIG_APOLLO) 86c5f5d3e6SGreg Ungerer # define MACH_IS_APOLLO (0) 87c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ 88c5f5d3e6SGreg Ungerer || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \ 89c5f5d3e6SGreg Ungerer || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ 90*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \ 91*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 92c5f5d3e6SGreg Ungerer # define MACH_IS_APOLLO (m68k_machtype == MACH_APOLLO) 93c5f5d3e6SGreg Ungerer #else 94c5f5d3e6SGreg Ungerer # define MACH_APOLLO_ONLY 95c5f5d3e6SGreg Ungerer # define MACH_IS_APOLLO (1) 96c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_APOLLO) 97c5f5d3e6SGreg Ungerer #endif 98c5f5d3e6SGreg Ungerer 99c5f5d3e6SGreg Ungerer #if !defined (CONFIG_MVME147) 100c5f5d3e6SGreg Ungerer # define MACH_IS_MVME147 (0) 101c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ 102c5f5d3e6SGreg Ungerer || defined(CONFIG_APOLLO) || defined(CONFIG_BVME6000) \ 103c5f5d3e6SGreg Ungerer || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ 104*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME16x) \ 105*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 106c5f5d3e6SGreg Ungerer # define MACH_IS_MVME147 (m68k_machtype == MACH_MVME147) 107c5f5d3e6SGreg Ungerer #else 108c5f5d3e6SGreg Ungerer # define MACH_MVME147_ONLY 109c5f5d3e6SGreg Ungerer # define MACH_IS_MVME147 (1) 110c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_MVME147) 111c5f5d3e6SGreg Ungerer #endif 112c5f5d3e6SGreg Ungerer 113c5f5d3e6SGreg Ungerer #if !defined (CONFIG_MVME16x) 114c5f5d3e6SGreg Ungerer # define MACH_IS_MVME16x (0) 115c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ 116c5f5d3e6SGreg Ungerer || defined(CONFIG_APOLLO) || defined(CONFIG_BVME6000) \ 117c5f5d3e6SGreg Ungerer || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ 118*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \ 119*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 120c5f5d3e6SGreg Ungerer # define MACH_IS_MVME16x (m68k_machtype == MACH_MVME16x) 121c5f5d3e6SGreg Ungerer #else 122c5f5d3e6SGreg Ungerer # define MACH_MVME16x_ONLY 123c5f5d3e6SGreg Ungerer # define MACH_IS_MVME16x (1) 124c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_MVME16x) 125c5f5d3e6SGreg Ungerer #endif 126c5f5d3e6SGreg Ungerer 127c5f5d3e6SGreg Ungerer #if !defined (CONFIG_BVME6000) 128c5f5d3e6SGreg Ungerer # define MACH_IS_BVME6000 (0) 129c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ 130c5f5d3e6SGreg Ungerer || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ 131c5f5d3e6SGreg Ungerer || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ 132*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \ 133*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 134c5f5d3e6SGreg Ungerer # define MACH_IS_BVME6000 (m68k_machtype == MACH_BVME6000) 135c5f5d3e6SGreg Ungerer #else 136c5f5d3e6SGreg Ungerer # define MACH_BVME6000_ONLY 137c5f5d3e6SGreg Ungerer # define MACH_IS_BVME6000 (1) 138c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_BVME6000) 139c5f5d3e6SGreg Ungerer #endif 140c5f5d3e6SGreg Ungerer 141c5f5d3e6SGreg Ungerer #if !defined (CONFIG_HP300) 142c5f5d3e6SGreg Ungerer # define MACH_IS_HP300 (0) 143c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ 144c5f5d3e6SGreg Ungerer || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ 145c5f5d3e6SGreg Ungerer || defined(CONFIG_BVME6000) || defined(CONFIG_Q40) \ 146*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \ 147*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 148c5f5d3e6SGreg Ungerer # define MACH_IS_HP300 (m68k_machtype == MACH_HP300) 149c5f5d3e6SGreg Ungerer #else 150c5f5d3e6SGreg Ungerer # define MACH_HP300_ONLY 151c5f5d3e6SGreg Ungerer # define MACH_IS_HP300 (1) 152c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_HP300) 153c5f5d3e6SGreg Ungerer #endif 154c5f5d3e6SGreg Ungerer 155c5f5d3e6SGreg Ungerer #if !defined (CONFIG_Q40) 156c5f5d3e6SGreg Ungerer # define MACH_IS_Q40 (0) 157c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ 158c5f5d3e6SGreg Ungerer || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ 159c5f5d3e6SGreg Ungerer || defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \ 160*05d51e42SLaurent Vivier || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \ 161*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 162c5f5d3e6SGreg Ungerer # define MACH_IS_Q40 (m68k_machtype == MACH_Q40) 163c5f5d3e6SGreg Ungerer #else 164c5f5d3e6SGreg Ungerer # define MACH_Q40_ONLY 165c5f5d3e6SGreg Ungerer # define MACH_IS_Q40 (1) 166c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_Q40) 167c5f5d3e6SGreg Ungerer #endif 168c5f5d3e6SGreg Ungerer 169c5f5d3e6SGreg Ungerer #if !defined (CONFIG_SUN3X) 170c5f5d3e6SGreg Ungerer # define MACH_IS_SUN3X (0) 171c5f5d3e6SGreg Ungerer #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ 172c5f5d3e6SGreg Ungerer || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ 173c5f5d3e6SGreg Ungerer || defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \ 174*05d51e42SLaurent Vivier || defined(CONFIG_Q40) || defined(CONFIG_MVME147) \ 175*05d51e42SLaurent Vivier || defined(CONFIG_VIRT) 176c5f5d3e6SGreg Ungerer # define MACH_IS_SUN3X (m68k_machtype == MACH_SUN3X) 177c5f5d3e6SGreg Ungerer #else 178c5f5d3e6SGreg Ungerer # define CONFIG_SUN3X_ONLY 179c5f5d3e6SGreg Ungerer # define MACH_IS_SUN3X (1) 180c5f5d3e6SGreg Ungerer # define MACH_TYPE (MACH_SUN3X) 181c5f5d3e6SGreg Ungerer #endif 182c5f5d3e6SGreg Ungerer 183*05d51e42SLaurent Vivier #if !defined(CONFIG_VIRT) 184*05d51e42SLaurent Vivier # define MACH_IS_VIRT (0) 185*05d51e42SLaurent Vivier #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ 186*05d51e42SLaurent Vivier || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ 187*05d51e42SLaurent Vivier || defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \ 188*05d51e42SLaurent Vivier || defined(CONFIG_Q40) || defined(CONFIG_SUN3X) \ 189*05d51e42SLaurent Vivier || defined(CONFIG_MVME147) 190*05d51e42SLaurent Vivier # define MACH_IS_VIRT (m68k_machtype == MACH_VIRT) 191*05d51e42SLaurent Vivier #else 192*05d51e42SLaurent Vivier # define MACH_VIRT_ONLY 193*05d51e42SLaurent Vivier # define MACH_IS_VIRT (1) 194*05d51e42SLaurent Vivier # define MACH_TYPE (MACH_VIRT) 195*05d51e42SLaurent Vivier #endif 196*05d51e42SLaurent Vivier 197c5f5d3e6SGreg Ungerer #ifndef MACH_TYPE 198c5f5d3e6SGreg Ungerer # define MACH_TYPE (m68k_machtype) 199c5f5d3e6SGreg Ungerer #endif 200c5f5d3e6SGreg Ungerer 201c5f5d3e6SGreg Ungerer 202c5f5d3e6SGreg Ungerer #ifndef __ASSEMBLY__ 203c5f5d3e6SGreg Ungerer extern unsigned long m68k_cputype; 204c5f5d3e6SGreg Ungerer extern unsigned long m68k_fputype; 205c5f5d3e6SGreg Ungerer extern unsigned long m68k_mmutype; 206c5f5d3e6SGreg Ungerer #ifdef CONFIG_VME 207c5f5d3e6SGreg Ungerer extern unsigned long vme_brdtype; 208c5f5d3e6SGreg Ungerer #endif 209c5f5d3e6SGreg Ungerer 210c5f5d3e6SGreg Ungerer /* 211c5f5d3e6SGreg Ungerer * m68k_is040or060 is != 0 for a '040 or higher; 212c5f5d3e6SGreg Ungerer * used numbers are 4 for 68040 and 6 for 68060. 213c5f5d3e6SGreg Ungerer */ 214c5f5d3e6SGreg Ungerer 215c5f5d3e6SGreg Ungerer extern int m68k_is040or060; 216c5f5d3e6SGreg Ungerer #endif /* !__ASSEMBLY__ */ 217c5f5d3e6SGreg Ungerer 218c5f5d3e6SGreg Ungerer #if !defined(CONFIG_M68020) 219c5f5d3e6SGreg Ungerer # define CPU_IS_020 (0) 220c5f5d3e6SGreg Ungerer # define MMU_IS_851 (0) 221c5f5d3e6SGreg Ungerer # define MMU_IS_SUN3 (0) 222c5f5d3e6SGreg Ungerer #elif defined(CONFIG_M68030) || defined(CONFIG_M68040) || defined(CONFIG_M68060) 223c5f5d3e6SGreg Ungerer # define CPU_IS_020 (m68k_cputype & CPU_68020) 224c5f5d3e6SGreg Ungerer # define MMU_IS_851 (m68k_mmutype & MMU_68851) 225c5f5d3e6SGreg Ungerer # define MMU_IS_SUN3 (0) /* Sun3 not supported with other CPU enabled */ 226c5f5d3e6SGreg Ungerer #else 227c5f5d3e6SGreg Ungerer # define CPU_M68020_ONLY 228c5f5d3e6SGreg Ungerer # define CPU_IS_020 (1) 229c5f5d3e6SGreg Ungerer #ifdef MACH_SUN3_ONLY 230c5f5d3e6SGreg Ungerer # define MMU_IS_SUN3 (1) 231c5f5d3e6SGreg Ungerer # define MMU_IS_851 (0) 232c5f5d3e6SGreg Ungerer #else 233c5f5d3e6SGreg Ungerer # define MMU_IS_SUN3 (0) 234c5f5d3e6SGreg Ungerer # define MMU_IS_851 (1) 235c5f5d3e6SGreg Ungerer #endif 236c5f5d3e6SGreg Ungerer #endif 237c5f5d3e6SGreg Ungerer 238c5f5d3e6SGreg Ungerer #if !defined(CONFIG_M68030) 239c5f5d3e6SGreg Ungerer # define CPU_IS_030 (0) 240c5f5d3e6SGreg Ungerer # define MMU_IS_030 (0) 241c5f5d3e6SGreg Ungerer #elif defined(CONFIG_M68020) || defined(CONFIG_M68040) || defined(CONFIG_M68060) 242c5f5d3e6SGreg Ungerer # define CPU_IS_030 (m68k_cputype & CPU_68030) 243c5f5d3e6SGreg Ungerer # define MMU_IS_030 (m68k_mmutype & MMU_68030) 244c5f5d3e6SGreg Ungerer #else 245c5f5d3e6SGreg Ungerer # define CPU_M68030_ONLY 246c5f5d3e6SGreg Ungerer # define CPU_IS_030 (1) 247c5f5d3e6SGreg Ungerer # define MMU_IS_030 (1) 248c5f5d3e6SGreg Ungerer #endif 249c5f5d3e6SGreg Ungerer 250c5f5d3e6SGreg Ungerer #if !defined(CONFIG_M68040) 251c5f5d3e6SGreg Ungerer # define CPU_IS_040 (0) 252c5f5d3e6SGreg Ungerer # define MMU_IS_040 (0) 253c5f5d3e6SGreg Ungerer #elif defined(CONFIG_M68020) || defined(CONFIG_M68030) || defined(CONFIG_M68060) 254c5f5d3e6SGreg Ungerer # define CPU_IS_040 (m68k_cputype & CPU_68040) 255c5f5d3e6SGreg Ungerer # define MMU_IS_040 (m68k_mmutype & MMU_68040) 256c5f5d3e6SGreg Ungerer #else 257c5f5d3e6SGreg Ungerer # define CPU_M68040_ONLY 258c5f5d3e6SGreg Ungerer # define CPU_IS_040 (1) 259c5f5d3e6SGreg Ungerer # define MMU_IS_040 (1) 260c5f5d3e6SGreg Ungerer #endif 261c5f5d3e6SGreg Ungerer 262c5f5d3e6SGreg Ungerer #if !defined(CONFIG_M68060) 263c5f5d3e6SGreg Ungerer # define CPU_IS_060 (0) 264c5f5d3e6SGreg Ungerer # define MMU_IS_060 (0) 265c5f5d3e6SGreg Ungerer #elif defined(CONFIG_M68020) || defined(CONFIG_M68030) || defined(CONFIG_M68040) 266c5f5d3e6SGreg Ungerer # define CPU_IS_060 (m68k_cputype & CPU_68060) 267c5f5d3e6SGreg Ungerer # define MMU_IS_060 (m68k_mmutype & MMU_68060) 268c5f5d3e6SGreg Ungerer #else 269c5f5d3e6SGreg Ungerer # define CPU_M68060_ONLY 270c5f5d3e6SGreg Ungerer # define CPU_IS_060 (1) 271c5f5d3e6SGreg Ungerer # define MMU_IS_060 (1) 272c5f5d3e6SGreg Ungerer #endif 273c5f5d3e6SGreg Ungerer 274c5f5d3e6SGreg Ungerer #if !defined(CONFIG_M68020) && !defined(CONFIG_M68030) 275c5f5d3e6SGreg Ungerer # define CPU_IS_020_OR_030 (0) 276c5f5d3e6SGreg Ungerer #else 277c5f5d3e6SGreg Ungerer # define CPU_M68020_OR_M68030 278c5f5d3e6SGreg Ungerer # if defined(CONFIG_M68040) || defined(CONFIG_M68060) 279c5f5d3e6SGreg Ungerer # define CPU_IS_020_OR_030 (!m68k_is040or060) 280c5f5d3e6SGreg Ungerer # else 281c5f5d3e6SGreg Ungerer # define CPU_M68020_OR_M68030_ONLY 282c5f5d3e6SGreg Ungerer # define CPU_IS_020_OR_030 (1) 283c5f5d3e6SGreg Ungerer # endif 284c5f5d3e6SGreg Ungerer #endif 285c5f5d3e6SGreg Ungerer 286c5f5d3e6SGreg Ungerer #if !defined(CONFIG_M68040) && !defined(CONFIG_M68060) 287c5f5d3e6SGreg Ungerer # define CPU_IS_040_OR_060 (0) 288c5f5d3e6SGreg Ungerer #else 289c5f5d3e6SGreg Ungerer # define CPU_M68040_OR_M68060 290c5f5d3e6SGreg Ungerer # if defined(CONFIG_M68020) || defined(CONFIG_M68030) 291c5f5d3e6SGreg Ungerer # define CPU_IS_040_OR_060 (m68k_is040or060) 292c5f5d3e6SGreg Ungerer # else 293c5f5d3e6SGreg Ungerer # define CPU_M68040_OR_M68060_ONLY 294c5f5d3e6SGreg Ungerer # define CPU_IS_040_OR_060 (1) 295c5f5d3e6SGreg Ungerer # endif 296c5f5d3e6SGreg Ungerer #endif 297c5f5d3e6SGreg Ungerer 29859dbb3b1SGreg Ungerer #if !defined(CONFIG_COLDFIRE) 29959dbb3b1SGreg Ungerer # define CPU_IS_COLDFIRE (0) 30059dbb3b1SGreg Ungerer #else 30159dbb3b1SGreg Ungerer # define CPU_IS_COLDFIRE (1) 30259dbb3b1SGreg Ungerer # define MMU_IS_COLDFIRE (1) 30359dbb3b1SGreg Ungerer #endif 30459dbb3b1SGreg Ungerer 305c5f5d3e6SGreg Ungerer #define CPU_TYPE (m68k_cputype) 306c5f5d3e6SGreg Ungerer 307c5f5d3e6SGreg Ungerer #ifdef CONFIG_M68KFPU_EMU 308c5f5d3e6SGreg Ungerer # ifdef CONFIG_M68KFPU_EMU_ONLY 309c5f5d3e6SGreg Ungerer # define FPU_IS_EMU (1) 310c5f5d3e6SGreg Ungerer # else 311c5f5d3e6SGreg Ungerer # define FPU_IS_EMU (!m68k_fputype) 312c5f5d3e6SGreg Ungerer # endif 313c5f5d3e6SGreg Ungerer #else 314c5f5d3e6SGreg Ungerer # define FPU_IS_EMU (0) 315c5f5d3e6SGreg Ungerer #endif 316c5f5d3e6SGreg Ungerer 317c5f5d3e6SGreg Ungerer 318c5f5d3e6SGreg Ungerer /* 319c5f5d3e6SGreg Ungerer * Miscellaneous 320c5f5d3e6SGreg Ungerer */ 321c5f5d3e6SGreg Ungerer 322c5f5d3e6SGreg Ungerer #define NUM_MEMINFO 4 323c5f5d3e6SGreg Ungerer 324c5f5d3e6SGreg Ungerer #ifndef __ASSEMBLY__ 32579930084SGeert Uytterhoeven struct m68k_mem_info { 326c5f5d3e6SGreg Ungerer unsigned long addr; /* physical address of memory chunk */ 327c5f5d3e6SGreg Ungerer unsigned long size; /* length of memory chunk (in bytes) */ 328c5f5d3e6SGreg Ungerer }; 329c5f5d3e6SGreg Ungerer 330c5f5d3e6SGreg Ungerer extern int m68k_num_memory; /* # of memory blocks found (and used) */ 331c5f5d3e6SGreg Ungerer extern int m68k_realnum_memory; /* real # of memory blocks found */ 33279930084SGeert Uytterhoeven extern struct m68k_mem_info m68k_memory[NUM_MEMINFO];/* memory description */ 333c5f5d3e6SGreg Ungerer #endif 334c5f5d3e6SGreg Ungerer 335c5f5d3e6SGreg Ungerer #endif /* _M68K_SETUP_H */ 336