Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.15 103 lines 2.7 kB view raw
1/* 2 * Copyright 2006 IBM Corporation. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 7 * 2 of the License, or (at your option) any later version. 8 */ 9 10#ifndef _PSERIES_PSERIES_H 11#define _PSERIES_PSERIES_H 12 13#include <linux/interrupt.h> 14#include <asm/rtas.h> 15 16struct device_node; 17 18extern void request_event_sources_irqs(struct device_node *np, 19 irq_handler_t handler, const char *name); 20 21#include <linux/of.h> 22 23struct pt_regs; 24 25extern int pSeries_system_reset_exception(struct pt_regs *regs); 26extern int pSeries_machine_check_exception(struct pt_regs *regs); 27 28#ifdef CONFIG_SMP 29extern void smp_init_pseries(void); 30#else 31static inline void smp_init_pseries(void) { }; 32#endif 33 34extern void pseries_kexec_cpu_down(int crash_shutdown, int secondary); 35 36extern void pSeries_final_fixup(void); 37 38/* Poweron flag used for enabling auto ups restart */ 39extern unsigned long rtas_poweron_auto; 40 41/* Provided by HVC VIO */ 42extern void hvc_vio_init_early(void); 43 44/* Dynamic logical Partitioning/Mobility */ 45extern void dlpar_free_cc_nodes(struct device_node *); 46extern void dlpar_free_cc_property(struct property *); 47extern struct device_node *dlpar_configure_connector(__be32, 48 struct device_node *); 49extern int dlpar_attach_node(struct device_node *, struct device_node *); 50extern int dlpar_detach_node(struct device_node *); 51extern int dlpar_acquire_drc(u32 drc_index); 52extern int dlpar_release_drc(u32 drc_index); 53 54void queue_hotplug_event(struct pseries_hp_errorlog *hp_errlog, 55 struct completion *hotplug_done, int *rc); 56#ifdef CONFIG_MEMORY_HOTPLUG 57int dlpar_memory(struct pseries_hp_errorlog *hp_elog); 58#else 59static inline int dlpar_memory(struct pseries_hp_errorlog *hp_elog) 60{ 61 return -EOPNOTSUPP; 62} 63#endif 64 65#ifdef CONFIG_HOTPLUG_CPU 66int dlpar_cpu(struct pseries_hp_errorlog *hp_elog); 67#else 68static inline int dlpar_cpu(struct pseries_hp_errorlog *hp_elog) 69{ 70 return -EOPNOTSUPP; 71} 72#endif 73 74/* PCI root bridge prepare function override for pseries */ 75struct pci_host_bridge; 76int pseries_root_bridge_prepare(struct pci_host_bridge *bridge); 77 78extern struct pci_controller_ops pseries_pci_controller_ops; 79 80unsigned long pseries_memory_block_size(void); 81 82extern int CMO_PrPSP; 83extern int CMO_SecPSP; 84extern unsigned long CMO_PageSize; 85 86static inline int cmo_get_primary_psp(void) 87{ 88 return CMO_PrPSP; 89} 90 91static inline int cmo_get_secondary_psp(void) 92{ 93 return CMO_SecPSP; 94} 95 96static inline unsigned long cmo_get_page_size(void) 97{ 98 return CMO_PageSize; 99} 100 101int dlpar_workqueue_init(void); 102 103#endif /* _PSERIES_PSERIES_H */