2 * This file is part of the bayou project.
4 * Copyright (C) 2008 Advanced Micro Devices, Inc.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23 #include <libpayload.h>
25 #define BAYOU_MAX_ENTRIES 10
43 #define BPT_ID 0x30545042
44 #define BPT_TYPE_CHOOSER 0x01
45 #define BPT_TYPE_CHAIN 0x02
46 #define BPT_TYPE_SUBCHAIN 0x03
48 #define BPT_FLAG_DEFAULT 0x01
49 #define BPT_FLAG_NOSHOW 0x02
59 struct bpt_pentry pentry;
62 char *params[BAYOU_PARAMS_COUNT];
68 struct payload entries[BAYOU_MAX_ENTRIES];
71 extern struct bayoucfg bayoucfg;
73 int verify_self(u8 *ptr);
74 int self_get_params(u8 *fptr, u8 **params);
75 int self_load_and_run(struct payload *p, int *ret);
79 void run_payload(struct payload *p);
80 char *payload_get_name(struct payload *p);
81 struct payload *payload_get_default(void);
82 void run_payload_timeout(struct payload *p, int timeout);
83 void payload_parse_params(struct payload *pload, u8 *params, int len);
85 int get_configuration(struct LAR *lar);