version 1.2, 2016/12/29 16:59:58
|
version 1.6, 2019/09/02 20:48:36
|
Line 7
|
Line 7
|
[[!template id=man name=uvm_hotplug section=9]] change. |
[[!template id=man name=uvm_hotplug section=9]] change. |
|
|
Early boot code of every port is affected. Global variables: |
Early boot code of every port is affected. Global variables: |
struct vm_physseg vm_physmem; |
|
int vm_nphysmem; |
struct vm_physseg vm_physmem; |
|
int vm_nphysmem; |
|
|
are no longer visible. They need to be replaced by appropriate |
are no longer visible. They need to be replaced by appropriate |
accessor calls in [[!template id=man name=uvm_hotplug section=9]] |
accessor calls in [[!template id=man name=uvm_hotplug section=9]] |
|
|
Line 16
|
Line 18
|
[[!template id=man name=uvm_hotplug section=9]] manual. |
[[!template id=man name=uvm_hotplug section=9]] manual. |
|
|
The "switchover" CVS commit log is here: |
The "switchover" CVS commit log is here: |
[http://mail-index.netbsd.org/source-changes/2016/12/23/msg080110.html](http://mail-index.netbsd.org/source-changes/2016/12/23/msg080110.html) |
<http://mail-index.netbsd.org/source-changes/2016/12/23/msg080110.html> |
|
|
2. What files may be affected? |
2. What files may be affected? |
|
|
In most of the architectures the "sys/arch/<arch_name>/<arch_name>/machdep.c" |
In most of the architectures the `sys/arch/<arch_name>/<arch_name>/machdep.c` |
and "sys/arch/<arch_name>/<arch_name>/pmap.c" if they exist are usually |
and `sys/arch/<arch_name>/<arch_name>/pmap.c` if they exist are usually |
affected. |
affected. |
|
|
But this may not be a exhaustive list. Any other files that deals with pmap and |
But this may not be a exhaustive list. Any other files that deals with pmap and |
Line 29
|
Line 31
|
|
|
3. What does it do ? |
3. What does it do ? |
|
|
[[!template id=man name=uvm_hotplug section=9]] manages the previously exposed "vm_physmem" static array which |
[[!template id=man name=uvm_hotplug section=9]] manages the previously exposed `vm_physmem` static array which |
used to keep track of the memory segments. |
used to keep track of the memory segments. |
|
|
In the current implementation, the array has been replaced with a |
In the current implementation, the array has been replaced with a |
Line 38
|
Line 40
|
|
|
An array based implementation is also provided, for backwards |
An array based implementation is also provided, for backwards |
compatibility. This is the default implementation and does not provide |
compatibility. This is the default implementation and does not provide |
hot pluggability. It is also used without 'options UVM_HOTPLUG' |
hot pluggability. It is also used without `options UVM_HOTPLUG` |
However the API itself is implementation agnostic. |
However the API itself is implementation agnostic. |
|
|
4. Why is it needed? |
4. Why is it needed? |
Line 60
|
Line 62
|
|
|
An example of [[!template id=man name=uvm_hotplug section=9]] api's |
An example of [[!template id=man name=uvm_hotplug section=9]] api's |
application can be found in |
application can be found in |
[[!template id=man name=balloon section=4]]. |
|
|
|
|
[[!template id=man name=balloon section=4]]. |