1 /****************************************************************************** 2 * Copyright (c) 2004, 2008 IBM Corporation 3 * 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: 9 * 10 * Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 13 * Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer 15 * in the documentation and/or other materials provided with the 16 * distribution. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 * 30 * Contributors: 31 * IBM Corporation - initial implementation 32 *****************************************************************************/ 33 34 #ifndef RTAS_H 35 #define RTAS_H 36 37 #include "of.h" 38 39 typedef struct dtime { 40 unsigned int year; 41 unsigned int month; 42 unsigned int day; 43 unsigned int hour; 44 unsigned int minute; 45 unsigned int second; 46 unsigned int nano; 47 } dtime; 48 49 typedef void (*thread_t) (int); 50 51 int rtas_token(const char *); 52 int rtas_call(int, int, int, int *, ...); 53 void rtas_init(void); 54 int rtas_pci_config_read (long long, int, int, int, int); 55 int rtas_pci_config_write (long long, int, int, int, int, int); 56 int rtas_set_time_of_day(dtime *); 57 int rtas_get_time_of_day(dtime *); 58 int rtas_ibm_update_flash_64(long long, long long); 59 int rtas_ibm_update_flash_64_and_reboot(long long, long long); 60 int rtas_system_reboot(void); 61 int rtas_start_cpu (int, thread_t, int); 62 int rtas_stop_self (void); 63 int rtas_ibm_manage_flash(int); 64 65 #endif 66