diff --git a/libcpu/aarch64/common/page.c b/libcpu/aarch64/common/page.c index d3c3779f81461a6c6e1971af99c25a573886d5a6..679160adeb982a914e8cee0951e28f1ab8978d2c 100644 --- a/libcpu/aarch64/common/page.c +++ b/libcpu/aarch64/common/page.c @@ -196,7 +196,7 @@ static int _pages_ref_get(struct page *p, uint32_t size_bits) static int _pages_free(struct page *p, uint32_t size_bits) { uint32_t level = size_bits; - uint32_t high = ARCH_ADDRESS_WIDTH_BITS - size_bits - 1; + uint32_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; struct page *buddy; RT_ASSERT(p->ref_cnt > 0); @@ -238,7 +238,7 @@ static struct page *_pages_alloc(uint32_t size_bits) else { uint32_t level; - uint32_t high = ARCH_ADDRESS_WIDTH_BITS - size_bits - 1; + uint32_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; for (level = size_bits + 1; level <= high; level++) { diff --git a/libcpu/arm/cortex-a/page.c b/libcpu/arm/cortex-a/page.c index f7e4ca2135c59a8137e4865d5402cc872d523951..720c65e358bb4977333cffbb8364971b2e1c77da 100644 --- a/libcpu/arm/cortex-a/page.c +++ b/libcpu/arm/cortex-a/page.c @@ -179,7 +179,7 @@ static void _pages_ref_inc(struct page *p, uint32_t size_bits) static int _pages_free(struct page *p, uint32_t size_bits) { uint32_t level = size_bits; - uint32_t high = ARCH_ADDRESS_WIDTH_BITS - size_bits - 1; + uint32_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; struct page *buddy; RT_ASSERT(p->ref_cnt > 0); @@ -221,7 +221,7 @@ static struct page *_pages_alloc(uint32_t size_bits) else { uint32_t level; - uint32_t high = ARCH_ADDRESS_WIDTH_BITS - size_bits - 1; + uint32_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; for (level = size_bits + 1; level <= high; level++) { diff --git a/libcpu/risc-v/t-head/c906/page.c b/libcpu/risc-v/t-head/c906/page.c index 6f8707f5f140204c435f217f3df241c830251981..9919285c69f1348473cec8d76e784a05e163f455 100644 --- a/libcpu/risc-v/t-head/c906/page.c +++ b/libcpu/risc-v/t-head/c906/page.c @@ -196,7 +196,7 @@ static int _pages_ref_get(struct page *p, uint32_t size_bits) static int _pages_free(struct page *p, uint32_t size_bits) { uint32_t level = size_bits; - uint32_t high = ARCH_ADDRESS_WIDTH_BITS - size_bits - 1; + uint32_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; struct page *buddy; RT_ASSERT(p->ref_cnt > 0); @@ -238,7 +238,7 @@ static struct page *_pages_alloc(uint32_t size_bits) else { uint32_t level; - uint32_t high = ARCH_ADDRESS_WIDTH_BITS - size_bits - 1; + uint32_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; for (level = size_bits + 1; level <= high; level++) { diff --git a/libcpu/risc-v/virt64/page.c b/libcpu/risc-v/virt64/page.c index 6f8707f5f140204c435f217f3df241c830251981..9919285c69f1348473cec8d76e784a05e163f455 100644 --- a/libcpu/risc-v/virt64/page.c +++ b/libcpu/risc-v/virt64/page.c @@ -196,7 +196,7 @@ static int _pages_ref_get(struct page *p, uint32_t size_bits) static int _pages_free(struct page *p, uint32_t size_bits) { uint32_t level = size_bits; - uint32_t high = ARCH_ADDRESS_WIDTH_BITS - size_bits - 1; + uint32_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; struct page *buddy; RT_ASSERT(p->ref_cnt > 0); @@ -238,7 +238,7 @@ static struct page *_pages_alloc(uint32_t size_bits) else { uint32_t level; - uint32_t high = ARCH_ADDRESS_WIDTH_BITS - size_bits - 1; + uint32_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; for (level = size_bits + 1; level <= high; level++) { diff --git a/libcpu/x86/i386/page.c b/libcpu/x86/i386/page.c index 487b835bd754c6db1b00801d130ff7e601bb1665..3d305c731c1d584339f38aa9c4b8ee8c67f1820d 100644 --- a/libcpu/x86/i386/page.c +++ b/libcpu/x86/i386/page.c @@ -292,7 +292,7 @@ static struct page *_pages_alloc(rt_size_t size_bits) static int _pages_free(struct page *p,rt_size_t size_bits) { rt_size_t level = size_bits; - rt_size_t high = ADDRESS_WIDTH_BITS - size_bits - 1; + rt_size_t high = ARCH_PAGE_LIST_SIZE - size_bits - 1; struct page *buddy; if (p->ref_cnt <= 0)