diff options
author | dfr <dfr@FreeBSD.org> | 2001-09-23 10:26:20 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2001-09-23 10:26:20 +0000 |
commit | a6f6159deaafb71e53ce475ad988c0df413ed872 (patch) | |
tree | 4bab34370e87a949ca9b5da66c416ca9d86fcaab /sys/ia64/include/sal.h | |
parent | 28287d86fce9a62fc773c31554342b154fd5af16 (diff) | |
download | FreeBSD-src-a6f6159deaafb71e53ce475ad988c0df413ed872.zip FreeBSD-src-a6f6159deaafb71e53ce475ad988c0df413ed872.tar.gz |
Add definitions of SAL System Table.
Diffstat (limited to 'sys/ia64/include/sal.h')
-rw-r--r-- | sys/ia64/include/sal.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/sys/ia64/include/sal.h b/sys/ia64/include/sal.h new file mode 100644 index 0000000..9bda9be --- /dev/null +++ b/sys/ia64/include/sal.h @@ -0,0 +1,98 @@ +/*- + * Copyright (c) 2001 Doug Rabson + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _MACHINE_SAL_H_ +#define _MACHINE_SAL_H_ + +struct sal_system_table { + char sal_signature[4]; + u_int32_t sal_length; + u_int8_t sal_rev[2]; + u_int16_t sal_entry_count; + u_int8_t sal_checksum; + u_int8_t sal_reserved1[7]; + u_int8_t sal_a_version[2]; + u_int8_t sal_b_version[2]; + char sal_oem_id[32]; + char sal_product_id[32]; + u_int8_t sal_reserved2[8]; +}; + +struct sal_entrypoint_descriptor { + u_int8_t sale_type; /* == 0 */ + u_int8_t sale_reserved1[7]; + u_int64_t sale_pal_proc; + u_int64_t sale_sal_proc; + u_int64_t sale_sal_gp; + u_int8_t sale_reserved2[16]; +}; + +struct sal_memory_descriptor { + u_int8_t sale_type; /* == 1 */ + u_int8_t sale_need_virtual; + u_int8_t sale_current_attribute; + u_int8_t sale_access_rights; + u_int8_t sale_supported_attributes; + u_int8_t sale_reserved1; + u_int8_t sale_memory_type[2]; + u_int64_t sale_physical_address; + u_int32_t sale_length; + u_int8_t sale_reserved2[12]; +}; + +struct sal_platform_descriptor { + u_int8_t sale_type; /* == 2 */ + u_int8_t sale_features; + u_int8_t sale_reserved[14]; +}; + +struct sal_tr_descriptor { + u_int8_t sale_type; /* == 3 */ + u_int8_t sale_register_type; + u_int8_t sale_register_number; + u_int8_t sale_reserved1[5]; + u_int64_t sale_virtual_address; + u_int64_t sale_page_size; + u_int8_t sale_reserved2[8]; +}; + +struct sal_ptc_cache_descriptor { + u_int8_t sale_type; /* == 4 */ + u_int8_t sale_reserved[3]; + u_int32_t sale_domains; + u_int64_t sale_address; +}; + +struct sal_ap_wakeup_descriptor { + u_int8_t sale_type; /* == 5 */ + u_int8_t sale_mechanism; + u_int8_t sale_reserved[6]; + u_int64_t sale_vector; +}; + +#endif /* _MACHINE_SAL_H_ */ |