xref: /openbmc/hiomapd/test/reset_state.c (revision 26558dbb)
14fe996c2SAndrew Jeffery // SPDX-License-Identifier: Apache-2.0
24fe996c2SAndrew Jeffery // Copyright (C) 2018 IBM Corp.
316be9f6cSAndrew Jeffery 
416be9f6cSAndrew Jeffery #include <assert.h>
516be9f6cSAndrew Jeffery 
6*26558dbbSAndrew Jeffery #include "mboxd.h"
7457a6e5fSAndrew Jeffery #include "transport_mbox.h"
816be9f6cSAndrew Jeffery 
916be9f6cSAndrew Jeffery #include "test/mbox.h"
1016be9f6cSAndrew Jeffery #include "test/system.h"
1116be9f6cSAndrew Jeffery 
1216be9f6cSAndrew Jeffery static const uint8_t get_mbox_info[] = {
1316be9f6cSAndrew Jeffery 	0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
1416be9f6cSAndrew Jeffery 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1516be9f6cSAndrew Jeffery };
1616be9f6cSAndrew Jeffery 
1716be9f6cSAndrew Jeffery static const uint8_t reset_state[] = {
1816be9f6cSAndrew Jeffery 	0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1916be9f6cSAndrew Jeffery 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2016be9f6cSAndrew Jeffery };
2116be9f6cSAndrew Jeffery 
2216be9f6cSAndrew Jeffery static const uint8_t response[] = {
2316be9f6cSAndrew Jeffery 	0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2416be9f6cSAndrew Jeffery 	0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
2516be9f6cSAndrew Jeffery };
2616be9f6cSAndrew Jeffery 
2716be9f6cSAndrew Jeffery #define MEM_SIZE	3
2816be9f6cSAndrew Jeffery #define ERASE_SIZE	1
2916be9f6cSAndrew Jeffery #define N_WINDOWS	1
3016be9f6cSAndrew Jeffery #define WINDOW_SIZE	1
3116be9f6cSAndrew Jeffery 
main(void)3216be9f6cSAndrew Jeffery int main(void)
3316be9f6cSAndrew Jeffery {
3416be9f6cSAndrew Jeffery 	struct mbox_context *ctx;
3516be9f6cSAndrew Jeffery 	int rc;
3616be9f6cSAndrew Jeffery 
3716be9f6cSAndrew Jeffery 	system_set_reserved_size(MEM_SIZE);
3816be9f6cSAndrew Jeffery 	system_set_mtd_sizes(MEM_SIZE, ERASE_SIZE);
3916be9f6cSAndrew Jeffery 
4016be9f6cSAndrew Jeffery 	ctx = mbox_create_test_context(N_WINDOWS, WINDOW_SIZE);
4116be9f6cSAndrew Jeffery 
4216be9f6cSAndrew Jeffery 	rc = mbox_command_dispatch(ctx, get_mbox_info, sizeof(get_mbox_info));
4316be9f6cSAndrew Jeffery 	assert(rc == 1);
4416be9f6cSAndrew Jeffery 
4516be9f6cSAndrew Jeffery 	rc = mbox_command_dispatch(ctx, reset_state, sizeof(reset_state));
4616be9f6cSAndrew Jeffery 	assert(rc == 1);
4716be9f6cSAndrew Jeffery 
4816be9f6cSAndrew Jeffery 	rc = mbox_cmp(ctx, response, sizeof(response));
4916be9f6cSAndrew Jeffery 	assert(rc == 0);
5016be9f6cSAndrew Jeffery 
5116be9f6cSAndrew Jeffery 	return rc;
5216be9f6cSAndrew Jeffery }
53