On Thu, Jun 24, 2010 at 4:20 PM, James C. McPherson <j...@opensolaris.org>wrote:

> On 25/06/10 07:56 AM, Anup pemmaiah wrote:
>
>> *Hi,
>>
>>
>> I am working on Opensolaris build128 (64bit)on a Intel system with 6GB
>> of memory. Out of
>> that, I would like to use first 1GB for solaris.
>>
>
> Why?


We are planning to use first 1GB for solaris and the remaining memory is
managed by a
kernel module to support some code that we are porting from another OS.


>
>
>  I have set
>> physmem=0x40000 as the
>> boot argument.
>>
>
> Not accepted as a boot argument. See boot(1m)
>
>
>
I am sorry for stating it incorrectly. I have set physmem as a property (-B
prop=val).


>  Kernel panics due to memory corruption. When I started debugging
>> in kmdb, I see most of the virtual addresses that are used in kernel
>> heap being
>> mapped to physical memory below 1GB, but some virtual addresses in the
>> kernel
>> heap are mapped to physical memory outside 1GB.
>>
>> For Eg. Kernel panic'd for memory corruption at ffffff00ca197100.
>>
>> [0]> ffffff00ca197100 ::vtop
>> virtual ffffff00ca197100 mapped to physical 40001100
>>
>> When I disabled segkpm, I noticed that the above virtual address
>> was mapped to physical memory below 1GB, but there were still
>> nearby virtual addresses mapped to physical memory above 1GB
>> (**40000000)**.
>>
>> Was curious,  along with physmem, should I be setting any other flags
>> to guarantee that kernel will not use physical memory outside first 1GB.
>>
>> Any comments will be greatly appreciated.
>>
>>
> There are comments here:
>
> http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/i86pc/os/startup.c#190
>
> which you should read.
>

I have gone through this file before and did not see any problem for setting
the available
physical memory to 1GB. There might be a good possibility that I would have
missed
something, if so, please let me know.


>
>
> What I'm very curious to know, however, is what problem
> you have which you think will be solved by doing what
> you describe above?
>
>
>
I don't have a solution and I am looking one for the above problem. As per
my understanding,
physmem puts a limit on the available physical memory that the solaris OS
can use. But,
in the above situation, some area of the kernel heap  is mapped to the
physical memory outside
the physmem limit. So, just wondering is it a bug or am I missing some
settings to restrict the
above mappings.

Thanks
Anup



>
> James C. McPherson
> --
> Senior Software Engineer, Solaris
> Oracle
> http://www.jmcp.homeunix.com/blog
>
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to