2 * hl_gw.h -- Hostlink gateway, low-level hostlink functions.
3 * This header should not be used directly, please use hl_api.h instead.
5 * Copyright (c) 2024 Synopsys Inc.
7 * The authors hereby grant permission to use, copy, modify, distribute,
8 * and license this software and its documentation for any purpose, provided
9 * that existing copyright notices are retained in all copies and that this
10 * notice is included verbatim in any distributions. No written agreement,
11 * license, or royalty fee is required for any of the authorized uses.
12 * Modifications to this software may be copyrighted by their authors
13 * and need not follow the licensing terms described here, provided that
14 * the new terms are clearly indicated on the first page of each file where
24 #include "hl_toolchain.h"
26 /* Get hostlink payload pointer and size available for using. */
27 volatile __uncached
void *_hl_payload (void);
29 /* Maximum amount of data that can be sent via hostlink in one message. */
30 uint32_t _hl_iochunk_size (void);
33 * How many bytes are available in the hostlink payload buffer.
34 * This may be bigger than iochunk size because hostlink payload also contains
35 * reserved space for service information.
37 uint32_t _hl_payload_left (volatile __uncached
void *p
);
39 /* Send and receive hostlink packet. */
40 void _hl_send (volatile __uncached
void *p
);
41 volatile __uncached
char *_hl_recv (void);
43 /* Mark target2host buffer as "No message here". */
44 void _hl_delete (void);
46 #endif /* !_HL_GW_H */