~ubuntu-branches/ubuntu/trusty/grub2/trusty-updates

« back to all changes in this revision

Viewing changes to grub-core/efiemu/loadcore_common.c

  • Committer: Package Import Robot
  • Author(s): Colin Watson
  • Date: 2012-09-13 18:02:04 UTC
  • mfrom: (1.17.15 upstream)
  • mto: (17.6.27 experimental)
  • mto: This revision was merged to the branch mainline in revision 145.
  • Revision ID: package-import@ubuntu.com-20120913180204-mojnmocbimlom4im
Tags: upstream-2.00
ImportĀ upstreamĀ versionĀ 2.00

Show diffs side-by-side

added added

removed removed

Lines of Context:
111
111
 
112
112
/* Load runtime file and do some initial preparations */
113
113
grub_err_t
114
 
grub_efiemu_loadcore_init (grub_file_t file)
 
114
grub_efiemu_loadcore_init (grub_file_t file,
 
115
                           const char *filename)
115
116
{
116
117
  grub_err_t err;
117
118
 
140
141
  switch (grub_efiemu_mode)
141
142
    {
142
143
    case GRUB_EFIEMU32:
143
 
      if ((err = grub_efiemu_loadcore_init32 (efiemu_core, efiemu_core_size,
144
 
                                              &efiemu_segments)))
 
144
      err = grub_efiemu_loadcore_init32 (efiemu_core, filename,
 
145
                                         efiemu_core_size,
 
146
                                         &efiemu_segments);
 
147
      if (err)
145
148
        {
146
149
          grub_free (efiemu_core);
147
150
          efiemu_core = 0;
151
154
      break;
152
155
 
153
156
    case GRUB_EFIEMU64:
154
 
      if ((err = grub_efiemu_loadcore_init64 (efiemu_core, efiemu_core_size,
155
 
                                              &efiemu_segments)))
 
157
      err = grub_efiemu_loadcore_init64 (efiemu_core, filename,
 
158
                                         efiemu_core_size,
 
159
                                         &efiemu_segments);
 
160
      if (err)
156
161
        {
157
162
          grub_free (efiemu_core);
158
163
          efiemu_core = 0;
162
167
      break;
163
168
 
164
169
    default:
165
 
      return grub_error (GRUB_ERR_BAD_OS, "unknown EFI runtime");
 
170
      return grub_error (GRUB_ERR_BUG, "unknown EFI runtime");
166
171
    }
167
172
  return GRUB_ERR_NONE;
168
173
}
174
179
  switch (grub_efiemu_mode)
175
180
    {
176
181
    case GRUB_EFIEMU32:
177
 
      if ((err = grub_efiemu_loadcore_load32 (efiemu_core, efiemu_core_size,
178
 
                                              efiemu_segments)))
179
 
          grub_efiemu_loadcore_unload ();
 
182
      err = grub_efiemu_loadcore_load32 (efiemu_core, efiemu_core_size,
 
183
                                         efiemu_segments);
 
184
      if (err)
 
185
        grub_efiemu_loadcore_unload ();
180
186
      return err;
181
187
    case GRUB_EFIEMU64:
182
 
      if ((err = grub_efiemu_loadcore_load64 (efiemu_core, efiemu_core_size,
183
 
                                              efiemu_segments)))
184
 
          grub_efiemu_loadcore_unload ();
 
188
      err = grub_efiemu_loadcore_load64 (efiemu_core, efiemu_core_size,
 
189
                                         efiemu_segments);
 
190
      if (err)
 
191
        grub_efiemu_loadcore_unload ();
185
192
      return err;
186
193
    default:
187
 
      return grub_error (GRUB_ERR_BAD_OS, "unknown EFI runtime");
 
194
      return grub_error (GRUB_ERR_BUG, "unknown EFI runtime");
188
195
    }
189
196
}