[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Feedback from running 4.1.1 snapshot on FreeBSD 5.4
- To: hobbit (at) hswn.dk
- Subject: Feedback from running 4.1.1 snapshot on FreeBSD 5.4
- From: "Grilli, Laurent" <lgrilli (at) be.tiauto.com>
- Date: Thu, 18 Aug 2005 01:35:04 +0200
Hi all,
Forget the following :
3) hobbit client
freebsd-memory.c
We got a box with more than 4 GB of memory, the freebsd-memory.c is using
integer, so the value returned is wrong and negative on this box.
So I just modified the int to a long unsigned, and also the prinf statement,
now it works fine.
int main(int argc, char *argv[])
{
int hw_physmem[] = { CTL_HW, HW_PHYSMEM };
long unsigned physmem;
int hw_pagesize[] = { CTL_HW, HW_PAGESIZE };
int pagesize;
int vm_vmtotal[] = { CTL_VM, VM_METER };
struct vmtotal vmdata;
size_t len;
int result;
len = sizeof(physmem);
result = sysctl(hw_physmem, sizeof(hw_physmem) /
sizeof(*hw_physmem), &physmem, &len, NULL, 0);
if (result != 0) return 1;
len = sizeof(pagesize);
result = sysctl(hw_pagesize, sizeof(hw_pagesize) /
sizeof(*hw_pagesize), &pagesize, &len, NULL, 0);
if (result != 0) return 1;
len = sizeof(vmdata);
result = sysctl(vm_vmtotal, sizeof(vm_vmtotal) /
sizeof(*vm_vmtotal), &vmdata, &len, NULL, 0);
// printf("Pagesize:%d\n", pagesize);
printf("Total:%lu\n", (physmem / (1024 * 1024)));
printf("Free:%d\n", (pagesize / 1024)*(vmdata.t_free / 1024));
}
Thanks for this great product,
Laurent Grilli
The information contained in this transmission may contain privileged and
confidential information. It is intended only for the use of the
person(s) named above. If you are not the intended recipient, you are
hereby notified that any review, dissemination, distribution or
duplication of this communication is strictly prohibited. If you are not
the intended recipient, please contact the sender by reply email and
destroy all copies of the original message. This communication is from TI
Automotive.