3
* GRUB -- GRand Unified Bootloader
4
* Copyright (C) 2009 Free Software Foundation, Inc.
6
* GRUB is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
11
* GRUB is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
20
#include <grub/symbol.h>
22
#define DS(x) ((x) - LOCAL (segstart))
25
VARIABLE(grub_machine_mmaphook_start)
27
VARIABLE(grub_machine_mmaphook_int12)
31
movw DS (LOCAL (kblow)), %ax
35
VARIABLE(grub_machine_mmaphook_int15)
46
VARIABLE (grub_machine_mmaphook_int15offset)
48
VARIABLE (grub_machine_mmaphook_int15segment)
56
movw DS (LOCAL (kbin16mb)), %ax
57
movw DS (LOCAL (m64kbin4gb)), %bx
69
movw DS (LOCAL (kbin16mb)), %ax
81
cmpw DS (LOCAL (mmap_num)), %bx
88
movw $(DS(LOCAL (mmaphook_mmap))), %si
97
cmpw DS(LOCAL (mmap_num)), %bx
101
mov $0x534d4150, %eax
106
mov $0x534d4150, %eax
118
VARIABLE(grub_machine_mmaphook_mmap_num)
121
VARIABLE(grub_machine_mmaphook_kblow)
124
VARIABLE (grub_machine_mmaphook_kbin16mb)
127
VARIABLE (grub_machine_mmaphook_64kbin4gb)
130
LOCAL (mmaphook_mmap):
131
/* Memory map is placed just after the interrupt handlers. */
132
VARIABLE(grub_machine_mmaphook_end)