Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
5833f142
Commit
5833f142
authored
Oct 28, 2005
by
Tony Luck
Browse files
Options
Browse Files
Download
Plain Diff
Pull new-efi-memmap into release branch
parents
a1e78db3
d719948e
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
370 additions
and
193 deletions
+370
-193
arch/ia64/kernel/efi.c
arch/ia64/kernel/efi.c
+329
-181
arch/ia64/kernel/setup.c
arch/ia64/kernel/setup.c
+32
-0
arch/ia64/kernel/uncached.c
arch/ia64/kernel/uncached.c
+6
-11
include/asm-ia64/meminit.h
include/asm-ia64/meminit.h
+3
-1
No files found.
arch/ia64/kernel/efi.c
View file @
5833f142
This diff is collapsed.
Click to expand it.
arch/ia64/kernel/setup.c
View file @
5833f142
...
...
@@ -78,6 +78,19 @@ struct screen_info screen_info;
unsigned
long
vga_console_iobase
;
unsigned
long
vga_console_membase
;
static
struct
resource
data_resource
=
{
.
name
=
"Kernel data"
,
.
flags
=
IORESOURCE_BUSY
|
IORESOURCE_MEM
};
static
struct
resource
code_resource
=
{
.
name
=
"Kernel code"
,
.
flags
=
IORESOURCE_BUSY
|
IORESOURCE_MEM
};
extern
void
efi_initialize_iomem_resources
(
struct
resource
*
,
struct
resource
*
);
extern
char
_text
[],
_end
[],
_etext
[];
unsigned
long
ia64_max_cacheline_size
;
unsigned
long
ia64_iobase
;
/* virtual address for I/O accesses */
EXPORT_SYMBOL
(
ia64_iobase
);
...
...
@@ -171,6 +184,22 @@ sort_regions (struct rsvd_region *rsvd_region, int max)
}
}
/*
* Request address space for all standard resources
*/
static
int
__init
register_memory
(
void
)
{
code_resource
.
start
=
ia64_tpa
(
_text
);
code_resource
.
end
=
ia64_tpa
(
_etext
)
-
1
;
data_resource
.
start
=
ia64_tpa
(
_etext
);
data_resource
.
end
=
ia64_tpa
(
_end
)
-
1
;
efi_initialize_iomem_resources
(
&
code_resource
,
&
data_resource
);
return
0
;
}
__initcall
(
register_memory
);
/**
* reserve_memory - setup reserved memory areas
*
...
...
@@ -211,6 +240,9 @@ reserve_memory (void)
}
#endif
efi_memmap_init
(
&
rsvd_region
[
n
].
start
,
&
rsvd_region
[
n
].
end
);
n
++
;
/* end of memory marker */
rsvd_region
[
n
].
start
=
~
0UL
;
rsvd_region
[
n
].
end
=
~
0UL
;
...
...
arch/ia64/kernel/uncached.c
View file @
5833f142
...
...
@@ -205,23 +205,18 @@ EXPORT_SYMBOL(uncached_free_page);
static
int
__init
uncached_build_memmap
(
unsigned
long
start
,
unsigned
long
end
,
void
*
arg
)
{
long
length
;
unsigned
long
vstart
,
vend
;
long
length
=
end
-
start
;
int
node
;
length
=
end
-
start
;
vstart
=
start
+
__IA64_UNCACHED_OFFSET
;
vend
=
end
+
__IA64_UNCACHED_OFFSET
;
dprintk
(
KERN_ERR
"uncached_build_memmap(%lx %lx)
\n
"
,
start
,
end
);
memset
((
char
*
)
v
start
,
0
,
length
);
memset
((
char
*
)
start
,
0
,
length
);
node
=
paddr_to_nid
(
start
);
node
=
paddr_to_nid
(
start
-
__IA64_UNCACHED_OFFSET
);
for
(;
vstart
<
vend
;
v
start
+=
PAGE_SIZE
)
{
dprintk
(
KERN_INFO
"sticking %lx into the pool!
\n
"
,
v
start
);
gen_pool_free
(
uncached_pool
[
node
],
v
start
,
PAGE_SIZE
);
for
(;
start
<
end
;
start
+=
PAGE_SIZE
)
{
dprintk
(
KERN_INFO
"sticking %lx into the pool!
\n
"
,
start
);
gen_pool_free
(
uncached_pool
[
node
],
start
,
PAGE_SIZE
);
}
return
0
;
...
...
include/asm-ia64/meminit.h
View file @
5833f142
...
...
@@ -16,10 +16,11 @@
* - initrd (optional)
* - command line string
* - kernel code & data
* - Kernel memory map built from EFI memory map
*
* More could be added if necessary
*/
#define IA64_MAX_RSVD_REGIONS
5
#define IA64_MAX_RSVD_REGIONS
6
struct
rsvd_region
{
unsigned
long
start
;
/* virtual address of beginning of element */
...
...
@@ -33,6 +34,7 @@ extern void find_memory (void);
extern
void
reserve_memory
(
void
);
extern
void
find_initrd
(
void
);
extern
int
filter_rsvd_memory
(
unsigned
long
start
,
unsigned
long
end
,
void
*
arg
);
extern
void
efi_memmap_init
(
unsigned
long
*
,
unsigned
long
*
);
/*
* For rounding an address to the next IA64_GRANULE_SIZE or order
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment