Fix legacy arguments compatibility issue.
Fix memory break related with RAM preallocation.
Change-Id: Ia43f1367a8910f9bf52383ac703123c9998c2f06
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
int enable_yagl = 0;
int enable_spice = 0;
-static int _skin_argc;
-static char **_skin_argv;
-static int _qemu_argc;
-static char **_qemu_argv;
+int _skin_argc;
+char **_skin_argv;
+int _qemu_argc;
+char **_qemu_argv;
const char *get_log_path(void)
{
extern int enable_yagl;
extern int enable_spice;
-static int _skin_argc;
-static char **_skin_argv;
-static int _qemu_argc;
-static char **_qemu_argv;
+extern int _skin_argc;
+extern char **_skin_argv;
+extern int _qemu_argc;
+extern char **_qemu_argv;
static void set_bin_path(gchar * exec_argv)
{
#ifdef CONFIG_MARU
void *preallocated_ram_ptr = NULL;
+int preallocated_ram_size = -1;
#endif
/* alloc shared memory pages */
void *qemu_anon_ram_alloc(size_t size)
{
#ifdef CONFIG_MARU
- if (preallocated_ram_ptr) {
- return preallocated_ram_ptr;
+ if (size == preallocated_ram_size && preallocated_ram_ptr) {
+ void *ptr = preallocated_ram_ptr;
+ preallocated_ram_ptr = NULL;
+ preallocated_ram_size = -1;
+ return ptr;
}
#endif
size_t align = QEMU_VMALLOC_ALIGN;
#ifdef CONFIG_MARU
void *preallocated_ram_ptr = NULL;
+int preallocated_ram_size = -1;
#endif
void *qemu_anon_ram_alloc(size_t size)
{
has 64Kb granularity, but at least it guarantees us that the
memory is page aligned. */
#ifdef CONFIG_MARU
- if (preallocated_ram_ptr) {
- return preallocated_ram_ptr;
+ if (size == preallocated_ram_size && preallocated_ram_ptr) {
+ void *ptr = preallocated_ram_ptr;
+ preallocated_ram_ptr = NULL;
+ preallocated_ram_size = -1;
+ return ptr;
}
#endif
ptr = VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);
// W/A for preserve larger continuous heap for RAM.
extern void *preallocated_ram_ptr;
+extern int preallocated_ram_size;
#endif
int main(int argc, char **argv, char **envp)
#if defined(CONFIG_MARU)
preallocated_ram_ptr = qemu_anon_ram_alloc(ram_size);
+ if (preallocated_ram_ptr) {
+ preallocated_ram_size = ram_size;
+ }
kernel_cmdline = qemu_opt_get(qemu_get_machine_opts(), "append");
// Returned variable points different address from input variable.