050abaeaa8
* conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func =grub_cpu_flush_cache on all mips and not only yeeloong. * configure.ac (COND_mips): New conditional. * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all platforms. * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache. * grub-core/kern/emu/full.c (grub_arch_dl_init_linker) [GRUB_LINKER_HAVE_INIT]: New function. (grub_emu_post_init): Likewise. * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise. * grub-core/kern/emu/main.c: Use grub_emu_post_init. * include/grub/cache.h (_mips): Include mips/cache.h. * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing LVM and RAID prototypes. * include/grub/emu/misc.h (grub_emu_post_init): New proto. * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New function.
81 lines
2.5 KiB
C
81 lines
2.5 KiB
C
/*
|
|
* GRUB -- GRand Unified Bootloader
|
|
* Copyright (C) 2010 Free Software Foundation, Inc.
|
|
*
|
|
* GRUB is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* GRUB is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef GRUB_EMU_MISC_H
|
|
#define GRUB_EMU_MISC_H 1
|
|
|
|
#include <grub/symbol.h>
|
|
#include <grub/types.h>
|
|
#include <grub/util/libzfs.h>
|
|
|
|
#ifdef __CYGWIN__
|
|
# include <sys/fcntl.h>
|
|
# include <sys/cygwin.h>
|
|
# include <limits.h>
|
|
# define DEV_CYGDRIVE_MAJOR 98
|
|
#endif
|
|
|
|
#ifdef __NetBSD__
|
|
/* NetBSD uses /boot for its boot block. */
|
|
# define DEFAULT_DIRECTORY "/grub"
|
|
#else
|
|
# define DEFAULT_DIRECTORY "/boot/grub"
|
|
#endif
|
|
|
|
#define DEFAULT_DEVICE_MAP DEFAULT_DIRECTORY "/device.map"
|
|
|
|
extern int verbosity;
|
|
extern const char *program_name;
|
|
|
|
void grub_emu_init (void);
|
|
void grub_init_all (void);
|
|
void grub_fini_all (void);
|
|
void grub_emu_post_init (void);
|
|
|
|
void grub_find_zpool_from_dir (const char *dir,
|
|
char **poolname, char **poolfs);
|
|
|
|
char *grub_make_system_path_relative_to_its_root (const char *path)
|
|
__attribute__ ((warn_unused_result));
|
|
|
|
void * EXPORT_FUNC(xmalloc) (grub_size_t size) __attribute__ ((warn_unused_result));
|
|
void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size) __attribute__ ((warn_unused_result));
|
|
char * EXPORT_FUNC(xstrdup) (const char *str) __attribute__ ((warn_unused_result));
|
|
char * EXPORT_FUNC(xasprintf) (const char *fmt, ...) __attribute__ ((warn_unused_result));
|
|
|
|
void EXPORT_FUNC(grub_util_warn) (const char *fmt, ...);
|
|
void EXPORT_FUNC(grub_util_info) (const char *fmt, ...);
|
|
void EXPORT_FUNC(grub_util_error) (const char *fmt, ...) __attribute__ ((noreturn));
|
|
|
|
#ifndef HAVE_VASPRINTF
|
|
int EXPORT_FUNC(vasprintf) (char **buf, const char *fmt, va_list ap);
|
|
#endif
|
|
|
|
#ifndef HAVE_ASPRINTF
|
|
int EXPORT_FUNC(asprintf) (char **buf, const char *fmt, ...);
|
|
#endif
|
|
|
|
extern char * canonicalize_file_name (const char *path);
|
|
|
|
#ifdef HAVE_DEVICE_MAPPER
|
|
int grub_device_mapper_supported (void);
|
|
#endif
|
|
|
|
libzfs_handle_t *grub_get_libzfs_handle (void);
|
|
|
|
#endif /* GRUB_EMU_MISC_H */
|