Ejemplo n.º 1
0
        public static void DumpPages(this IPageFrameAllocator allocator)
        {
            var sb = new StringBuffer();

            sb.Append("Allocator Dump of {0}. TotalPages={1} Free={2}", allocator.DebugName, allocator.TotalPages, allocator.FreePages);

            for (uint i = 0; i < allocator.TotalPages; i++)
            {
                var p = allocator.GetPageByIndex(i);
                if (i % 64 == 0)
                {
                    sb.Append("\nIndex={0} Page {1} at {2:X8}, PageStructAddr={3:X8}: ", i, allocator.GetPageNum(p), allocator.GetAddress(p), (uint)p);
                    sb.WriteTo(DeviceManager.Serial1);
                    sb.Clear();
                }
                sb.Append((int)p->Status);
                sb.WriteTo(DeviceManager.Serial1);
                sb.Clear();
            }
            DeviceManager.Serial1.Write('\n');
        }