Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os by
export_table_exports.h
00001 /* 00002 * Copyright (c) 2016, ARM Limited, All Rights Reserved 00003 * SPDX-License-Identifier: Apache-2.0 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00006 * not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00013 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 #ifndef __UVISOR_API_EXPORT_TABLE_EXPORTS_H__ 00018 #define __UVISOR_API_EXPORT_TABLE_EXPORTS_H__ 00019 00020 #include "rt_OsEventObserver.h" 00021 #include "api/inc/pool_queue_exports.h" 00022 #include <stdint.h> 00023 00024 /* If this magic doesn't match what you get in a TUvisorExportTable, then you 00025 * didn't find a TUvisorExportTable and all bets are off as to what will be 00026 * contained in what you found. */ 00027 #define UVISOR_EXPORT_MAGIC 0x5C9411B4 00028 00029 /* This is the export table API version. If this version doesn't match what you 00030 * get in TUvisorExportTable, then you need a different header file to 00031 * understand the TUvisorExportTable. */ 00032 #define UVISOR_EXPORT_VERSION 0 00033 00034 typedef struct { 00035 /* magic and version must be present as the first two elements in this 00036 * table so that across various versions of the table layout, the table can 00037 * be interpreted correctly. */ 00038 uint32_t magic; 00039 uint32_t version; 00040 00041 OsEventObserver os_event_observer; 00042 00043 UvisorPoolTable pool; 00044 00045 /* This must be the last element of the table so that uvisor-input.S can 00046 * export the size statically. */ 00047 uint32_t size; 00048 } TUvisorExportTable; 00049 00050 static inline TUvisorExportTable const * uvisor_export_table(void) 00051 { 00052 /* Defined in uvisor-input.S */ 00053 extern uint32_t uvisor_config; 00054 extern uint32_t uvisor_export_table_size; 00055 00056 uintptr_t uvisor_config_addr = (uintptr_t) &uvisor_config; 00057 return (TUvisorExportTable *) (uvisor_config_addr - uvisor_export_table_size); 00058 } 00059 00060 #endif
Generated on Tue Jul 12 2022 13:15:49 by
1.7.2
