On Tue, Feb 24 23:49, Kevin Wolf wrote: > ! kernel2: Solange die Speicherbitmap nicht festgelegt ist, ist es nicht > besonders sinnvoll, sie als reserviert zurueckzugeben > ! kernel2: Die Speicherbitmap muss page-aligned sein > ! kernel2: Die Speicherbitmap darf direkt an einen belegten Bereich > anschliessen. Da end die naechste freie Adresse bezeichnet, ist > Gleichheit zwischen dem Ende des belegten Bereichs und Anfang der > Speicherbitmap auch erlaubt. > --- > src/kernel2/src/mm/phys.c | 34 ++++++++++++++++++++++++++++------ > 1 files changed, 28 insertions(+), 6 deletions(-) > > diff --git a/src/kernel2/src/mm/phys.c b/src/kernel2/src/mm/phys.c > index 9a68648..2f91ec8 100644 > --- a/src/kernel2/src/mm/phys.c > +++ b/src/kernel2/src/mm/phys.c > @@ -384,17 +393,29 @@ static struct mem_block get_free_block > ... > static struct mem_block get_reserved_block > - (struct multiboot_info* multiboot_info, size_t i) > + (struct multiboot_info* multiboot_info, size_t i, bool bitmap) > { > struct mem_block result; > > // Die Bitmap ist bereits zugewiesen, wenn diese Funktion aufgerufen wird Dieser Kommentar ist etwas verwirrend. ;-) > - if (i-- == 0) { > + if (bitmap && (i-- == 0)) { > result.start = pmm_bitmap; > result.end = pmm_bitmap + > ((pmm_bitmap_length / 8) * PMM_BITS_PER_ELEMENT); Sonst sieht das gut aus. Also rein damit. -- Antoine Kaufmann <toni@xxxxxxxxxxxxxxxx>
Attachment:
pgpS_3cvll6DS.pgp
Description: PGP signature